Manuel Villemur
Manuloti
About Me
Connect
LOCATION
Not Specified
WEBSITE
Houdini Skills
Availability
Not Specified
Recent Forum Posts
LabelParmType.Heading Text? Aug. 7, 2024, 6:22 p.m.
I just arrived at the same question xD
I'm building a menu in a Null node and I wanted some .Heading type of label in it to better segment the parameters. Since the “label” argument doesn’t make the trick for this specific type of label (doesn’t show any text at all), I started mingling around a bit and managed to make it work, meaning I managed to assign a visible text value for mentioned label.
Basically you gotta retrieve the parm after creating it (and assigning it to the group, then node, naturally), and… set a value. In the documentation says the LabelParmTemplate “do not store parameter values”, yet… for this type of label, it seems that’s where you gotta set the whatever text/value you want the label to show. So… whateverLabel.set(“The title you want”).
I hope this serves you and anyone else who happens to confront this same issue/question : ), and if anyone needs that step by step, just tell me. On top of it, wouldn’t it be AMAZING for SideFX to include this in the documentation? A man can dream.
I'm building a menu in a Null node and I wanted some .Heading type of label in it to better segment the parameters. Since the “label” argument doesn’t make the trick for this specific type of label (doesn’t show any text at all), I started mingling around a bit and managed to make it work, meaning I managed to assign a visible text value for mentioned label.
Basically you gotta retrieve the parm after creating it (and assigning it to the group, then node, naturally), and… set a value. In the documentation says the LabelParmTemplate “do not store parameter values”, yet… for this type of label, it seems that’s where you gotta set the whatever text/value you want the label to show. So… whateverLabel.set(“The title you want”).
I hope this serves you and anyone else who happens to confront this same issue/question : ), and if anyone needs that step by step, just tell me. On top of it, wouldn’t it be AMAZING for SideFX to include this in the documentation? A man can dream.
How do I retrieve a USD attribute in Hscript? July 14, 2024, 5:55 p.m.
Hello Houdini community!
Today I come again with a doubt I cannot answer myself after much looking around.
As the title describes, I’m wondering how can I call an attribute in Hscript in a LOP/Solaris environment, most specifically around USD primitives.
In my case, what I’m trying to do is to rename a USD primitive(procedurally). As far as I read, in this environment, the name is stored as @primname or even I can refer back to @primpath per se, being the complete path. I tried changing any of these in VEX, using usd_setattrib(), but instead what I got was a new attribute. I understand the path per se and/or the primitive name don’t show up in the tree view of the attributes in the Geometry Spreadsheet natively, so I guess they’re not accessible to be edited in VEX.
In consequence next thought was to use some node where I could feed a new @alt_name attribute. Exploring options, I found Restructure Scene Graph, where the incoming name of primitive is stored as @name. So, my question is… how do I access that @alt_name I created. By just feeding it… it doesn't work, either as an attribute or a primvar attribute. Reading a bit more in the documentation, it suggests that these USD primitives are regarded as… good old prims, hence I though that maybe `prims()` (since it's a string) would do the charm, but it’s a bit like mixing pears with apples, since that function requires a primitive number, and these USD primitives don’t have that. They have… an ID, a path for sure, but they’re not “good old prims”.
So, in Hscript, how do I retrieve a USD attribute? 🤷🏻♂️
(or alternatively, how do can I change a USD name/path in VEX)
Thanks in advance and I hope you find the question of interest!
Any questions are welcomed : )
Today I come again with a doubt I cannot answer myself after much looking around.
As the title describes, I’m wondering how can I call an attribute in Hscript in a LOP/Solaris environment, most specifically around USD primitives.
In my case, what I’m trying to do is to rename a USD primitive(procedurally). As far as I read, in this environment, the name is stored as @primname or even I can refer back to @primpath per se, being the complete path. I tried changing any of these in VEX, using usd_setattrib(), but instead what I got was a new attribute. I understand the path per se and/or the primitive name don’t show up in the tree view of the attributes in the Geometry Spreadsheet natively, so I guess they’re not accessible to be edited in VEX.
In consequence next thought was to use some node where I could feed a new @alt_name attribute. Exploring options, I found Restructure Scene Graph, where the incoming name of primitive is stored as @name. So, my question is… how do I access that @alt_name I created. By just feeding it… it doesn't work, either as an attribute or a primvar attribute. Reading a bit more in the documentation, it suggests that these USD primitives are regarded as… good old prims, hence I though that maybe `prims()` (since it's a string) would do the charm, but it’s a bit like mixing pears with apples, since that function requires a primitive number, and these USD primitives don’t have that. They have… an ID, a path for sure, but they’re not “good old prims”.
So, in Hscript, how do I retrieve a USD attribute? 🤷🏻♂️
(or alternatively, how do can I change a USD name/path in VEX)
Thanks in advance and I hope you find the question of interest!
Any questions are welcomed : )
How to reference @ptnum in a point() Expression Function Aug. 29, 2023, 7:24 p.m.
I mean, I get @curveu role in the procedure. I myself, since I didn't have any pre-existing geometry, I got my "0-1" value from dividing the total angle between the vectors, by an arbitrary value I used as a step, hence I... controlled the number of iterations (generated points) and the by adjusting that "current angle" in the the total angle range, I got my "rampos", or "u" in your example. I added some other goodies (using the blessed lerps xD) to "tame" it a little bit further to my taste (depending on the situation), and now I'm... generating the quads between the lines, but so far it looks like this, and I'm really happy about it.

Now, what I don't get, it's the... semantics in "how is it possible @curveu is evaluated if it appears after the chramp()". I don't come from a coding background (from graphics, not even computer graphics), so I don't "return P" xD, or declare "vector rotate_chramp(vector A,B,C; float u)". I was wondering if that was a vector4, but I don't think so, I guess it’s just another way of declaring the variables, etc. Is just… my flagrant ignorance on C, C++, Python and "all the above". For what is worth, VEX is the first "coding" language I do a relative deep dive in, nearly 2yrs so far, and mainly out of... the acknowledgement I have to explore it and utilize it daily and thoroughly to come up with solutions for procedural geometry projects.
Anyhow, I'm reaaaally thankful for the guidance : ) .
Now, what I don't get, it's the... semantics in "how is it possible @curveu is evaluated if it appears after the chramp()". I don't come from a coding background (from graphics, not even computer graphics), so I don't "return P" xD, or declare "vector rotate_chramp(vector A,B,C; float u)". I was wondering if that was a vector4, but I don't think so, I guess it’s just another way of declaring the variables, etc. Is just… my flagrant ignorance on C, C++, Python and "all the above". For what is worth, VEX is the first "coding" language I do a relative deep dive in, nearly 2yrs so far, and mainly out of... the acknowledgement I have to explore it and utilize it daily and thoroughly to come up with solutions for procedural geometry projects.
Anyhow, I'm reaaaally thankful for the guidance : ) .