Jump to content

How do you add movement to an Agent clip?


Kardonn

Recommended Posts

Decided I'd learn how to work with the Houdini Crowd system by actually making my own agents from exported character animations out of World of Warcraft, but the main problem I've got is that since all of these clips started off without any locomotion, I need to figure out how you actually get that back in.

Agent Edit SOP appears to work in the viewport at least...I can translate the character over the course of their walk cycle and reorient them (they start facing X instead of Z) but yet when I feed that into the Agent ROP it doesn't seem to stick.

Not a ton of info out there sadly for working with custom Agents in H15.5, and even worse is that these particular FBX files explode if you try to Import -> FBX them which makes this all potentially a lot more difficult. Has to be loaded up via Agent SOP.

Link to comment
Share on other sites

I think you probably need to modify the baked animation clips themselves. Use the Agent ROP (output node) and point it at your Agent SOP. Now you can loaded the baked out .bclips and add translations to the appropriate joint. However, maybe you can just treat them as in-place animation and set the gait speed to something approximate.

Link to comment
Share on other sites

@Kardonn i've just been battling with a bit of crowds system myself - so i found for my real world scale character in maya i had to scale down the mesh and skeleton to 0.01.  I tried using the fbx settings to adjust it but it wasn't playing ball the only thing that worked for me was actually physically scaling it all in maya (needed to do some rig adjustments)... so now when i export one i just need to set the scale to 0.01 but i just wrote a script that does that then goes to export fbx options in maya.

you'll need a root bone under the skel of the character that translates with your walk cycle too - do you have some screenshots of your char setup in your 3d software outside of hou?

then they import in happily via the file/import/filmbox_fbx option - not sure if some of that might be your issue ie they're coming in utterly enormous which was my issue.  I'm now able to locomote them but for my current test i turned it off and used the in-place anim and adjusted the gait speed as @edward said!

 

Link to comment
Share on other sites

Here actually I should really have just posted the FBX file in question to begin with so you guys could try pulling it into a Houdini session, attached it now.

@edwardI've got those .bclips baked out, but I'm pretty green at this whole crowd workflow stuff so I'm not totally sure what I should be using to add those translations. I was mentioning that Agent Edit seems to work, except for some reason it doesn't 'stick'...viewing the Edit my Agent walks forwards in space along +Z properly, but then once it hits the sim it's back to default.

@anthonymcgrathI'm desperately trying to avoid having to do anything to these guys in Maya because the end goal of getting this all working would be to start exporting clips from all the game's characters and races to play around with, and that would be so much Maya work to fix up these hundred+ clips!

This .FBX will probably only load properly in H15.5.714 and only via the Agent node.

 

walk.fbx

Link to comment
Share on other sites

@KardonnThe .bclips contains the animation for all the joints. You can see them if you create a CHOP network and use a File CHOP to load it (visualize them in the Motion View pane). So if you want to modify the animation, you need to modify the foo:t[xyz] channels to do what you want and then save them back out again (eg. Channel ROP). In this case, I think you want to modify the __locomotion:t[xyz] channels.

The reason why it works in Agent Edit SOP but not afterwards in DOPs needs some explanation. When you create a default agent primitive and set it to use some clip, the primitive is told to use the clip as its animation. Then when you use the Agent Edit SOP, that loads the joint transforms from the clip and then modifies them. From that point onwards, the agent primitive no longer uses the transforms from the clip, but from the edited ones instead. However, now if you import this into DOPs, the Crowd State DOP will first load the clip inferred by its State Name and the the Crowd Solver will then further modify the animation to do terrain adaptation, foot locking, rag doll, etc. So the Crowd State DOP is effectively overwriting the changes that you did in an Agent Edit SOP. The Agent Edit SOP is mainly intended as way for you to modify the agent animation POST simulation.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...