Sculpt curve deformations in HDA

   1063   1   2
User Avatar
Member
79 posts
Joined: 2月 2008
Offline
I want to create an HDA to deform curves very similar to the guide groom sop.

I want the curves to deform based on the user strokes, the only difference is I want the root and tips to lock in place with no constraint on the length. I figured I would simply use the guide groom sop and add an attribute wrangle after it to copy back the positions of the tips and wrap this up into an HDA. I figured that, like when using a stroke or a draw curve sop, to expose the viewer state, all I needed was to promote the guide groom sop parameters to my HDA and add stroke to my node default state, but it isn't working. It gives me this error as soon as I start drawing in the viewport:

Invalid source /obj/geo1/subnet1/guidegroom1/extract_ramp_data/python1
Error: Python error: Traceback (most recent call last):
File “”, line 12, in
File “D:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/python2.7libs\hou.py”, line 13107, in attribValue
return _hou.Prim_attribValue(*args)
ValueError: invalid null reference in method ‘Prim_attribValue’, argument 2 of type ‘HOM_Attrib &’
.


Any idea how to fix this? Or any alternative to creating a similar custom grooming tool?

I've looked into the guide groom to figure out how it worked, but it's such a complex node. I guess I could do a duplicate of that operator into a new HDA and append an attribute wrangle directly inside that new version of the node to add the desired behavior… it just feels like a huge hack and I figure there must be an easier way to get that type of tool up and running !?
User Avatar
Member
79 posts
Joined: 2月 2008
Offline
I'm also getting some problems promoting the parameters of an attribute paint sop. I want to use it to scale the thickness (pscale) of the curves. I don't get any error message with this one, but when I paint from the HDA level, it just paint on the XY plane and never hits any of my curves points. If I jump inside the HDA and select the attribpaint sop and paint from there, it works as expected and I can easily increase or decrease the point values.

So I'm stuck with the same problem. How do I expose the same paint functionality directly on an HDA to match the functionalities I have when I do it directly on an attribute paint sop and a guide groom sop?
Edited by MathieuLeclaire - 2020年3月31日 21:43:38
  • Quick Links