Saturday, May 15, 2021

FMP Week 32 - May 15th - Final Unity Build, Animations, Portfolio Setup and Reflection

   FMP Week 32 - May 15th

Final Presentation, Final Unity Build & Animations, Project Reflection

William Marshall 


Intro

The project is now almost completely finished! Except for the final upload and handin, the majority of the project has been prepared, written up and placed into a Google Drive folder ready for review. This final blog post will take a look into some of the final parts that wrap up the project nicely.

Final Presentation Updates

As I mentioned in the previous Blog Post, I will be creating a final presentation to effectively demonstrate my entire working process and presentation skills. Rather than being completed in Google Slides, I have moved the entire process to Adobe Premiere Pro, which has several features that make the presentation a little more interesting, such as:
  • Transitions & Effects
  • Media Storage
  • Audio/Media Editing
  • Quick Rendering Formats
Everything that was mentioned last week applies to this section here, except for the fact that I have made transitions between images/scenes a lot smoother, as well as an interactive 1-minute intro that shows all of the completed pieces without any voiceover from me, so that my tutors will be able to see my final product - and then learn the workflow by listening to the next 20 minutes of content.

I used Youtube Studio's Audio Library to find appropriate Copyright Free music, which I put on a loop for the entire presentation, in order to make the presentation more lively and interesting.

ArtStation Uploading

In preparation for the final upload, I have created three projects on ArtStation for my Portfolio, which showcase each mech and all of the media associated with it. Each of these uploads is made up of:
  • Presentation Video - Youtube
  • Beauty Renders - Marmoset
  • Initial Concepts
  • Turnaround/Blueprints
  • Research
  • Specification
  • Interactive Viewer - Marmoset/Sketchfab
  • Texture Variations
Each of these parts ensures that the viewer can gain the maximum amount of insight into how my mechs were created, without needing a lot of text to explain everything. 

I wanted the viewer to view the presentation video and beauty renders first, so that they could see my final product - and then be more intrigued into my workflow, hence why I added sequential things like my concepts, turnaround, research and specification in that order. When they had the entire workflow, the interactive viewer allows them to inspect the wireframe and textures personally.

I'm very much looking forward to releasing these on ArtStation on the 17th of May!

Final Animations

This video fully demonstrates my final build in a short amount of time, as this was the clip that I used in my Final Presentation when I had a strict timeframe to work with.

The main aim for this video was to show off each of the unique textures, have the camera complete an entire 360 degree angle, as well as show off each of the animations that were present, to prove that they all had sounds.

Since the previous update to my animations in April, I have included the feedback that I received from Iain Douglas and Rob Lambert, paying close attention to making the animations as weighty as possible, as well as increasing the impact of certain steps - to demonstrate the weight and hydraulics of these Mechs. Additionally, I added some engine sounds to each of the mechs, some muzzle flashes whenever a firing animation is played and added sound to every single animation.

Personally, I'm very proud of these animations - considering I've never animated at this advanced level before. Each of them are more improved than the last time - and the particle effect helps the firing seem more interesting!

Sound Gathering & Editing

Gathering useful and varied sounds has been a previously-unmentioned part of this project. I have been using Freesound.org to acquire copyright-free sounds from various artists which I have credited in the Sounds folder of my final upload.

Each of these sounds were downloaded and placed into Audacity, where I edited their pitches, volumes, speeds, reverb etc until they suited the idea that I was going for with some of my sounds. These were then exported into Unity as WAV files and placed into the appropriate animation event, being triggered when the event was activated.

Final Reflective Parts






One key part of the Final Presentation was reflecting on specific aspects of the projection with some hindsight. In the presentation, I explain:

  • Difficulties Encountered
  • What I learnt from the project
  • If I had the chance tor re-do the project, what would I have done differently?
These questions gave me the opportunity to expand on some of my cut/incompleted content, showing that my project has developed naturally over time.

Final Presentation Videos



Finally, I spent some time creating some immersive videos to show off the final versions of my Mechs. I used Audacity to edit my voice - as well as Lucy Bryant, a fellow Game Art student - to sound like an AI Robot, overlaying and echoing my voice to fit that AI stereotype. A short script was written up, with each of these videos being around 70 seconds long.

The main aim for these videos was to act like a military introduction video, where the AI introduces the main battlefield role, the weapons, the main features of the Mech and gives it a rating based on the Armour, Firepower and Speed. 



Tuesday, April 27, 2021

FMP Week 30 - April 27th - Final Presentation and Feedback

  FMP Week 30 - April 27th

Final Presentation, Professional Feedback & Additional Sounds

William Marshall 


Intro

