Skip to main content

Importing Models and Animation From Blender

NOTE - If nothing is showing up in your preview section, then you have exported the model wrong. Remember you need to have selected in Blender what to be exported. If you have done this, try reversing the faces in the model and re exporting.

So after you have your model from Blender rigged, animated, and exported, you can bring it in to the unity editor. Scale factor is by default 0.01, to change that, try looking at this link
Anyways, your going to want to drag you model to your scene and adjust the scale factor till you have the desired size (scale factor 1 is rarely what you ever want it, its huge).

To start defining your animation, click the + button that's highlighted purple in the picture. You'll get something like this where you can name your animation, define starting and ending frames, and wrap mode.
Remember back when you were making the animation for your model? you had to define frames and you had a certain amount of frames in your overall animation? It's so simple. All you have to do is look at your animation in blender for your animation begin and end frame! If you have a looping animation, you would want to change wrap mode to Loop, and if it still doesn't work try checking the loop box.

There is five different wrap modes. Default, Loop, Ping Pong, Once, and Clamp.
Default uses the animation wrap mode option you chose (located above the split animations check box).

Once and Clamp are similar, but different. Once simply plays through the animation one time and them stops the animation, where as Clamp repeats the last frame of the animation over and over. This gives the appearance of it being played once. This also allows a blend of animation from one animation to the next, allowing more fluid movement.

Loop and Ping Pong are also similar. Loop plays through the entire animation, and in the end, goes back to the first frame and continues on and on. Ping Pong does basicaly this, but once played through the animation, it reverses itself and goes back ward through the animation, then forward again, then back, then... you get the idea. Or if you don't understand or would like to read more, click here.

So, after getting all your animations defined simply apply a script containing a line of code:
Animation.Play(), which plays default animation
Animation.Play("Animation Name")
or
Animation.Blend() for more seamless animation transitions. Click here to read more.

Make sure the script is attached to the game object with the animation component:

If you have any problems, questions, or suggestions, feel free to email me or comment on the post.

Comments

Popular posts from this blog

How To Import and Use Fonts

-Made by Chrome Fx Films

To use different fonts in your game, your going to have to acquire some fonts. You can go somewhere like 1001 free fonts and download ones you like and want to use.

When you download the file, you'll need to extract the file if its in  a .zip

The text file should have the extension .ttf. If you text files have a FFIL extension, simply rename the font file (yourname.ttf).
Drag the text file into unity to import. By default the Character variable should be labeled Dynamic.

The Dynamic setting means  that Unity won't pre-generate the texture, so if you look at your material containing your font, It probably will be blank. (read more here)
Now your over all objective should be getting your font to look like this (unless you prefer dynamic):
Where the characters of the font are not jumbled up and visible.
Now usually all you have to do to achieve this is change the Character variable from Dynamic to Unicode.
and that should work.
Now what some people over…

Handling Music and Sound Effects In Your Games

Initiative  While developing Treva's Adventure I had to figure out a way to handle multiple music tracks and sound effects in a clean manner or suffer horribly.  What was going to help me achieve a simple solution was taking all the different sounds and centralizing them in a single class in order to black box them.  Any other code trying to play a sound wouldn't even know the sound file's name.  All code trying to play a music track would reference a enum that defines all the track names.
Defining The Class Creating The Enum When I first started defining types in my enumeration,  I was naming the types to be exactly like the file name.  For a scary sound effect I had found a file named "ghost breath".  So around my code would be scattered lines like SoundManager.Play(SoundEffectType.GhostBreath);  This was fine until I found a sound that better fit the situation it was being used in,  and decided to use "ghost breath" for a different situation like a …

Don't Destroy On Load..

So if you want to keep an object or script that keeps up variables (or for any other reason) when you go from scene to scene, you need to attach a don't destroy on load static function, which goes something like this:

function Awake () {
    DontDestroyOnLoad (transform.gameObject);
}

The Awake function is call only once, when all the objects in the scene have been created. Read more about it here.

DontDestroyOnLoad has what ever is in the ( ) to not be destroyed when creating a new scene.

(transform.gameObject) is what will not be destroyed when the new scene is loaded, in this case, it will be the game object and all it's children the script is attached to.