Jump to content
Kardonn

How do you add movement to an Agent clip?

Recommended Posts

Kardonn    105

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.

Share this post


Link to post
Share on other sites
edward    331

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.

Share this post


Link to post
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!

 

Share this post


Link to post
Share on other sites
Kardonn    105

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

Share this post


Link to post
Share on other sites

dunno whats going on there - i'm on 15.5.48 or something and it wont import the fbx using the agent sop.  I even tried re exporting the fbx from maya (which loads just fine) and it still wont have it.  weird. 

Share this post


Link to post
Share on other sites
Kardonn    105

Yeah they issued a fix actually based on this example file here in 15.5.714, everything below that version won't open it for whatever reason even though like you said...totally fine in Maya.

Share this post


Link to post
Share on other sites
edward    331

@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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×