Jump to content

Referencing a character into a scene


jasoncartiver

Recommended Posts

Hi all!

I have setup a rig for a vehicle but in fact I am not sure this is the right way to setup a rig in Houdini.

I am using curves as controllers in Houdini. For Maya it is the way to go for sure, but for houdini, is it the right way to rig things?

And also, once the rig is done, how does one bring the rig into a separate scene where the animator can animate and feedback rig problems to the rigger.

Then the rigger can fix the rig and the animator can update the rig while maintaining its animation.

I tried Digital Assets, but it seems that it updates the entire thing and even with the rig itself, thus refreshing and taking out all the keyframes done.

File reference only takes in .geo file which I can't save it out on a subnetwork.

I kinda trap and stuck right now :( .... So any help here would be extremely useful!!!

Thank you in advance!!

Jason

Link to comment
Share on other sites

These are good questions. I use to do this in 3ds Max by saving out the animation in world space, and then importing it back into a new rig. As long as the control names didn't change then it usually worked. Even if you changed the parenting of the controls. The only time it gave me problems is if the length of bones changes between transfers.

I have no idea how to do something like this in Houdini, but I think Digital Assets are the right way to go. The reason you're loosing your animation, might be because your updating the asset the wrong way.

When you load an OTL file into the HIP file that contains the animation, then you don't want to change that original OTL file. You make changes to your rig, and save it's asset to a new OTL file but with the same name (name of the asset, not the file name). Then you load the HIP file with the animation, and select Install Digital Asset Library. Selecting the new updated OTL file. Now the HIP file with the animation will contain two references to the same asset. The original reference will have the animation, and the second will be ignore by Houdini cause the name is already used. You have to now tell Houdini to use the new updated version of the asset. Go to Windows / Operator Type Manager and find your rig asset. When you find it, click the "Latest Definition" and Houdini should switch all asset references to use the new OTL file you installed. The animation and usage of the asset shouldn't change, but it should all be updated.

Did that make any sense, and please someone correct me if I'm wrong. ;)

Edited by hopbin9
Link to comment
Share on other sites

Hi I tried what u said but it didn't work when I click latest definition. Basically nothing happens in my scene.

And also all my shaders don't seem to be appearing too. Extremely puzzled right now! :(

My controllers are within the DA. but its at the top level of it. I think the problem is I don't know how to refresh the OTL file...

Would posting my file here help? Or anyone has an example file that I can see?

Any help rendered would be greatly appreciated!!! Thanks alot!

Jason

Link to comment
Share on other sites

this should be pretty straight forward...

feel free to post your file(s) - there might be something wonky there...

also it's important to read the documentation on OTLs and the settings in Windows > Operator Type Manager > Configuration...as these settings control the way in which Houdini deals with OTLs and updated/changes etc...

Link to comment
Share on other sites

Thanks!

I've uploaded it to yousendit as my webhost doesnt allow me to login which is really strange.

here is the link.

https://www.yousendit.com/download/dklyV0o1Y3lRWUt4dnc9PQ

Inside the file is a test animation. And the original file without being converted into HDA.

And a original HDA. And a modified HDA which I wanted the animation file to be updated to.

Its still not working and I think its some settings I missed. But I don't know which one is it.

When I tried to click latest Definition, nothing seem to happen to..

Hope someone can help me take a look at it and point me in the right direction! Thank you!!

Jason

Link to comment
Share on other sites

ok...

I just had a quick look through your file and there are a few things going on here that need to be fixed...

1) the shaders need to exist inside the OTL, make a shopnet inside somewhere (right next the the geometry obj is a good place) and put all you shaders in there - then fix all the channel references.

2) you have to promote all the parameters that you want to give the animators control over...see attached OTL

I have just promoted the controller parameters - I didn't do it nicely with nice names etc...

animation on these top level controls will be maintained through OTL updates provided you don't change the parameter names.

go through the SESI tutorials on OTL creation and the free one at 3dbuzz.com

hope that helps

ROV_Asset.otl

Link to comment
Share on other sites

I see. So thats how it works. Thank you Michael!! Appreciate it!

Basically all the animation controllers that I want to give the animator has to be added as a parameter on the Asset node right at the top and param has to be relatively reference to the controller itself.

And as I work on my stuff, I realised I have put the controllers within a NULL so I can hide and unhide them as I do my animation. I'm not sure if its too late to change the controller groups within my HDA?

And also I tried to add a scale controller on top of the HDA, it doesn't seem to pass over to the OTL files.

Puzzles me a huge bit!

Can anyone advice me on that bit?

Thank you very much!

Jason

Link to comment
Share on other sites

when I build anything I usually start with a subnet > make hda

that way everything I do is already inside and I have a blank parameter page to add as I work

you can make any change that you want to the top level parameters....BUT...if you change the param name (different than the Lable) then any animation you might have in your scene might break...

most of the time you can use the Display Parameter (see the Render page of the node) to hide and unhide your controlers, or in SOPs use a switch between a null and your real data

to pass scale info:

make a float parameter at the top level

use this to drive the scale of the objects in your HDA/sops etc

HDA transforms shouldn't be used IMO.

hope this helps...

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