Adding and Synchronizing 2 Characters in Havok Behavior Tool

Adding and Synchronizing 2 Characters in Havok Behavior Tool

I have one character in my behavior project, and I'd like to add another. How do I do that?

Once I've done that, how might I go about synchronizing animations on these characters when they interact?

A perfect example is a tackle in American football. In my past experience I asked an animator to create "dual" animations for each character. He / she would set up and animate the characters from the start of their interaction through the end of their interaction. These animations are then exported seperately for each character. You then use higher-level logic to determine whether two characters should play a dual (or synched) animation and blend into them as required.

It seems the Havok Behavior Tool could help me with something like this, but I'm not seeing any tutorials on character-character interaction.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - mseare
I have one character in my behavior project, and I'd like to add another. How do I do that?

Once I've done that, how might I go about synchronizing animations on these characters when they interact?

A perfect example is a tackle in American football. In my past experience I asked an animator to create "dual" animations for each character. He / she would set up and animate the characters from the start of their interaction through the end of their interaction. These animations are then exported seperately for each character. You then use higher-level logic to determine whether two characters should play a dual (or synched) animation and blend into them as required.

It seems the Havok Behavior Tool could help me with something like this, but I'm not seeing any tutorials on character-character interaction.

Michael:

Once you create or load a project, you can create as many characters as you like in HBT using the "new character" feature in the asset view - in the 6.1 version I believe you can just right click on the "Characters Folder" folder element in the Asset View at the left and choose "New Character".

Paired animations are definitely possible and can be achieved in a number of ways.

Minimally, you can create events that are "global" in HBT-only as a 1st test, and when one character raises this "tackle" event, the other character is forced to respond.

This clearly leaves open the topic of how and when to manage the orientation and proxity logic for when and if the pairing actually occurs.

Sensing is generally used to moniitor a local frame (see the HCT tools on local frames) and to decide when things are "close enough".

Thereafter, the logic for "what is my orientation relative to the defender" needs to be sorted out. You can use the "compute direction" modifier to get some information on this.

Alternatively you can put some logic on the defender itself to determine the incoming attack and to "choose the right response" when the "tackle" event is raised by the attacker.

There's a lot of 'blank space' in this problem, depending on the game design for how this works (ie what to do if the character who is tackling is too far away - abort the tackle animation and choose a "miss" animation" for the attacker? Same question for the defender.

Finally, beyond the simplistic "global event" approach to raising and hearing these events between characters, the far better way is to use the "attachment" m odifier to broad cast and event to the "attachee" (in this case the defender). In this way, if the attacker is "close enough" and decides to form an attachment with the defender, it can broadcast to the defender a singular event (this works at run-time, which is the better way to do things for sure).

The attachment can be of various types, including a physical constraint - it can also be highly transient - you can form it for brief moment of time and then release it... just enough to get the ragdolls in position the way you want them.

Lots of things to tweak and adjust, but this is the way we've seen things done and it appears to work fairly well.

I should also point out that you will very likely want to have keyframe bones modifier on most of the "fully animated" bones like the lower body, and yo umay choose to soften up the upper body of each character by not including those ragdoll bones in the KF bones modifier. This can give you some nice reactive response (though you may have the typical issues with high-speed collisions where you need to do some tuning.

All of this presumes you read/understand the use of local frames to tag "sensor points" on the ragdolls of the attacker and defender - to enable interesting sensing.

Though you can tag rig or ragdoll, I'd suggest tagging the ragdoll for the dual character approach... I think this is the most powerful.

This is alot for one thread... I'd recommend attacking in bits and hit me with more questions. Would be happy to try and help you get something going there in the demo version of the tool.

Jeff

Login to leave a comment.