Page 2 of 2

Posted: Tue Nov 25, 2008 10:49 am
by darkmaster83
I use a MilkShape mesh (.ms3d file) without built-in animations. You can download it here: http://www.zshare.net/download/518260856495588a/

I move it using skeletal animation (animating bones), following the section "Joint control" in this wiki: http://www.irrlicht3d.org/wiki/index.ph ... tionSystem.

You can find my source code in this post: http://irrlicht.sourceforge.net/phpBB2/ ... +detection

Using the version 1.4.2, this way of animating model works, mesh move, even if mesh buffers' bounding boxes (and consequently total model's bounding box) don't keep themselves up-to-date, following the movement, as you can see here: http://irrlicht.sourceforge.net/phpBB2/ ... +detection.

Using SVN 1817, differently from 1.4.2, bones don't move using that animation system...they are fixed in the same position, even if I try to animate them from keyboard.

I hope to be clear and understandable (sorry for my English...) in my explanation...if there are problems, please ask me. I'd be very happy to contribute to solve this problem, also because I need this feature...

Posted: Tue Nov 25, 2008 11:12 am
by rogerborg
Thanks, that's brilliant. I'll look into it ASAP.

Posted: Tue Nov 25, 2008 12:27 pm
by rogerborg
Thanks for the great bug report. That should be sorted on the 1.5 branch as of SVN 1829 (the SVN trunk will get updated later).

(For the record, what was happening was that I was checking the animated mesh frame number and not doing a recalc unless it changed - but for skinnes meshes with controlled joints, the frame number doesn't change, so we need to recalc them once per OnAnimate() or render() regardless - d'oh)

Posted: Tue Nov 25, 2008 2:23 pm
by darkmaster83
Thanks for your interest, I'm waiting the release of new SVN, to test it...I hope that it will solve my problem and I'll report the result! :)

Posted: Tue Nov 25, 2008 2:27 pm
by rogerborg
I'd recommend (and appreciate) you using the 1.5 branch, since that's where all fixes will be going, and it's what we really need tested right now.

You can do an svn switch to move to 1.5. It's very nearly the same as the trunk, so it shouldn't cause you any problems.

Posted: Tue Nov 25, 2008 6:11 pm
by darkmaster83
I tested the 1.5 branch (downloaded here: http://irrlicht.svn.sourceforge.net/vie ... eases/1.5/ and compiling it by Visual Studio 2005) and I'm happy to say that mesh buffers' bounding boxes (and consequently total model's bounding box) resize correctly during movement by animating joints ! It's a great thing! Thanks! :D

However, I noticed that a smaller number of frames per second than 1.4.2 (roughly 17 FPS towards 45), but I expected a similar thing...recalculating requires more time....

I found some little bugs in collision detection, i.e. I have this Milkshape model and a room model (a quake map), model always stops at the same distance from room walls, even if its bounding box resizes (by moving arms or legs)...in my opinion, if BB changes, collision should work differently and model should stop in a different position.

The last anomaly I found is that, in the arms movements, sometimes joints' axes change direction...