amm

amm

About Me

Expertise
Not Specified
Location
Not Specified
Website

Connect

Recent Forum Posts

Link with? Aug. 13, 2018, 2:53 p.m.

Grendizer
One more clarification :
tx, $TX, $N, @Frame : are they all “attributes”?

Strictly speaking, I'd say no one, tx is parameter, others are variables.

By docs, attributes are named values stored on geometry, like point position, normal, weigthmap, or custom attributes. Parameter is option on a node, like transforms, rendering or viewport visibility options. So, naming and functionality is similar to Softimage, where word ‘attribute’ means ICE geometry attribute.
Attributes are ‘physically’ stored on geometry. If you use Attribute Create SOP (or something else) to create let's say my_attr attribute, and you save that piece of geo to hard disk as .bgeo file, using File SOP, my_attr attribute is saved too, you can use my_attr by loading .bgeo in another scene.
Now, variable… usually this means a named storage space in memory that contains a value we can read or write. In Attribute Create SOP, there's ‘local variable’ option. If this is left blank, Houdini will initialize (initialize = store in memory) a local variable called MY_ATTR. Let's say, variable is a virtual child (whatever that means ) of attribute, raised into memory for immediate use by app - while variable could be created by something else than attribute, which probably is case with @Frame.

Link with? Aug. 12, 2018, 1:07 p.m.

Yeah I think it is explained in docs, while it's not short story, perhaps because of historical reasons.
In practice, let's say if you apply Polywire SOP over something polygonal, it will show something like $NSEG in expression for controlling the segment scale. If I'm correct (could be wrong) $NSEG (number of segments) is a ‘child’ of certain attribute, created by Polywire SOP.
Local variable (uppercase thing) has to be created, to allow h expression to be able to access the data. This is the ‘old way’.

'New way' is in Polyextrude SOP - if you want to control the scale of extrusion distance, you create a zscale primitive attribute using Create Attribute SOP (of course this one goes before Polyextrude SOP), and enable ‘zscale’ into ‘local attributes’ tab of Polyextrude SOP, and that's all.

This was all about mesh components like vertices, points, primitives, details.

When it comes to transforms and channel expressions, local (in parent space) transform is as you said, tx or such, lowercase without $. You'll use $ if you want to access something and combine it with tx. There's expression cookbook [www.sidefx.com] in docs.

Link with? Aug. 12, 2018, 6:57 a.m.

$TY is Y position of point (vertex in Maya), dollar sign belongs to hscript expressions, gradually phased out from H.
Local and global expression variable is about Houdini structure, how Houdini handles the data, it's not about transforms. Let's say global expression variable $F is current frame.
When it comes transforms, H is similar to Maya. rz or ty are local (in parent space) z rotation and y translation. Global transform is not exposed all around like in Softimage, you have to compute it somehow, probably by CHOPs.

Simple way to link parameters (without remapping) is RMB over parameter name, ‘copy parameter’, RMB over another and ‘paste relative references’. Later, you can edit the created expression.