Passing Stamps Params To Chops, It is possible?

   7211   16   3
User Avatar
Member
581 posts
Joined: July 2005
Offline
Hi houdiniks.
I think I did this some time ago, so I think is possible but I don;t remember how to do it to work.
The thing is that I have somme geometry that I am copying via the Copy SOP.
This geometry have some animation that is controlled via CHOPs to make retiming time warpings, etc …
My problem Is that I want different retimings, warpings, etc .. per copy so I am trying to use a stamp expression pointing to the the copy operator and trying to get some parameters from there into a Stretch CHOP, but it doesn't work.
I guess that because we have Copy CHOP the stamp function in CHOP only can get parameters from a Copy CHOP but I remember reading something about a stamp can get parameters from everywhere even out from his network .
The thing I am trying to do makes complitely sense, controlling CHOPs per copy, so I am sure there will be any way to do this.
Any clues about how to pass stamp parameters from a Copy Sop to operators in a CHOP Network.
I am putting the CHOP Network nested into the Geomtry object to have everything in the same object.
Thanks.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
It sounds like you might be wanting to use point attributes to control copy stamping and read back with the channel SOP. Does this

http://www.sidefx.com/index.php?option=com_content&task=view&id=1052&Itemid=132 [sidefx.com]

help? The copy CHOP performs a different function entirely because it copies the data along the timeline as opposed to per-point or per-channel.
User Avatar
Member
7046 posts
Joined: July 2005
Offline
Hey Pablo,

What you're doing should work just fine. Looks like it's buggy! I'll submit a bug report on the 9.1 Beta forum.

Cheers,

Peter B
Cheers,

Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks andrew I am now downloading it to check if I am missing something.
And yes Peter I am almost sure I have done something similar in the past it was fdor a crowd sim effect, I remember it was some tricky but finally I found a hack to do it, but now … it seems to be impossible.
My problem is that I am in a middle of a production and I need this, otherwise I have to change my asset complitelly because is impossible to propagate and animation using the Copy SOP.
Cross my fingers ….
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
7046 posts
Joined: July 2005
Offline
If you're in production, drop a line to Support! Doesn't help on the weekend I realise

One thing to try, that I didn't, was use /ch instead of a CHOPnet inside the Object. It might be that it doesn't work inside Objects or something. Of course, that means your HDA won't work right but you can likely hack around it somewhat.

Cheers,

Peter B
Cheers,

Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
whats the bug?
User Avatar
Member
581 posts
Joined: July 2005
Offline
pbowmar
If you're in production, drop a line to Support! Doesn't help on the weekend I realise
One thing to try, that I didn't, was use /ch instead of a CHOPnet inside the Object. It might be that it doesn't work inside Objects or something. Of course, that means your HDA won't work right but you can likely hack around it somewhat.
Cheers,
Peter B
If you are refering to use a ch expression into a Constant CHOP or channel CHOP that refers to the actually node, a SOP node, that do the stamp, I have tried it and don't work.
The problem is that I need some technique that allows the CHOP network to “know” in what copy I am now and create some random values to change the animation for this copy.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
unless I'm missing something major, that shouldn't be any problem. The rand() function as well as the $C variable can be used in the expression CHOP, and whatever data you'd like to use can be referenced with ic's.

You'd just want the same number of data channels as geo copies, which makes sense anyway if you're generating unique animation channels.
User Avatar
Member
581 posts
Joined: July 2005
Offline
andrewlowell
unless I'm missing something major, that shouldn't be any problem. The rand() function as well as the $C variable can be used in the expression CHOP, and whatever data you'd like to use can be referenced with ic's.

