Play multiple animation at the same time

Started by
6 comments, last by Scouting Ninja 5 years, 7 months ago

Suppose I have an animation clip of a character waving his hands, and another clip of the same character running. What approaches exist that allow me to implement such a thing?

(talking about skeletal animation)

Advertisement
5 minutes ago, Pilpel said:

Suppose I have an animation clip of a character waving his hands, and another clip of the same character running. What approaches exist that allow me to implement such a thing?

(talking about skeletal animation)

I'm not sure if I'm following your question as it appears you're asking how to animate a skeleton? You would rig the character and keyframe the bone position and rotation per frame. You can do this in applications like Blender.

If I'm missing something or not understanding the question please let me know.

Programmer and 3D Artist

14 minutes ago, Pilpel said:

What approaches exist that allow me to implement such a thing?

Strange question. Bone animation is vector animation, meaning it is math. As with all math you can add, replace, multiply, divide etc. as you want to. You won't need anything special.

What all this means is that you will make your two animations and "blend" them. You could also animate the lower part and top part separately, but it isn't necessary as you can just stop the arm from animating by settings it's values to 0.

 

You could get fancy with Lerp and Slerp but it wouldn't be needed. Basically any math formula could be used to mix or create bone animations.

 

3 hours ago, Pilpel said:

(talking about skeletal animation)

This isn't a Game Design question. Moving to the Art forum.

-- Tom Sloper -- sloperama.com

1 hour ago, Tom Sloper said:

This isn't a Game Design question. Moving to the Art forum.

Not seeing how this is an art question.

From what I am reading, the OP already has the animations and is asking how to get the skeletal animations working in game.

@Pilpel - For that we need more information though. What engine/language are you using?

I'm designing an animation system. I already implemented skinning long time ago (with C++ and opengl) but it was very basic and lacked some important features like blending (e.g. transitioning from walking to running) and playing several animations at the same time (e.g. waving and running). They both might be called "animation blending" but I'm not sure. Anyway, I'm asking for ways to implement all these things. One thing I have to figure out is when for example the character is running, he obviously moves his upper body, but say if I want to add a "waving hello" clip while he is running I'll probably have to somehow tell all the upper body bones to ignore the running transformations (just a thought).

1 hour ago, Pilpel said:

but say if I want to add a "waving hello" clip while he is running I'll probably have to somehow tell all the upper body bones to ignore the running transformations (just a thought).

You will just need to check what bones are animated in the second clip, most 3D export formats mark them or only export the animated bones. Then it is a simple mater of: For each bone in clip2 that moves: Clip1.bone.transformation = Clip2.bone.transformation.

That would be replace.

Adding will be like this: For each bone in clip2 that moves: Clip1.bone.position += Clip2.bone.position . Clip1.bone.Scale += Clip2.bone.Scale and Finally Clip1.bone.Rotation *= Clip2.bone.Rotation if your using Quaternions.

 

Of course how exactly you do this will greatly depend on how your engine is written and how your matrices work. It really is this easy that is why bone animation is so popular.

This topic is closed to new replies.

Advertisement