Animation Methods

Detail the steps taken in the creation of the tank.

Blender -

The Abrams tank model was imported into blender and as John Bowden had stated, I used the Decimate Modifier and removed doubles) to clean the model's geometry and its normal.

After this I decided it would be best to remodel the entire tank to compare the poly count and geometry between voxel, and blender as a modeling platform for completed models.

This reduced the poly count almost in half and allowed me to get rid of unnecessary data.

I wanted to recycle the tracks if possible, but found it was not geometrically sound to animate properly. So the tracks were rebuilt several times until it was capable of being animated.

I chose not to change visual aspects of the tank as to not disturb what Daniel has originally envisioned when he had created it. So I made it look as identical as possible to the original.

Base materials were created for pieces of the tank. 

Added shape keys and animated the motion of the tracks by grabbing. rotating and shifting the faces and edges of the mesh. 

I deleted the opposite track, duplicated it and put it in the others place so the animations and track vertex data was identical. 

Pasted shape keys to the duplicated track as its own shape keys.

Created an armature for the tank 

Left Root bone with no keyframes/actions

Added 2 key frames for the non-root bone on the first and last from of the shape key animation by making a new action. (This will be split into two separate clips in Unity).

LeftTrack shape key frames are at frames 0 and 15.

RightTrack shape key frames are at frames 16 and 31. 

(This is so that they do not overlap in Unity)

Removed Rotation and Scale.

Selected all objects and rotated X - 90 and applied back rotation and scale.

Rotate back X 90. Do not apply Rotation and Scale after rotated back.

Clear parent on wheels and turret objects with (Keep Transform) selected.

Apply proper pivot points of wheels so they can rotate properly.

Named Hierarchy, Attached in-animate objects to tank body.

Attach turret pieces to turret.

EXPORT SETTINGS BLENDER -

Scale should be set to (FBX All)

Export then import into Unity.

UNITY -

Uncheck import materials.

Change normal from Imported to Calculate. (This fixes a baked lighting appearance in Unity so that it looks like it accepts real time lighting and shadows).

Change smoothing angles to = 0.

Duplicated animation clip, so there is one for each track to be controlled separately.

Name one LeftTrack and the other RightTrack.

Loop both clips.

LeftTrack is set to 0 - 15 frames and RightTrack 16 - 31.

Mecanim -

Create an animator Controller for the tank.

Create an avatar mask.

Open animator tab and created two layers. One named IdleLeft and the other IdleRight.

Make an empty default clip named after their respective layers.

Drag and drop the animation clips of Left and Right track, one in each layer.

Blend animation layers by selecting the second layer and go to settings. Attach the avatar mask to the component. Set as (Additive)and move the amount from 0 to 1.

Create script to animate tank. (The wheel rotation is handled in the script, there is no animation from blender. This was don programmatically).

Add script to tank.

Attach wheels to tank. 

Liaison

Blender -

The Abrams tank model was imported into blender and as John Bowden had stated, I used the Decimate Modifier and removed doubles) to clean the model's geometry and its normal.

After this I decided it would be best to remodel the entire tank to compare the poly count and geometry between voxel, and blender as a modeling platform for completed models.

This reduced the poly count almost in half and allowed me to get rid of unnecessary data.

I wanted to recycle the tracks if possible, but found it was not geometrically sound to animate properly. So the tracks were rebuilt several times until it was capable of being animated.

I chose not to change visual aspects of the tank as to not disturb what Daniel has originally envisioned when he had created it. So I made it look as identical as possible to the original.

Base materials were created for pieces of the tank. 

Added shape keys and animated the motion of the tracks by grabbing. rotating and shifting the faces and edges of the mesh. 

I deleted the opposite track, duplicated it and put it in the others place so the animations and track vertex data was identical. 

Pasted shape keys to the duplicated track as its own shape keys.

Created an armature for the tank 

Left Root bone with no keyframes/actions

Added 2 key frames for the non-root bone on the first and last from of the shape key animation by making a new action. (This will be split into two separate clips in Unity).

LeftTrack shape key frames are at frames 0 and 15.

RightTrack shape key frames are at frames 16 and 31. 

(This is so that they do not overlap in Unity)

Removed Rotation and Scale.

Selected all objects and rotated X - 90 and applied back rotation and scale.

Rotate back X 90. Do not apply Rotation and Scale after rotated back.

Clear parent on wheels and turret objects with (Keep Transform) selected.

Apply proper pivot points of wheels so they can rotate properly.

Named Hierarchy, Attached in-animate objects to tank body.

Attach turret pieces to turret.

EXPORT SETTINGS BLENDER -

Scale should be set to (FBX All)

Export then import into Unity.

UNITY -

Uncheck import materials.

Change normal from Imported to Calculate. (This fixes a baked lighting appearance in Unity so that it looks like it accepts real time lighting and shadows).

Change smoothing angles to = 0.

Duplicated animation clip, so there is one for each track to be controlled separately.

Name one LeftTrack and the other RightTrack.

Loop both clips.

LeftTrack is set to 0 - 15 frames and RightTrack 16 - 31.

Mecanim -

Create an animator Controller for the tank.

Create an avatar mask.

Open animator tab and created two layers. One named IdleLeft and the other IdleRight.

Make an empty default clip named after their respective layers.

Drag and drop the animation clips of Left and Right track, one in each layer.

Blend animation layers by selecting the second layer and go to settings. Attach the avatar mask to the component. Set as (Additive)and move the amount from 0 to 1.

Create script to animate tank. (The wheel rotation is handled in the script, there is no animation from blender. This was don programmatically).

Add script to tank.

Attach wheels to tank. 


Project: Armament

Game Animator
Created: 9/19/2018 10:17