We're reaching the very end of the project, necessitating the need to create a Final Presentation to showcase the entirety of my project to my tutors, as well as polishing up the rest of my project to look as presentable as possible. 

Final Presentation

In order to demonstrate that I have effectively planned, organized and developed my project over the course of the last few months, I was required to produce a presentation that demonstrated these aspects in detail. 

Usually, this presentation would be delivered in person with formal attire. However, due to the COVID-19 crisis, this presentation has been moved online with a pre-recorded video instead. 


The presentation is broken down into five different sections that showcase different aspects of production:

1. Project Breakdown - breaking down your concept for your audience, your 'pitch', elements of your projects, unique aspects and any changes that occurred between your original idea.

2. Project Planning - concept arts and designs, blueprints, any references that were used for inspiration/ideas, all of the research completed and project management techniques, such as agile management and gantt charts. 

3. Workflow - demonstrating your workflow from start-to-finish, with pictures and supporting text to help explain to the audience. 

4. Retrospective Analysis - reviewing your project after the completion, what would be done differently? What went well/badly? What was learnt?

5. Final Presentation - demonstrating the final products, breakdowns and final renders of each part.

With this guideline, I was able to produce 50 slides in total, all of which answered at least one of the questions above. From here, I will place a recording of myself voicing over my presentation in Adobe Premiere, where I can edit the audio and add music for a more professional feel.


Professional Feedback

In this last week, I had a review with my supervisor for this project - Iain Douglas, as well as another tutor, Rob Lambert. The main review was looking at the presentation in my game engine, as well as the animations that bring the Mechs to life. 

Getting this feedback was incredibly useful, as they were able to identify parts of my projects I hadn't even considered.


When I was given the feedback, I broke each suggestion into an 'easy' change and a 'hard' change, which helps me organize my time. Easy changes are quite small and simple to complete, whereas Hard changes would produce greater results, but take longer to do. 

Next Blog Post - 11th May

With all of my sounds and animations being set up properly in engine, I just need to complete all of the required sounds and particles, as well as polish up the project to make it look as nice as possible.

For the next blog post, I will be demonstrating these things:
  • Animation Improvements (Based on feedback)
  • Rendering
  • Polishing





Tuesday, April 13, 2021

FMP Week 28 - April 13th - Sound, Presentation and Animation Implementation

 FMP Week 28 - April 13th

Sound, Presentation & Animation Engine Implementation

William Marshall 


Intro

The animations that were being worked on last week have been ported into Unity, which allows me to demonstrate my models and some functionality!

Presentation


This is a breakdown of how my scene currently looks in Unity. It is broken up into three different scenes, which accommodate the Rotary, Haytham and Ranger respectively. Each of them have their own unique material selections - which I added to add some variety to my models. This is done by selecting the forward/back buttons, which will cycle between four different materials per model, which also loads their own thematic name for the material.

In order to demonstrate the animation work for this project, I assigned each animation to a specific button, which will play the designated animation and any sound effects alongside it. In the next sections, I will show how this is all set up technically.

Animation Implementations


As I mentioned last week, the animations for each Mech were created on a single timeline. When they were imported into Unity, I was able to slice up that timeline into separate animation clips, which saved a lot of time manually separating each clip in 3dsMax.

Splitting up each clip also allowed me to see if the animation looped and displayed properly, which was another advantage.


However, in order to get the animations to work properly, I had to use the Animation Controller system to determine which animation was being played. In the screenshot above, you can see how I set up this system. Each animation state transitions to the other states with true/false statements, meaning that regardless of which animation is being played, any other button selection will allow the new animation to play. 

Booleans were used for the true/false statements, with simple transitions like 'Missile', 'Walking', 'Drop' and 'DualFiring' used as designations so I knew exactly which state they related to.


With the animation states set up properly, it required some scripting to trigger when the transitions were being called. For example, if 'Missile' was being called, it would turn all the other booleans into a False state, which would mean that the Missile animation state would be called - resulting in the Mech playing the Missile Firing animation. 

This script was then applied to the buttons in the scene, as well as the models of the Mechs themselves.

Sounds & Setup

In order to sync up the sounds with the animations that were being played, some scripting and sound design was required. I gathered some basic sounds from Freesound.org, which hosts copyright-free sounds and music clips that are created by individual artists, as long as they are credited. Using Audacity, I was able to improve and re-make the sounds I gathered to suit my own purposes. They were then exported as .WAV's into Unity.


In the script that determined the animation states from earlier, I was able to insert some references to Audioclips that would be called when certain conditions were met. For example, if the 'RotarySpinUp' event was called, it would identify the SpinUp soundclip and play an instance of that particular sound.


