Daily Build: 20.0.758
- Fixed viewer update of DOP simulations when inside solvers.
Maybe this fix will finally do the trick.
Found 280 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Viewport preview inside Vellum Solver
- alexwheezy
- 283 posts
- Online
PDG/TOPs » How to make PDG attributes work with Flipbooks?
- alexwheezy
- 283 posts
- Online
That's some complicated way to render from a viewport. I would use a FilePattern node that would read files from disc and load them into File SOP, and then use the next node ROP Fetch to reference the OpenGL node that would do all the rendering.
Houdini Lounge » Debug Flag on VOPs?
- alexwheezy
- 283 posts
- Online
Bump this topic after 11 years.
Is the debug flag just a decoration now? Is it still not working?
Is the debug flag just a decoration now? Is it still not working?
Technical Discussion » Organizing your digital assets into folders?
- alexwheezy
- 283 posts
- Online
Technical Discussion » Is it possible to display another output on viewport?
- alexwheezy
- 283 posts
- Online
Houdini Indie and Apprentice » How to select the node with display flag?
- alexwheezy
- 283 posts
- Online
This is a good idea. It can also be developed in the direction where you want to get focus on the displayed node without clearing the selection from the current node.
import hou import nodegraphview def focusDispayNode(): editors = [pane for pane in hou.ui.paneTabs() \ if isinstance(pane, hou.NetworkEditor) and pane.isCurrentTab()] if not editors: return None for editor in editors: pwd = editor.pwd() if hasattr(pwd, "displayNode"): nodegraphview.frameItems(editor, (pwd.displayNode(),)) focusDispayNode()
Houdini Lounge » H20.5 - can we just ditch OBJ?
- alexwheezy
- 283 posts
- Online
I think the OBJ context exists for the same reason Mantra exists. It's backwards compatibility.
Houdini Indie and Apprentice » Stair-stepping in Pyro volume when using Sparse solver
- alexwheezy
- 283 posts
- Online
Nothing definite can be said from this screenshot and without knowing what settings you use for smoke, but changing the sourcing source from torus to cylinder in the default example doesn't break anything.
Houdini Indie and Apprentice » Sort Vector Array by Y Value in VEX
- alexwheezy
- 283 posts
- Online
Here it will be more convenient to use the argsort function to correctly reorder the order of points in the array.
int roots[] = expandpointgroup(0, "roots"); float y_coords[]; resize(y_coords, len(roots)); for(int i = 0; i < len(roots); ++i){ y_coords[i] = vector(point(0, "P", i)).y; } int ordering[] = argsort(y_coords); addprim(geoself(),"polyline", ordering);
Edited by alexwheezy - June 29, 2024 02:14:35
Technical Discussion » How to search for a shelf tool?
- alexwheezy
- 283 posts
- Online
raincolealexwheezy
hou.shelves.tool("sop_quadremesh").toolMenuLocations()
Thank you for the answer. That being said, I'm still not sure what "contextual tool" is... what's the difference between a contextual tool and a shelf tool? Can I create a contextual tool or it's hardcoded in Houdini?
SOP_Qauadremesh is indeed defined in SopStateTool.shelf, but that doesn't mean you can create this shelf directly. As you can see this shelf uses the state viewer for activation.
You can borrow a piece of code for your shelf to have similar functionality.
<tool name="sop_quadremesh" label="Quad Remesh (Beta)" icon="SOP_quadremesh">
<helpURL>operator:Sop/quadremesh</helpURL>
<toolMenuContext name="viewer">
<contextNetType>SOP</contextNetType>
</toolMenuContext>
<toolMenuContext name="network">
<contextOpType>Sop/quadremesh</contextOpType>
</toolMenuContext>
<toolSubmenu>Geometry/Polygons</toolSubmenu>
<toolSubmenu>Geometry/Polygons/Topology</toolSubmenu>
<script scriptType="python"><![CDATA[import soptoolutils
soptoolutils.customStateTool(kwargs, 'quadremesh')]]></script>
</tool>
import soptooltuils soptoolutils.customStateTool(kwargs, 'quadremesh')
Technical Discussion » How to search for a shelf tool?
- alexwheezy
- 283 posts
- Online
Basic module for working with shelves.
https://www.sidefx.com/docs/houdini/hom/hou/shelves.html [www.sidefx.com]
But it's a contextual tool, you won't find it on the shelf.
https://www.sidefx.com/docs/houdini/hom/hou/shelves.html [www.sidefx.com]
hou.shelves.tool("sop_quadremesh").filePath() hou.shelves.tool("sop_quadremesh").toolMenuLocations()
Technical Discussion » Remove empty attributes
- alexwheezy
- 283 posts
- Online
tamte
Like if int attrib like i@id has default value -1 would you consider it empty if all elements are at -1 ? Or still 0
Thanks, I forgot that Attribute Wrangle binds the attribute with a default value of -1 if no other value is specified while Attribute Create starts with 0 and the user needs to explicitly set -1 to match the Attribute Wrangle behavior.
Technical Discussion » Frequent system crashes when rendering / simulating
- alexwheezy
- 283 posts
- Online
If you don't consider the scene itself, even if you exceeded the RAM limit, the operating system usually kills such a process immediately, but you write about freezing. I would check the RAM via memtest and other diagnostic tools.
Technical Discussion » Remove empty attributes
- alexwheezy
- 283 posts
- Online
What do you mean by an attribute being empty?
All attributes have some default value. For example, for int type it will be zero, but zero is not an empty value. The only thing that fits the definition of an empty attribute is a string.
All attributes have some default value. For example, for int type it will be zero, but zero is not an empty value. The only thing that fits the definition of an empty attribute is a string.
Edited by alexwheezy - June 22, 2024 03:15:44
Technical Discussion » Attribute Wrangle in LOPs
- alexwheezy
- 283 posts
- Online
Technical Discussion » Python Callback Error
- alexwheezy
- 283 posts
- Online
cvsline
'E:/Material for work/SipiLib HDA's/sipiLib-main/otls/sipi-vectornoise-1.0.0.hda'
In python, strings are usually enclosed in single or double quotes and their number must be balanced. The script finds another single quote in your HDA's path that is in no way unbalanced. If possible, it is better not to use special characters in the path at all, including whatespaces, and replace them either with underscores or dashes.
Houdini Lounge » Houdini 20 Sop Network Dependency Problem?
- alexwheezy
- 283 posts
- Online
Technical Discussion » hou.ui.readInput() Only output zero at the first tuple
- alexwheezy
- 283 posts
- Online
As it follows from the documentation: The integer is the index of the pressed button.
This is necessary for those cases when you have more than one button by default the button argument is 'OK', if you make a tuple containing more than one button it will return the corresponding index.
This is necessary for those cases when you have more than one button by default the button argument is 'OK', if you make a tuple containing more than one button it will return the corresponding index.
Technical Discussion » Why is it Wrong typing "v@P += (0,@mask*3,0); "?
- alexwheezy
- 283 posts
- Online
jackdon4682
And I've noticed that claiming a vector should use {} instead of ()
Yes, this form only works with literal constants. Trying to use something else will cause an error.
Technical Discussion » Why is it Wrong typing "v@P += (0,@mask*3,0); "?
- alexwheezy
- 283 posts
- Online
The first option will create the value of only the last element. You can check this if you write, for example,
You can see that the remaining elements have no effect on the expression.
To make it work as a vector you need to change the example a little.
v@P += (0,@mask*3,10);
To make it work as a vector you need to change the example a little.
v@P += set(0,@mask*3,10);
-
- Quick Links