Q:

Assimp, Blender and model rotating

There is something I can't figure out.
I have two models - grass.blend and tower.blend.
grass.blend:

tower.blend:

Note X, Y and Z axises.
The problem is that when I load these models using Assimp the scene looks like this:

The tower should be placed vertically, but for some reason it is placed horizontally. I didn't rotate it this way. Why is it happening?
Project example is here (tower was rotated in Blender right way for now). Tower model could be downloaded from blendswap.com.

A:

A common problem exchanging 3D data between different programs is the axis directions. The cause of the issue comes when deciding the direction of each axis, blender uses the right handed cartesian system which is also common among cad modelling systems, while many other 3D programs have the y-axis pointing upwards with the z-axis pointing to the back, which matches up with the z-depth used when rendering.
Of your two models, the ground is selected and shows it's local y-axis matches the global y-axis. If you select the tower you will find it's local axis will not match the global display which will cause the difference when exporting. Applying the rotation of the tower ⎈ CtrlA->Rotation may also help.
Many export addons give an option to alter the up axis during the export. The obj exporter even lets you choose the up as well as the forward axis.

This is just something you need to remember to consider when transferring data.

