Fix Up Axis in blender loader - lets discuss it once again ;)

I still think the main issue is that parent/child relations in terms of transforms are not properly considered. You cannot just apply some rotation or translation to an object, it always involves recursing through the whole tree and using a combined transform, see Transform.combineWithParent for this.

So maybe the solution would be to iterate through children and do something like this:

  • detach the child from parent, and detach its children
  • calculate its global transformation
  • apply the transformation
  • properly rotate so that the Y axis is up
  • attach it back to parent (after computing the proper local transformation)

Could be a solution, but I’d try just assembling the model first (attaching all children correctly), then rotating the base node and then applying the world->local coordinates like you say. This would have to be done recursively from the base though, so the locations and rotations are correct…

OK I’ll give it a try this week. Maybe we’ll finally solve this issue.

And I’ll revert the changes with the vertices. This seem to cause troubles (at least for now).

Well note that you cannot just apply the changed values to the geometries or something, the models rotation values should all be 0, right? So in the end you probably have to change the mesh data, its just that then you should know what the actual local rotation/location of that geometry and mesh would be.