Using the events that were called in the script mentioned above, I returned back to the animation window of the imported model. Below the animation frames is a section called 'Events', where I was able to insert references to the statements in the script, such as 'MinigunPew' when the Firing Animation was called. Additionally, I could place these events wherever I wanted on the timeline, which meant I could determine when the sound was played in the animation.


Finally, I inserted the sounds into the correct sections, so that these specific sound clips would play when their event was called using the script. 


This video shows a live demonstration of this in action!

Next Blog Post - 27th April

With all of my sounds and animations being set up properly in engine, I just need to complete all of the required sounds and particles, as well as polish up the project to make it look as nice as possible.

For the next blog post, I will be demonstrating these things:
  • Animation Improvements (Based on feedback)
  • Rendering
  • Polishing


Tuesday, March 30, 2021

FMP Week 27 - March 30th - Rigging & Animations

  FMP Week 27 - March 30th

Rigging & Animations

William Marshall 


Intro

With all of my Mechs fully modelled and textured, this point in the project revolves around animation and rigging, which allows the Mechs to be brought to life via movements.

Ranger Improvements & Changes


I received some feedback from my project supervisor, who recommended that I attach things like crates, bags, tools, parts & equipment to the hull of the Ranger, to make it seem more versatile and act similarly to a modern tank, which is also responsible for carrying large loads of equipment.

Following these ideas, I attached fuel canisters, road-clearing tools (pickaxe, fireaxe) and two large crates to the hull, which were all supported by hooks that were bolted directly to the lower half of the Ranger, meaning that they could swing around freely, but would not detach unless carefully removed by the pilot/crew.

After I attached these objects, I also placed special bones on the rig that would enable me to manipulate each tool, to show that they would swing around during certain animations, rather than remaining rigid.

Rigging & Skinning

Ranger

Rigging the Ranger used a standard 3dsMax CAT Rig, just with a increased number of legs. I started off with the 'hub' in the very middle, which dictated the movement of the lower body, as well as being the point that all the other bones would come out of. The upper body was placed on top, which controlled the turret rotation.

For the legs, I created one of the legs (the front left) by using three leg bones, a foot and a foot controller (for animation purposes). This was then duplicated around the central point, which created the 4 identical leg bones that would allow my Ranger to move properly.

Finally, as I mentioned above - the special bones for the tools were placed near the central point. I ensured that all of these bones had correct rotations/positioning before finalising the rig, as I would encounter difficulties with animation otherwise.


Similarly, rigging the Haytham used a CAT Rig that followed a much more humanoid structure, having two arms and two legs. The main hub for this Rig was the hips, as the legs, upper torso and arms could all flow from this central point.

Same as before, I created one of the legs before duplicating it, which would mean that the legs were symmetrical and would perform well during animation. This process of duplication was also used for the arms, although the lengths varied due to the weapons being different on each arm.

For more specialized bones, I added a bone for the frontal hatch, missile launcher and minigun, as these could all be rotated and moved during my planned animation process.


Skinning was quite simple for these models, as all of these were hard-surface objects. This meant that there was no deformation of the mesh during the animations, meaning that I could skin by assigning 100% of the intended piece to a single bone. For example, I was able to assign 100% of the turret pieces (such as the main barrel, armour boxes, antenna, etc) to the upper body bone, which would then rotate on a 360 axis when that bone was rotated.

This process was completed across both models without taking too much time!

Animations

Ranger


The Ranger had five planned animations, which were as follows:

Shooting (Firing the main gun, strong recoil due to the force of the shot)
Walking (Mechanical walk similar to a spider, the front and rear legs will move in diagonal unison)
Idle (The main turret will casually look in different directions, as if scouting)
Alert (The crew spotted something and attempt to angle the Ranger to get a better look, using the strong legs to push the chassis upwards)
Dropping (Simulating the Ranger being dropped from orbit directly onto the battlefield)

Haytham


The Haytham's animations were similar to the Rangers, but with a few differences:

Minigun Shooting (The Haytham roots itself into the ground, before firing a short burst from the Minigun after it spins up)
Flak Gun Shooting (The Haytham roots itself, before firing two strong shots from the Flak Gun, producing some strong recoil)
Walking (Due to being a Skirmish vehicle, the Haytham has a quicker and more agile walk than the Ranger)
Orbital Drop (Simulating the Haytham being dropped from orbit, the legs absorb the impact)
Embarking (The Haytham powers down, sinking to a fixed position closer to the ground, the main hatch will swing open to allow the pilot to enter easily.)

