Beginner's Questions

   7346   7   2
User Avatar
Member
48 posts
Joined: Oct. 2009
Offline
1. What is the difference between a parameter and an attribute?
2. What is the best way to access this data? e.g. to use the position of a specific point in the expression for a different object
Or, how do I use the value to parameter /obj/sphere_object1/sphere1/tx in other expressions? Do I have to use an expression function?
3. Sometimes, I enter a dodgy parameter expression and the node block in the network gets red… I guess this is indicating an error. Sometimes, I forget where I might've done something wrong. Is there a button I can click to take me to the cause of the problem?

Thanks!
User Avatar
Member
8555 posts
Joined: July 2007
Offline
1.)
http://www.sidefx.com/docs/houdini10.0/network/parms [sidefx.com]
http://www.sidefx.com/docs/houdini10.0/model/attributes [sidefx.com]

2.)
to access certain attribute values like position of N-th point of the geometry you can use expressionss like point(), prim(), detail(), vertex()
http://www.sidefx.com/docs/houdini10.0/expressions/point [sidefx.com]
http://www.sidefx.com/docs/houdini10.0/expressions/prim [sidefx.com]
http://www.sidefx.com/docs/houdini10.0/expressions/detail [sidefx.com]
http://www.sidefx.com/docs/houdini10.0/expressions/vertex [sidefx.com]

to access value of certain parameter you can use expressions like ch(), chs(), chsop()…
e.g. ch(“/obj/sphere_object1/sphere1/tx”)
but this is usually done by copying the parameter and pasting as relative reference to the other one, or just drag'n'drop
take a look here
http://www.sidefx.com/docs/houdini10.0/network/parms [sidefx.com]
section named: Copy, paste, and link parameter values
you do not have to use expressions, there are also CHOPs for that, but it depends on purpose

3.) when there is an error in expression and the node turns red, just middle click on the node and you can see the error message at the bottom

I recommend you to take a look at Hscript Expressions tutorials for more info
http://www.sidefx.com/index.php?option=com_content&task=view&id=1500&Itemid=132 [sidefx.com]
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
48 posts
Joined: Oct. 2009
Offline
Hey,
Thanks Tomas, that's been a lot of help.
User Avatar
Member
36 posts
Joined: Oct. 2007
Offline
tamte
to access value of certain parameter you can use expressions like ch(), chs(), chsop()… e.g.
ch(“/obj/sphere_object1/sphere1/tx”) but this is usually done by copying the parameter and pasting as relative reference to the other one, or just drag'n'drop
Where can I find the channel parameters other than the ones accessible for copy/pasting? Is there a list of standard channels or such (the actual path obviously depend on the location of the node, but the parameter names)?

For example, I think I saw somewhere that there are channel paths to the individual points in the geometry, but I can't find that information anywhere in the help files.

Thanks,
Fredrik
User Avatar
Member
8555 posts
Joined: July 2007
Offline
Fr3drik

Where can I find the channel parameters other than the ones accessible for copy/pasting? Is there a list of standard channels or such (the actual path obviously depend on the location of the node, but the parameter names)?

For example, I think I saw somewhere that there are channel paths to the individual points in the geometry…

there are no other parameters you can access through ch(), chs(), … functions other than the ones you can see in the UI of the node
the real parameter names can be obtained through positioning the mouse over parameter label and waiting a while
(of course there can be some invisible parameters you can still access and those you can find in Edit Parameters Interface, but that is not what you are asking about)

to access informations from individual points use point() hscript expression function (read my previous post again), or maybe other expression functions or local variables, depending on what you want
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
1145 posts
Joined: July 2005
Offline
Fr3drik
tamte
to access value of certain parameter you can use expressions like ch(), chs(), chsop()… e.g.
ch(“/obj/sphere_object1/sphere1/tx”) but this is usually done by copying the parameter and pasting as relative reference to the other one, or just drag'n'drop
Where can I find the channel parameters other than the ones accessible for copy/pasting? Is there a list of standard channels or such (the actual path obviously depend on the location of the node, but the parameter names)?

For example, I think I saw somewhere that there are channel paths to the individual points in the geometry, but I can't find that information anywhere in the help files.

Thanks,
Fredrik

There are two ways you can view some of the information you are asking about.
If you RMB on any node and choose “Animatable Parameters” from the menu you will get a floating pane that lists all the parameters available for that node.
You can also see detailed information regarding attributes on geometry by creating a Details pane.
There is no direct channel reference to individual points, you would use a variable like $PT to gain access to specific points.
“gravity is not a force, it is a boundary layer”
“everything is coincident”
“Love; the state of suspended anticipation.”
User Avatar
Member
36 posts
Joined: Oct. 2007
Offline
Thank you for the clarifications. I must have dreamed that I saw a point channel…

Fredrik
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
To clarify on accessing point attributes you use the point() expression. $PT just happens to be a local variable to many SOP Geometry nodes that returns you the current point number being processed.

The confusing part for many Maya users transitioning over is that you have to learn each SOP's interface. What local variables can each SOP geometry node use and what attributes can it modify directly.

There is a common request for a complete list of attributes that you can modify. Search the forums to see results. The proper answer is to get to know the key SOP Geometry nodes and study the node help. Pay close attention to the list of local attributes and what class of attributes you can modify.

The four key SOP geometry nodes are:

Vertex SOP access/modify vertext attributes
Point SOP access/modify point attributes
Primitive SOP access/modify primitive attributes
Attribute Create SOP create/access/modify all classes of attributes


The four key expressions are:

vertex (string surface_node, float primitive_number, float vertex_number, string attribute, float index)
point (string surface_node, float point_number, string attribute, float index)
prim (string surface_node, float prim_num, string attrib_name, float attrib_index)
detail (string surface_node, string attrib_name, float attrib_index)


You can search for these expressions in the help or use the textport. Most use the textport. To open the textport use the hotkey combination alt-shift-t.
Type in exhelp point to get the usage information for the point expression. Type in exhelp poi to get a list of all the hscript expression functions that begin with poi.

You may be used to seeing all external references to a node as a link. You can set up Houdini's networks to see all external dependencies as wires. In the network pane, hit the “d” hotkey. Go to the Network View > Dependency folder and try out the various options.
RMB on any dependency link or halo to get a set of options wrt source and dependent nodes.
RMB on any SOP with external dependencies and choose the “View Dependencies…” option. There you can see which attribute parameters are being referenced to or from this node.

Another thing you may be used to is managing all the attributes discretely. In Houdini each SOP geometry node tries it's best to pass on all the attributes to the next node. No need to manage this part of the process.

Yet another thing you will love in Houdini is that all nodes just process whatever is fed in to them. No need to delete construction history so don't even ask that one. If you really need to bake out a step for performance reasons, you have a couple choices: Lock the SOP Geometry node or write the data to disk (see File SOP, ROP Geometry SOP) then read it back in with a File SOP.

Hope that helps.
There's at least one school like the old school!
  • Quick Links