hi all
i am doing a few experiments with rigging chars in houdini, and would like to know peoples approach to mimicking set driven key…
any suggextions would be gratefully recieved…
thanks for your time..
faux set driven key
8408 14 4- e:(oli
- Member
- 5 posts
- Joined: July 2005
- Offline
- JColdrick
- Member
- 4140 posts
- Joined: July 2005
- Offline
hehe…I love how all the other packages out there come up with TM names for stuff that Houdini has had before it existed(in Prisms) and is just called…Houdini.
OTOH, maybe SESI should start coming up with trademarks for this stuff, get a little court action going. “Houdini, with True Proceduralism(TM)”, anyone?
Anyway, I apologize since I'm not a Lightwave user so I may be oversimplifying what it entails, but AFAIK this just means assigning one channel to drive other multiple channels. There are dozens of ways to do that in Houdini, and that is it's true strength in one way, and a small curse in another. Not being a pre-rolled package to specifically drive, say, character animation, it might take a couple more steps. However, when you're in production, you'll bless the programmers at SESI because you can wire things up anyway you want, great for last minute fixes and clever design. Add to that the ability to package all this cleverness in OTLs and it's awesome.
Anyway, I'll point to a couple of locations in the docs, hopefully they'll get you started. If you're comfortable using equations and prefer that sort of method, you can RMB copy over params and paste references to them in other fields. Search for “Copy Values to Another Parameter” in the online docs.
If you eschew writing and managing formulae, that's what CHOPs were designed to do - essentially as SOPs gives you a fully procedural network approach to building and animating data, so CHOPs lets you import, massage, generate and export animation channels without all that tedious mucking about in hyperspace. Check out CHOPs in the docs for more info.
Let me know if i've missed the point.
Cheers,
J.C.
OTOH, maybe SESI should start coming up with trademarks for this stuff, get a little court action going. “Houdini, with True Proceduralism(TM)”, anyone?
Anyway, I apologize since I'm not a Lightwave user so I may be oversimplifying what it entails, but AFAIK this just means assigning one channel to drive other multiple channels. There are dozens of ways to do that in Houdini, and that is it's true strength in one way, and a small curse in another. Not being a pre-rolled package to specifically drive, say, character animation, it might take a couple more steps. However, when you're in production, you'll bless the programmers at SESI because you can wire things up anyway you want, great for last minute fixes and clever design. Add to that the ability to package all this cleverness in OTLs and it's awesome.
Anyway, I'll point to a couple of locations in the docs, hopefully they'll get you started. If you're comfortable using equations and prefer that sort of method, you can RMB copy over params and paste references to them in other fields. Search for “Copy Values to Another Parameter” in the online docs.
If you eschew writing and managing formulae, that's what CHOPs were designed to do - essentially as SOPs gives you a fully procedural network approach to building and animating data, so CHOPs lets you import, massage, generate and export animation channels without all that tedious mucking about in hyperspace. Check out CHOPs in the docs for more info.
Let me know if i've missed the point.
Cheers,
J.C.
John Coldrick
- e:(oli
- Member
- 5 posts
- Joined: July 2005
- Offline
thanks for the reply…youve not missed the point at all…i think i need to look a little deeper into CHOPs….
what i want is when an object (such as a bone) reaches a certain angle (or position) for it to drive some other animated paramiter…when building rigs in maya this stuff is invaluable…and indeed im sure there are several ways to achieve this in houdini…i shall take a look at the docs again and come back if i am still a little astray…
thanks..
what i want is when an object (such as a bone) reaches a certain angle (or position) for it to drive some other animated paramiter…when building rigs in maya this stuff is invaluable…and indeed im sure there are several ways to achieve this in houdini…i shall take a look at the docs again and come back if i am still a little astray…
thanks..
- xiondebra
- Member
- 543 posts
- Joined: July 2005
- Offline
JColdrickGood one JC, I love it!
hehe…I love how all the other packages out there come up with TM names for stuff that Houdini has had before it existed(in Prisms) and is just called…Houdini.
OTOH, maybe SESI should start coming up with trademarks for this stuff, get a little court action going. “Houdini, with True Proceduralism(TM)”, anyone?
–Mark
========================================================
You are no age between space
You are no age between space
- jason_iversen
- Member
- 12672 posts
- Joined: July 2005
- Offline
Hey there,
The Set Driven Key is basically the same as the fit() expression in Houdini.
I not sure about Maya, but in Houdini you can have multiple segment functions in one channel - which means that every segment (the curve between keyframes) can be the warm home to a new fit() expression. You can quickly cobble together a very close approximation of the Set Driven functionality.
Hope this helps,
Jason
The Set Driven Key is basically the same as the fit() expression in Houdini.
I not sure about Maya, but in Houdini you can have multiple segment functions in one channel - which means that every segment (the curve between keyframes) can be the warm home to a new fit() expression. You can quickly cobble together a very close approximation of the Set Driven functionality.
Hope this helps,
Jason
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- pbowmar
- Member
- 7046 posts
- Joined: July 2005
- Offline
Daniel Kramer made a Set Driven Key TCL script, that would build a CHOP network for you behind the scenes.
Technically, Set Driven Key is easy in Houdini, but it lacks even a basic UI for setup, which is what Daniel provided.
The nicest part of many of the Maya tools is not what they do but how they do it. Set Driven Key should be as simple as “place stuff here, create relationship, move it here, create relationship” and you're done. As you may guess, Houdini does not offer that )
I don't think his script worked even in 6 or 7 for some reason, though.
Cheers,
Peter B
Technically, Set Driven Key is easy in Houdini, but it lacks even a basic UI for setup, which is what Daniel provided.
The nicest part of many of the Maya tools is not what they do but how they do it. Set Driven Key should be as simple as “place stuff here, create relationship, move it here, create relationship” and you're done. As you may guess, Houdini does not offer that )
I don't think his script worked even in 6 or 7 for some reason, though.
Cheers,
Peter B
Cheers,
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
- jason_iversen
- Member
- 12672 posts
- Joined: July 2005
- Offline
Personally I'd prefer it to be handled by segment functions instead of CHOPs, purely because the relationship is self-contained and a little easier to follow, perhaps?
It'd be a nice reach out to Maya artsts (riggers, mostly) to have nice UI support for it.
It'd be a nice reach out to Maya artsts (riggers, mostly) to have nice UI support for it.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- pbowmar
- Member
- 7046 posts
- Joined: July 2005
- Offline
- jason_iversen
- Member
- 12672 posts
- Joined: July 2005
- Offline
I believe channels are cached too now, no?
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- pbowmar
- Member
- 7046 posts
- Joined: July 2005
- Offline
- jason_iversen
- Member
- 12672 posts
- Joined: July 2005
- Offline
So this should be as fast as CHOPs, then?
Houdini 8.0.340: Caching of expression results for display in the graph editor is now available through preferences / animation / enable channel cache. This is most useful when using expressions that reference SOPs that require the SOP to cook during expression evaluation.
Unless this doesn't help execution speed when the channel editor is closed…
Houdini 8.0.340: Caching of expression results for display in the graph editor is now available through preferences / animation / enable channel cache. This is most useful when using expressions that reference SOPs that require the SOP to cook during expression evaluation.
Unless this doesn't help execution speed when the channel editor is closed…
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- e:(oli
- Member
- 5 posts
- Joined: July 2005
- Offline
thanks for the responces….i tried using the fit() expression on the translation of a sphere to drive another sphere twice the distance and it all went swimmingly….however with more complex relationships it is a bit of a hardship to write expressions for each..as you say it would be nice to have a connection editor UI of some sort….
i dont quite understand how to achieve the same thing in CHOPs yet, you guys have said that both expression channels and CHOPs are cached..so would there be any more advantage or overhead saving to be had in using CHOPs to drive this kind of relationship…
thanks again
i dont quite understand how to achieve the same thing in CHOPs yet, you guys have said that both expression channels and CHOPs are cached..so would there be any more advantage or overhead saving to be had in using CHOPs to drive this kind of relationship…
thanks again
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
Yeah I've been looking at this too, it's a bit like the situation with parenting points to objects (blatant plug - I'll stick this up on exchange soon), you can do it but there is no immediate obvious and easy way to do it which would be nice.
I was thinking it would be nice just to have it at object level like the blend obj.
This would perhaps just be good for character stuff and anything that needs more flexibility could be dealt with in chops.
I was thinking it would be nice just to have it at object level like the blend obj.
This would perhaps just be good for character stuff and anything that needs more flexibility could be dealt with in chops.
The trick is finding just the right hammer for every screw
- dank
- Member
- 29 posts
- Joined: July 2005
- Offline
Yea, I did write a tcl script that mimic's maya's connection editor and some setdriven key functionality. I haven't used it in a long time but the code exists here:
http://www.odforce.net/codex/interface.htm [odforce.net] Scroll down for “HouCon”
It probably doesn't work in the current ver.. I'll take a look if I have time.
Basically what I did was generate a lookup table in chops.. so when tx of object A is .5 it looks up the lookuptable curve and finds that tx of object b should be .8.. I think the chop to use is the “lookup” chop.
I wrote that script proably 6 or 7 years ago.. so it may be just too out of date and there are probably better interfaces for just a set-driven like UI. It is nice to have the visual system for setdriven like maya has, I'll agree.
I pretty much use fit() for everything in houdini.. but for more complex relationships with eases or other non-linear relationships it's easier to do visually.. at least to block it in.
daniel
http://www.odforce.net/codex/interface.htm [odforce.net] Scroll down for “HouCon”
It probably doesn't work in the current ver.. I'll take a look if I have time.
Basically what I did was generate a lookup table in chops.. so when tx of object A is .5 it looks up the lookuptable curve and finds that tx of object b should be .8.. I think the chop to use is the “lookup” chop.
I wrote that script proably 6 or 7 years ago.. so it may be just too out of date and there are probably better interfaces for just a set-driven like UI. It is nice to have the visual system for setdriven like maya has, I'll agree.
I pretty much use fit() for everything in houdini.. but for more complex relationships with eases or other non-linear relationships it's easier to do visually.. at least to block it in.
daniel
Daniel Kramer
Sony Pictures Imageworks
Sony Pictures Imageworks
-
- Quick Links