How to prevent your 3d models from moving in the wrong direction?

I’m trying to simulate wandering sheep. Initially, I put cubes on the screen and had them wander correctly. But when I imported an actual sheep model, funny things start to happen. The sheep first rotates to its side into a sleeping position, then moves about sideways.

It seems as if the “Up” direction in the 3d Model corresponds to the “Forward” direction on unity. How do I fix this?

Is it possible to fix it in Unity without manipulating the 3d model?

The 3d model I imported was a 3ds file.

The best method is to get rotate your object in 3D authoring program, but there are are other solutions:

Use an empty game object as a parent:

http://docs.unity3d.com/Documentation/Manual/HOWTO-FixZAxisIsUp.html

There is an editor script at the following link that will create a clone. Rotate and scale your object how you want it with rotation (0,0,0), and scale (1,1,1). Then use the script:

http://answers.unity3d.com/questions/561786/how-to-export-obj-from-editor-with-rescaled-mesh.html

It is also possible to fix the problem by modifying the code to handle the default rotation.

Had this same problem while using Blender. I think the best and easiest is to change your model and reexport.

(If you are using Blender) remember to “Apply the rotation & Scale”) so that your model has a scale of 1 and rotation of zero. And make sure to center your object. Then export.

Probably the same applies to 3DS.

In unity, make sure your gameobject has a default rotation of zero. By normalizing everything, it becomes much much easier to understand how you have to orient in your modeling software so it comes out right in Unity.

For instance in Blender, I had to orient my ship so that it was point upwards with its top facing away. That imported perfectly in Unity.