vinz
April 10, 2008 08:21:10
Hi,
In the vop example simplemetaimport, there's op:`opfullpath(“.”)`/Metaballs/OUT in a file field.
the opfullpath is in the help, but couldn't find anything on op:
I guess it allows to use a sop instead of a bgeo file, but I tried to modify the file field in the shader in the heavy smoke fx, so that I didn't have to render the metaballs bgeo, but I got a black screen.
Thanks a lot for clearing things up!
probbins
April 10, 2008 09:12:14
Not that it is technically accurate, but I think of “op” as the operator equivalent of “ch”.
When you want to do a channel reference you need to declare that that is your intention, so you preface your channel path with “ch”.
To use OPerator functions or expressions you need to declare that with “op”.
To quickly see a list of available op functions open a hscript textport and type “help op”
To see the op expressions type “exhelp op”
You can get a description of how each works by identifying the specific name,
ie: “exhelp opfullpath”
By the way there is no help browser entry for “ch” either.
vinz
April 10, 2008 09:52:46
Thanks for answering but I think you misunderstood the question, sorry if I wasn't clear enough.
in the example I'm talking about, there's “op:`opfullpath(”.“)`/Metaballs/OUT” (whitout the quotes), in a file field.
The opfullpath() I understood, so the above is equivalent to “op
obj/simplemetaimport/Metaballs/OUT”
It's the little “op:” in the beginning which is unclear.
Thanks
symek
April 10, 2008 12:32:55
As I see this, op: is a name of the protocol in exactly the same sense as http: or ftp: which you're familiar with.
It says: “the path following me isn't pointing to a file on disk, it's pointing to a a Houdini operator instead, treat it as it would be such file, please”.
In other words whenever some parameter expects the input which corresponds to an output of some operator, you can use op:.
I would even say (not sure of that though), that this concerns only parameters that accepts FILES names. What leads to above protocol analogy.
COPs output images -> shaders accepts images.
SOPs output geometry ->VEX SOP accepts geometry.
ch() on the other hand, evaluates only channel's value, not an internal data of the operator.
vinz
April 10, 2008 17:37:54
Thanks for the explanation, will have to try again with the heavy smoke shader.