[Sidefx-houdini-list] I3d Opacity

Jean-Claude jclaude at mimgfx.com
Sat Aug 5 18:21:20 EDT 2006

Thanks a lot Andrew,

that helped me a lot.

really appreciated.

sad, tought, that i didnt got the humor-full side of other replies.. but it must be cause of my bad english :D


Andrew D Lyons wrote:
> On 04/08/06, Jean-Claude <jclaude at mimgfx.com> 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

.: jean-claude
.: mimgfx dot com

More information about the Sidefx-houdini-list mailing list