For each Mech, each of the animations were completed on a single timeline, leaving 10 frames or so between each animation so that the starting positions could be updated. The reason for this is Unity, as importing the animations is much easier if they share a single timeline, as the timeline can simply be sliced up into 5 different animations, as long as I keep track of when each animation starts and ends.

Next Blog Post - 13th April

For my next blog post, I will be working on these topics:
  • Presentation Improvements
  • Further Animations & Refinement
  • Final Presentation Planning


Tuesday, March 16, 2021

FMP Week 25 - March 16th - The Ranger & Haytham

  FMP Week 25 - March 16th

Ranger Creation (Mech #3) & Haytham Texturing

William Marshall


Blog
Now that I'm nearing the end of this project, I've been pushing to get all of my Mechs textured and modelled, ready for animation & feedback. My Third Mech is called the Ranger, which has a different role compared to the Haytham and Rotary, being a long-range variant that is heavily inspired by modern tanks and sci-fi drones. 

The intended role for the Ranger is a long-range artillery piece designed to penetrate enemy armour, much like the role of a modern tank. Additionally, the spider-like construction also allows the Ranger to scale difficult terrain and 'cling' to a larger variety of surfaces, making it more maneuverable than a tread/tire-based vehicle.

Ranger Design
My Design:

Early on in September 2020, I created these 4-legged designs to add some variation to the rest of my silhouettes. When I was considering which Mech to create for my 3rd slot, I decided to incorporate these 4-legged concepts so that the 3rd was more unique and varied. Originally named the 'Scorpius', I decided to incorporate elements from Drillwyrm, E-77 Reaver and Knifedge. The most unique trait was going to be the Scorpion tail from the Drillwyrm, which would be able to fire in a 180-degree arc around the front of the vehicle, most likely some sort of anti-infantry weapon due to the flexibility.

Milanote References:

Star Wars - Spider Droid

Ghost in the Shell - Spider Tank



Modelling
Modelling the Ranger combined elements from the Rotary and Haytham, as it combined both boxy and cylindrical shape design. The main turret/body was constructed by using various tank references, taking into account the slim & curved profile to deflect enemy projectiles. Once the main body was constructed, I was able to create the legs by using a four-boned structure to ensure stability and ease of movement, before using the symmetry tool to place them at 90-degree angles around the lower body so that everything looked symmetrical.

One of my early concepts had a cockpit with two pilot positions, as the first seat would have been for movement and primary controls, with the second seat controlling the weapons on the front and tail. However, when I scrapped the idea of the scorpion tail, it didn't seem necessary to have the two seats, so I converted it into the tank-on-legs concept that you see now.

The entirety of the model was made within 2-3 days, due to the tank construction being the main 'body' of the piece and the legs being duplicated around the mesh. 

Unwrapping


Due to the Ranger having fewer pieces than the Rotary and Haytham, I was able to condense the model into two texture sets, rather than the three I had for the previous two Mechs. If any upgrades or additional pieces were added to the mesh, I'd be able to incorporate those into a third texture set if necessary. 

Any pieces relating to the legs were overlayed on top of each other in the map, increasing the overall resolution, as four copies were effectively combined into one. This also happened for any instances/copied objects, in order to maximize the visual quality. 

Ranger Texturing

When it came to texturing the Ranger, I decided to incorporate ideas from both the Rotary (Camo & Metal) and Haytham (Armour boxes, Curvature, Unique Markings) to get the best of both worlds. I painted the outer layers of the Ranger with camouflage appropriate to certain environments, such as snow and desert. The inner layers were given a standard grey metallic appearance, to ensure that there was a clear 'Primary' and 'Secondary' colour in the scene. The third colour was applied to the armoured boxes on the exterior of the body (to absorb impacts and act as composite armour). 

I also made heavy usage of paintable layers and hard-surface normals to achieve the illusion of greater detail in the mesh. This included things like painted decals, insignia, arrows, hatches and switches. Without them, the Mesh would look a lot more basic and far less interesting.

Haytham Texturing

Last week, I presented the Haytham and some basic texturing for it. Afterwards, I went on to create several variations (much like the Rotary) that would be used in different situations. For instance,

Brown/Black - Stealth Missions, 'Vintage' look, Low-Key
Green/White - Biohazard, Radioactive, Sports
Original Green/Orange - Factory New, Urban Combat
White/Blue - Snow, Blizzards, Storms, High-Altitude

Creating these variations and thinking of their intended purpose gave a greater context to each of the textures, which I enjoyed doing. 

Engine Work & Transitions

Once I had combined all of the varied models and materials and set them up in my engine (using the mockups and inspirations I had created previously), I've been able to showcase the current state of my project more effectively, as I now have some interactivity in my scene, as well as a unique transition which helps everything flow better and feel smoother. These transitions were set up by animations which had a 'Fade In' and 'Fade Out' trigger dependant on whether the scene was being loaded or opened for the first time. The buttons themselves simply changed the scene over with a delay of 1 second to demonstrate the transition working, using simple C# code. 

Next Blog Post - 30th March

By the time of my next blog post, I will be working on these:

  • Ranger Improvements
  • Mech Rigging
  • First Animations










Tuesday, March 2, 2021

FMP Week 23 - March 2nd - The Haytham

                               FMP Week 23 - February 16th

Haytham Creation (Mech #2)

William Marshall


Intro

These last two weeks have seen the work on my second mech come to completion. This Mech is named the Haytham, which has a different battlefield role compared to the Rotary. 

The Haytham is designed to be an agile brawler which is capable of outputting major damage with the hull-mounted minigun, flak cannon and missile launcher. In order to make it agile, it has had to sacrifice heavier armour to decrease the weight, making strong use of composite armour & sturdy construction to take hits instead.

I learnt a lot from the creation of the Rotary beforehand, as the Haytham was the second Mech I've ever created, such as:

  • Normal Details in Substance, saves tris
  • Curved/Circular Geometry helps with the high-tech look
  • Unique Weapons & Usage
  • Pleasing Colour Palettes
  • Better Lighting Techniques
  • Marmoset Usage

Haytham Design

As I created the Haytham, I took inspiration from several sources:

AMP Mech Suit:


BT-7274:

Milanote Research:

Blueprint:

As previously mentioned, the Haytham is designed to be a brawler and damage-dealing platform. However, it is not designed for endurance or drawn-out conflicts, meaning that it sacrifices heavy armouring and sheer size compared to other models. 

Modelling:

Modelling the Haytham involved a lot of freeform modelling and iteration, as I was attempting to incorporate the feedback that had been received with my first mech. I ensured that I was adding more curved geometry, mechanical joints, unique weapons, connectors (bolts), unique details whilst maintaining a sturdy frame that was true to my original design.

Originally, I had wanted the pilot hatch of the Haytham to open upwards like a modern fighter jet, similar to Titanfall 2's pilot hatch openings. However, when I looked at the AMP Platform, I preferred the look of a forward-facing hatch that opened outwards, meaning that the Pilot could climb into the cockpit by scaling the Mech's legs (also aided by handlebars which I placed at key points, much like rock climbing!)

In the animation, you can see several design changes. On the right arm, I originally intended for a grenade launcher to be added, to aid with the destructive potential. However, the stocky design did not fit well compared to the minigun, so I looked elsewhere for destructive inspiration, finding this:


This is a Flechette Launcher from Star Wars: Jedi Academy. It acts as a thermal shotgun, spraying out hot shards of shrapnel. Since it was quite a stocky, intimidating design with some curvature, I decided to incorporate it into the right arm and extended the length, so that it looked uniform with the Minigun on the other arm, adding my own spin onto the design by reinforcing the frame with additional geometry, adding circular connectors and an ammunition hose at the back to be reloaded without needing a physical magazine. 


Unwrapping:

Just like with the Rotary, I split the Haytham up into three different texture sets, to maintain good visual quality. 




Each part was separated into the Legs, Body & Weapons. Where it was possible, I also incorporated symmetry in order to mirror similar pieces of the mesh and save UV space. This occured on the left side of the arms, legs and chassis. However, the downside was that it was difficult to add custom/unique graphics, as it would be directly flipped onto the other side unless I manually separated the overlapping UVs.

Unity Project

Using my mockup from the last blogpost, I was able to create a 'basic' version of my concept inside Unity. However, this is very rough and has few attractive elements, more focused on the functionality of the buttons and arrows. In order to select the different Mechs and Camoflauge, I aim to use a script which simply hides/unhides a particular prefab when the arrow is selected, meaning that I can cycle through my various meshes properly.

From this point, I will be focusing on creating the other Mechs and Camoflauge textures before more work is completed in the engine. However, improvements will include custom UI buttons, an animated background, sculpted/textured bases for each Mech and some ambient sounds for atmosphere.

Next Blog Post - 16th March

In my next blog post, I will be demonstrating:

  • Textured & Rendered Haytham Mech
  • 3rd Mech Creation & Modelling
  • 3rd Presentation















FMP Week 32 - May 15th - Final Unity Build, Animations, Portfolio Setup and Reflection

      FMP Week 32 - May 15th Final Presentation, Final Unity Build & Animations, Project Reflection William Marshall   Intro The project...