VOP cannot use CHOP

   3813   6   1
User Avatar
Member
104 posts
Joined: March 2008
Offline
I am trying to make 2 material shader get a smooth transfer (blend or mix)
so i add a “mix” in SHOP>VOP, then i write use a channel editor to edit the keyframe.

But it doesn't work , when i render , the value didnt change at all,
and the OP got a yellow border mean error on it

how should i do ? or is it VOP cannot use CHOP ??

Attachments:
sendpix11.jpg (191.1 KB)

User Avatar
Member
8597 posts
Joined: July 2007
Offline
you cannot animate vops directly, because they are being compiled to the vex code

what you need to do is create a parameter VOP and connect it to bias input (or middle click on bias input and choose Create Parameter Node)
the Parameter VOP will be promoted to the shader parameters and you can animate it there
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
7737 posts
Joined: July 2005
Online
Notice the yellow/black strips on your node. If you middle click on it, i'm pretty sure it will tell you that it's wrong to animate a VOP parameter.
User Avatar
Member
104 posts
Joined: March 2008
Offline
thanks for answering

and what about if I wan't to set a keyframe ?

i wan't the expression working while frame == 100 .

i try to write a while expression like that :

while($F > 100 && $F<200 ) # to select the keyframe
$F* 0.1 # the promote value
end # end

but look like it doesn't work , can I know more tips about animate VOP please?


thanks!!

Attachments:
sendpix3.jpg (106.8 KB)

User Avatar
Member
1145 posts
Joined: July 2005
Offline
As Tomas mentioned you can not animate a parameter in vops. This is a programming environment and the code inside vops is compiled into a material before it is used.
If you wish to animate a parameter you need to promote it out to the material level, using a parameter node.
Use the MMB on an input and “Create Parameter”… this will promote that parameter out.
Because the compile is happening so quickly it can seem like you have direct, interactive access to vops.
“gravity is not a force, it is a boundary layer”
“everything is coincident”
“Love; the state of suspended anticipation.”
User Avatar
Member
8597 posts
Joined: July 2007
Offline
according to your screencap, i can see that you have created the Parameter VOP, but notice that the parameter you are trying to animate is called “1 float default” which literally means that value specified there is used as the default value of the parameter when the VOP network is compiled. The actual parameter you want to animate is located one level above on the VOP network itself.
At this level you can animate it and use expressions

(i am not sure if your question was also about expressions then this might help you anyways)

you can use “if” expression to specify conditions
like if($F>100 && $F<200, $F*0.1, 0) or more complex

also notice in graph editor that you can select curve segment between 2 keyframes
then you can specify function of that segment like linear(), bezier()…
but besides those you can write there any expression you want and it will be used only for that segment
you can use there channel variables from http://www.sidefx.com/docs/houdini10.0/expressions/_globals [sidefx.com]
to have full control
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
104 posts
Joined: March 2008
Offline
thanks to everybody

and specially thanks to tamte, now i have a very clear idea, and I will try to work on it


cheers!!
  • Quick Links