Big Trouble In Little Blender – 1.4 Initial Unity FBX Import & Animation Notes (Part1)

blender-socket

Notes made during my first attempt to play animations saved into an FBX export within a Unity project.

In blender, I’d attached bones to meshes individually – After importing the fbx into Unity, I needed to find out how to play each meshes animation simultaneously.

These notes probably won’t be useful for anyone other than myself. I’m planning on building models as required, rather than in one lump – Which means I’ll forget everything in the meantime & have to relearn every model I build – To avoid this as much as possible, I’m hoping to use these posts as a reference point.

Apologies for any obvious mistakes or omissions – These notes were made as I was learning, and not necessarily as I had learnt.

blender-import

Useful site: Play Two Animations Simultaneously using Animator

From Blender – export to fbx & save directly into assets folder of the Unity project. There are notes online stating that blender files can be used directly in Unity project – Though when using blender files, I found the initial rotations and positions of the models meshes were out of place. fbx was easier/faster for me to setup & integrate.


To configure the models animation to play in a loop:
In the project pane, click on the imported model
This should display the setting in the inspector window (right side of the window)
Select the Animations button
Ensure import Animation is ticked
In the clips section you can preview each animation.
When a clip is selected it’s settings should be displayed.
Ensure Loop Time is ticked.
This should be enough to add looping.

 


 

To play multiple mesh animations simultaneously:
e.g. I had one animation assigned to the top lip mesh, a second animation for the bottom lip mesh – To get the biting animation to work I needed to play both animations at the same time

In the project screen – create animation controller component
double click the animation controller – this should set it to the animation window

From the main pane, select animator
In the project pane; find the model you are trying to animate & click the triangle symbol next to it – expanding & displaying its contents.
Within the contents, find the first animation clip you wish to use – left click & drag this into the animator window
It should automatically have a transition from entry to the animation predefined.
(If not – right click the entry square/element, select Make Transition from the context menu then left click on the animation you’ve just added)

This should setup the animation for the first mesh. For other meshes to animate simultaneously;

In the animator window create a new layer – To do this, click on the + button on left hand side of the window.

(If the + button isnt visible – the layers pane has been hidden – on the very top left of the animator pane, click on the button with two semi-circular lines (this icon is supposed to represent a closed eye) – This should change the icon to n eyeball & display the layers pane)

Clicking on the + button will create the new layer & set the animators focus to the newly created layer (click on the new layer to be sure).
From the project pane, find the model (click the triangle to expand its contents if necessary), select the animation clip for the next mesh you want to add – left click & drag this into the animators main window.

As before, Unity should automatically create a transition from entry to the animation.
On the left hand side of the animator’s window, from the list if layers, left click on the cog icon for the newly added layer & set it’s weight to 1


Now we have the model imported & the animation controller component animated – We need to create a prefab of the imported model for use in-game.

To create the prefab: left click and drag the model from the project pane into the hierarchy pane. Then left click and drag the model from the hierarchy pane back into the project pane – a prefab should be created with the same name as the imported model (the instance in the project pane can be deleted).

To animate the prefab: In the project pane, left click the prefab – This will display it’s settings in the inspector pane. In the inspector pane, expand prefabs animator component (add an animator component if one does not already exist). From here we need to populate the Controller and Avatar fields.

To populate the controller field: In the project pane, find the animation controller component, left click and drag this into the controller field of the prefabs animator component.

To populate the Avatar field: In the project pane, find the imported model, click the triangle to expand its contents, look for an element called xxxAvatar entry (e.g. for the mouth mesh, this was called the mouthAvatar – Its icon is a torso & head) – Left click and drag this into the prefabs->animators->avatar field.

This should add the animation to the prefab ready for use in-game.

 


 

Next post: 1.5 Creating a basic Spring

Last post: 1.3 Initial Animation Notes

Contents page.

 


Advertisements

Big Trouble In Little Blender – 1.3 Initial Animation Notes

blender-socket

Notes made during my first attempt a Animating on Blender.

These probably won’t be useful for anyone other than myself. I’m planning on building models as required, rather than in one lump – Which means I’ll probably forget everything in the meantime – To avoid that as much as possible, I’m hoping to use this as a reference point – Allowing me to learn new tools & features of blender; rather than constantly relearning the same tools.

Apologies for any obvious mistakes or omissions – These notes were made as I was learning, and not necessarily as I had learnt.

blender-animation

Useful site: Beginning Blender Tutorial: Animating and Rendering a Mushroom

Basic animation can be managed in default view.

First add an armature – This will hold a set of (1+) bones
Mesh Tools panel->create->armature
or shift-A ->armature->single bone

With the armature selected (left click in the outlier window)
In Data Object Data panel, from the row of icons/tabs at the top – select the stickman
scroll down to the display section & add a tick against Names & X-Ray
Names allows each element to have a name
X-Ray ensures the bone can be seen through the model.

Use Mode Select and switch to Edit Mode.
Use Mesh Tools ->Transform or Mesh Values -> Translate to move the bone into position

To add another bone in the chain (with the bone selected) either;
MeshTools -> Modelling -> Extrude
Or with the press E

To attach a bone to a mesh – in the Outlier panel
Drag the MESH into the Armature – The armature should be the parent

This should open the set parent to window;
Generally choose either:
Armature Deform -> With Automatic Weights (reshapes mesh on animation)
Bone – Ensure model is in a resting\start of animation pose before applying this.
For simple animations I’ve used bone.

Mode Select -> Pose Mode allows you to move/position bones.
Ctrl-Tab is the keyboard shortcut from Pose Mode (Click in the main/model window first)
Or in the Outlier panel, under the Armature in the hierarchy click on Pose

To add an animation – In the Default screen layout..
If the animation timeline is hidden – At the bottom of the screen there are two rows of icons/tabs/drop down menus – click and drag up from the middle to reveal the animation timeline

To add a frame…
In the animation timeline – left click to set the green animation bar at the desired time.
Use the bone attached to the mesh to translate/rotate/etc the mesh into the desired position for that frame of the animation.
Right click in the main/model window
Press I – This should display the Insert Keyframe Menu
From the Insert Keyframe Menu – Select the animation type – e.g. If, for this frame in the animation, the mesh had been rotated – to store the rotation – select Rotation from the Insert Keyframe Menu
This will create an animation frame at the current time position (yellow bar will be added to show the animation timeline)
Note the animation timeline will only show frames for the currently selected mesh
& repeat as required.

The length of the animation is determined by the start & end key frame in the animation timeline
Start and end fields should be clearly visible in the animation bar.
24 frames = 1 second
If the animation ends after 12 frames (30 seconds) – set the start to 0 & the end to 12

Frames cannot be moved, but can be deleted.
To delete – Highlight the frame in the animation timeline (left click over the frame to be deleted – this should move the green bar over the yellow bar) & press space
Then click delete keyframe (twice)


Next post: 1.4 Initial Unity FBX Import & Animation Notes Pt1

Last post: 1.2 Initial UV Unwrapping Notes

Contents page.