[Sidefx-houdini-list] I3d Opacity

martin matzeder hip at booyabase.de
Sat Aug 5 14:15:46 EDT 2006


Yes, indeed this detailed explanation is a big help.

martin

Jaideep Khadilkar schrieb:

>HI Andrew...
>
>Thank u very very much. You gave a very valuable information. I was always confused about the attributes and variables in Houdini. I don't know why don't they explain it in thier Docs. I still haven't tested my new I3d Opacity VOp, cause I was busy in something else. Also, I am now eager to create my own Custom Sop to create the varibles. I will see how it goes.
>
>Thanks,
>iamjaideep80
>Jaideep Khadilkar
>(TD, Sciclone Motion Graphics)
>
>
>
>Andrew D Lyons <tstexture at gmail.com> wrote: On 04/08/06, Jean-Claude  wrote:
>  
>
>>hm.. here I might lack of english knowledge.. cause I dont really got the point... sorry -_-
>>    
>>
>
>Here's a humor-less and slightly tabulated explanation.
>
>As you probably know - in Houdini, points can have attributes. You can
>also assign a variable to that attribute for referencing it's values
>easily in expressions. (If you look in the "attribute create" sop you
>will see how this can be implemented.)
>
>As an example of the general case in Houdini, lets look at the normal
>attribute and it's default variable:
>----------------------------------------------------
>Attribute name = nx ny nz
>Variable name = $NX $NY $NZ
>
>where:
>$NX = nx = normal x component
>$NY = ny = normal y component
>$NZ = nz = normal z component
>----------------------------------------------------
>Generally things in Houdini are kind of straight-forward and intuitive
>like this. The default variable is usually just an upper case version
>of the attribute name with a $ sign in front of it. (You can obviouly
>create arbitrary variable names using different conventions in the
>AttribCreate SOP.)
>
>
>The $LIFE variable does not however have such a direct and intuitive
>mapping between the attribute and the variable.
>----------------------------------------------------
>Attribute name = life[0] life[1]
>Variable name =$LIFE $AGE
>
>where:
>
>$LIFE = life[0] / life[1] = the normalized age of the particle
>(between 0 and 1).
>$AGE = life[0] = the age of the particles in seconds.
>
>P.S. In POPs there is also a $LIFESPAN:
>$LIFESPAN = life[1] = the duration that the particle is going to live
>for in seconds.
>
>----------------------------------------------------
>
>This whole area is a regular cause for confusion for Houdini
>beginners. While the $LIFE variable is confusing because it's a break
>with the general convention exemplified in the normal attribute and
>it's variable, IMHO the nature of variables in Houdini in general is
>confusing and needs simplification:
>
>* Why do some attributes get default variables created and others don't?
>* Why don't all attributes get an associated variable created by default?
>
>A number of Houdini using FX houses now have custom SOPs which
>auto-create a variable for the multiple attributes created in each
>instance of that custom SOP. Given the amount of work we do massaging
>attributes with expressions for certain effects this massively cuts
>down on huge chains of AttribCreate SOPs and/or
>point("../"+opinput...) expressions.
>
>It seems to me that we want a default variable for an attribute more
>often than we don't.
>I personally would like to see all attributes created get a default
>variable. I'd rather delete unwanted variables with one sop at the end
>of a network than have the huge chains of SOPs and expressions needed
>to create them manually. I don't believe the user time required to
>create all those variables is justified by the speed or memory
>overhead involved in having them there by default.
>
>Thoughts?
>
>Cheers
>
>  
>




More information about the Sidefx-houdini-list mailing list