Jump to content

scene level chops?


Recommended Posts

Hi there. it sure is possible to drive them. :) The Geometry CHOP is good if you're attempting to fetch point attributes (such as P, N, and/or everything else nice) from a piece of geometry in SOPnet. However, if you want to fetch just a particular channel (parameter) from a particular operator (a.k.a node), you will need to use Fetch CHOP instead. With the Fetch CHOP, you'll need to know which channel you're attempting to fetch (i.e.: tx, ty, tz, life, id, etc). You can fetch multiple channel at a time using space-separated list (same thing with Geometry CHOP too). When you have these data in, you'll probably work with the animation data almost like you would with compositing an image. After you're done, there are 3 ways for you to export the CHOP data back to an operator. One is to use Export CHOP if you're dealing with channel data. The other is using Channel SOP if you're dealing with attribute type data. And 3rd, there are various CHOP related functions, such as chop(), chopf(), etc. which you can use to grab data instead of using Export CHOP.

I have attached in here your slightly modified file using chop() and Export CHOP. They're color-coded yellow. Feel free to let us know if you have any questions. :)

HTH.

Tenticle_v003_alex.hipnc

Link to comment
Share on other sites

Thanks for taking a look at that!

Your explanation of the CHOPS data types has cleared up some confusion for me. Clearly I need to spend more time in this part of Houdini - didn't know you could bring in other attributes other that the motion ones (tx,ty,tz etc..)

Thanks again!

Link to comment
Share on other sites

I'm experimenting with some nulls to get the hang of these chops :)

You mentioned using space seperation to grab more than one channel at once and I've combined that with a wild card to export the data to multiple nulls. However the behaviour is somewhat unexpected. If you fetch the data from a single source multi channel - tx ty tz and apply it directly to another object, it does what I thought it would - constrains one to the other. But if you use a wild card '?' it sends the tx channel to one object, the ty to another and tz to the other. I was expecting all three to stick to the 'lead' then would have applied a lag and got a chase effect.

In this instance would I need separate exports for the follow nulls?

Nulls.hipnc

Link to comment
Share on other sites

Hi there,

You can have multiple Export CHOP. Just have to make sure that you shift+LMB on each Export CHOP's export flag to get them to export. :) Otherwise, you can just bypass Export CHOP and use chop() instead on the nulls that you want to receive CHOP data from.

I think you can use * or ? too, provided that your channel name in CHOP. Sometimes, I would do things like t[xyz] to denote "tx ty tz" or t* to denote t<any characters> instead of using space separated list.

I think the important thing here is that the naming scheme ought to match between CHOP's channel name vs. node parameter's channel name. Otherwise, you'll have to explicitly tell the parameter which CHOP data you're trying to get. For example, if 3 of your channels are named as follow in CHOP: tx ty tz. When you use Export CHOP to export that data out to a Transform SOP, which happened that it has parameter named: tx ty tz. Export CHOP should automatically map your CHOP's channel appropriately to the Transform SOP's tx ty tz parameter.

Did it make sense or did I just confused you further...?

HTH.

Link to comment
Share on other sites

Did it make sense or did I just confused you further...?

:unsure: umm...I might have got a bit confused actually!

Not too sure how to set this up, but I'm thinking I would need to use the export chop for the first object I want controlled and then use the chop() on the others?

If I set things up right, what should my function look like? I got chop("../chopnet1/export1")....not working though because presumably I need to reference the channels too, just not sure how :huh:

EDIT: - ah you said I could bypass Export altogether...yep!.. I'm lost now :)

Edited by Steve Cullum
Link to comment
Share on other sites

If I set things up right, what should my function look like? I got chop("../chopnet1/export1")....not working though because presumably I need to reference the channels too, just not sure how :huh:

You're close ... let's saying you are dealing with the tx parameter of the follow1 node then the function would read chop("../chopnet1/export1/tx"). You can slug in whatever channel is found in that export chop node (ie. chop("../chopnet1/export1/ty") )

HHTH

Rob

Link to comment
Share on other sites

Hey there. Sorry for the confusion.

Well, basically, what I am trying to get at is that there are probably 2 or 3 different ways to export CHOP data out. You can use any one of them.

1) You can use multiple Export CHOP to export to different operators. So one Export CHOP might try to export data to, say, /obj/null1 while another Export CHOP might be exporting to /obj/null2. You'll simply have to make sure that your CHOP data name matches that of your Null Object's parameter in order for Export CHOP to know which channel is supposed to be exported to where. And finally, you'll have to make sure that the export flag of the Export CHOPs are enabled for the export to happen.

2) Or, if you don't want to use Export CHOP, you can use chop() instead. In your /obj/null1 Object, for example, in the tx channel field, you use the chop() to grab any data from any CHOP node, as Rob pointed out.

3) This is specific to SOP. You can also use Channel SOP to grab data from CHOP as well if you're dealing with geometry attributes as opposed to those node parameters itself.

Anyhow, hope that explained a bit better. :)

Link to comment
Share on other sites

Great!

I understand it better now...chop() works great at the obj level. I started playing about with bringing point geometry into chops... lots of fun!

Maybe when I finished messing about with all the different networks and nodes, I'll actually get round to making something proper, but there are so many toys to play with its hard to know where to begin :lol:

Thanks again!

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