You'd just want the same number of data channels as geo copies, which makes sense anyway if you're generating unique animation channels.
Hey andrew I have just watched you video and it's great>
But my setup is a little different, you have all the stuff affecting to the right side of the Copy, to the template.
In my casu all the CHOPS stuff is in the left side, in the geometry to be copied.
I have several metaballs animated by some Transforms SOP.
What I want to do is to change this animation in a procedural way and in a per copy basis, and I wanto to use chops not only apply expressions to my channels in SOP, I want to have all the power of CHOPs to procedurally change the original animation and get several copies with several behaviours, so the CHOP network is getting the animation channels from the transforms SOP with a fetch , doing operations and finally with an export exporting again to the transforms, and in the middle of these CHOPs operations is where I need to know in waht copy I am or to get any different values per copy that allows me to create different animations per copy.
I hope I was able to explain teh situation as better as possible, fortunatelly I am not at the office , so I can't send a file with the scene.

Thanks
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
yeah, I'm sure there's a good way to get chops and copy-sop stuff working from the left side, but I would think anything that could be done on the left side could be done more easily and procedurally from the right side. Any local variable on the points can be passed to the copy SOP, and in tern up the left side of the chain-of-events.

Without trying it I would think the immediate disadvantage of doing full animation channel copying from the left side would be that CHOPs would have to cache the entire animation length for each object, and compute for each copy / frame. That to me would be a little weird, but I haven't really trouble shot that approach so I'm not sure.

Basically, anytime there is an animation playing I would want the channels to be “unchanging” in CHOPs. Even after your description I'm really not seeing where it couldn't easily be done with the $C variable and selective reading from ic expressions.

If you can give me a more specific idea of the operation you'd like to do I'd be glad to try it I'm always trying to learn more about chops or I'd be glad to look at a file andrew@andrew-lowell-productions.com
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks Andrew.
I will make a little break for holidays and the end of the next week I can put my hands again on the problem.
Hopefully any solution can be found
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
581 posts
Joined: July 2005
Offline
I have preapred a couple of test scenes to show what I am trying to do.
and surprise it seems that the same scene do things complitely different between H9 and H8.
In H8.1.866 seems to work perfectly whereas in H9.0.747 and H9.1.81.7 don't work as spected.
Maybe I am missing something but it seems to something different between H8 and H9.
Thanks

Attachments:
CHOPsStampingH8.hip (171.2 KB)
CHOPsStampingH9.hip (39.4 KB)

Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
4271 posts
Joined: July 2005
Offline
I think this is the same thing Bowmar was running into. It maybe a bug.

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=10673 [sidefx.com]
if(coffees<2,round(float),float)
User Avatar
Member
581 posts
Joined: July 2005
Offline
Wolfwood
I think this is the same thing Bowmar was running into. It maybe a bug.

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=10673 [sidefx.com]
Thanks wolfwood, yes it seems to be the same problem.
Hopefully this will be solved sooner.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
Yeah I never knew people worked that way. It's an interesting approach I'm just not sure where it would be advantageous. But, the more possibilities the better for sure.

This is the way I've used and it seems to work in 8 and 9 equally, also gives visual feedback within the noise CHOP.

Attachments:
otherside.hipnc (151.3 KB)

User Avatar
Member
581 posts
Joined: July 2005
Offline
andrewlowell
Yeah I never knew people worked that way. It's an interesting approach I'm just not sure where it would be advantageous. But, the more possibilities the better for sure.

This is the way I've used and it seems to work in 8 and 9 equally, also gives visual feedback within the noise CHOP.
Mmmm for me working in the left side is more intuitive, to apply chops to the geometry you want to change prior to the copy not to points you are going to copy on.
One adventage is that, and this is actually my problem, you can change animation channels on the fly.
Imagine that in the transform SOP, from the example, you have some channels animated, transforms and rotation for example.
Ok, now the thing we want is from this animation we are going to copy to our points, make changes with a lot of control, scalling the animasion, adding some noises to the channels, etc .. Well w want to read our channels into CHOPs, modify the channels into CHOPs in a per copy basis and return them, later copy it to the point that corresponds, and this for all the points in the template.
For such things I think that you definitely have to apply CHOPs in the left side.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
539 posts
Joined: Dec. 2005
Offline
o ok, yeah treating it more like a modeling / animation setup I see.

When I've run into similar issues of interactivity, such as a DA, I put a parameter on the top level of the DA which can be animated. This is fetched into CHOPs and applied to the appropriate place in the system.
  • Quick Links