Page 1 of 1

Anim transition & joint positioning break skeletal models

Posted: Mon Jan 28, 2013 1:36 pm
by MirceaKitsune
As reported here and previously discussed here:

When either enabling animation blending or setting the bone position / rotation of an animated skeletal mesh, animations no longer work and the mesh gets crushed while its normals are inverted. The precise functions that cause this problem are animated_meshnode->setTransitionTime(x), bone_scene_node->setPosition(x), bone_scene_node->setRotation(x).

This has been noticed in the project MineTest. I can confirm it happens when compiling it with Irrlicht 1.8, but another user reports it also takes place in 1.7. I can confirm it happens with the x model format, while the other person confirmed b3d does it too. Currently we have to disable animation blending and scripted rotation / position overrides for joints until this problem is fixed.

Video of the mesh working correctly: http://www.youtube.com/watch?v=edzDAH6-WQU

Video of the mesh when breaking: http://www.youtube.com/watch?v=dTk8ktb466g

Re: Anim transition & joint positioning break skeletal model

Posted: Tue Jan 29, 2013 5:50 pm
by hybrid
Yeah, thanks for the report. I already saw the tracker ticket. Cannot say much so far, as I don't have a good understandingof the animation system. But I don't recall nay critical changes between 1.7 and 1.8 on this one. But we need to investigate this further. Please keep in touch and send infos if you find out more.

Re: Anim transition & joint positioning break skeletal model

Posted: Tue Jan 29, 2013 6:53 pm
by MirceaKitsune
hybrid wrote:Yeah, thanks for the report. I already saw the tracker ticket. Cannot say much so far, as I don't have a good understandingof the animation system. But I don't recall nay critical changes between 1.7 and 1.8 on this one. But we need to investigate this further. Please keep in touch and send infos if you find out more.
I could only try it in 1.8, but someone else confirmed it happens in 1.7 too. So either it broke in an earlier version (<= 1.6) or the error always existed and somehow went unnoticed. But I'll post if I see anything new, glad I could help with the report.

Oh, and I think I just remembered another detail. It might not be bone->setPosition() and bone->setRotation() specifically when it comes to bones. I remember that simply setting animated_meshnode->setJointMode(irr::scene::EJUOR_CONTROL) will cause the breakage, though I might be wrong.

Re: Anim transition & joint positioning break skeletal model

Posted: Wed Jan 30, 2013 6:34 am
by wing64
Try setInterpolationMode to EIM_CONSTANT yet ?