in C++ by (10.3k points) edited by
0 like 0 dislike
30 views

I have a model/mesh file with a skeleton in default pose without animation, and separately files for animated skeletons (bone animations), which have different titles/names (idle, walk, attack, die, etc.). How do I add all these animation files to model? How to add multiple animations to a single model in Irrlicht?

Tried installing (re-add/reload) a separate mesh for an existing node:

node->setMesh(mesh);

This is just a replacement - mesh changes to an animated skeleton and disappears.

Tried adding (installing) a child node:

node->addChild(node2);

The animated skeleton is added to the model, becomes viewable, but does not merge with it, i.e. exists separately. The skeleton of the model remains as it was.

Tried installing (adding) the parent node:

node->setParent(node2);

The effect is the same as with the child node, but vice versa.

In general, animation from another file is not added to the existing model in the scene in any way.


irrlicht several meshes for one node
irrlicht animation from other file
irrlicht add separate animation
irrlicht separate skeleton animation

1 Answer

0 like 0 dislike
by (10.3k points)

In Irrlicht, you can only have one animation, which is stored in the same file as the polygon mesh. I.e. you cannot use different files for the model and animations, as well as use separate files for different animations.

To have different actions (idle, walk, attack, die, etc.), you just keep adding frames for one animation. Irrlicht needs is to know the start and end of each specific animation, and to play an animation (for example, a walk that starts at frame 30 and ends at frame 75), you need to do this:

node->setFrameLoop(30, 75);

and set animation speed:

node->setAnimationSpeed(30);

It looks like you haven't read the Irrlicht tutorials. This is covered in the Irrlicht tutorial in lesson # 4.

Your answer

Try to answer the question as detailed as possible.
Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.