Yah I may submit a bug on that. If the input geom you feed into the constraint node has "color" on it already, and usually its not a single integer attr, just by the nature of what most would consider a "color" it seems to just pass that thru to the constraint geometry and its definitely bad.
Its definitely a "simple" attribute name that I feel like would/could get used a lot, and unfortunately is part of our default pipeline currently.
Thanks for the quick response.
Found 75 posts.
Search results Show results as topic list.
Technical Discussion » Vellum "color" attribute
- redpaw
- 75 posts
- Offline
Technical Discussion » Vellum "color" attribute
- redpaw
- 75 posts
- Offline
Just ran across this, wondering if It's a feature of some sort? or I found an obscure bug?
If you build a fairly default vellum cloth simulation example like so:
grid -> vellum config cloth -> vellum solver
and your geometry has a primitive attribute called "color" on it,
the sim cloth geometry will absolutely freak out and worm its way all over the place in an indeterminate way.
removing that attr will restore normal operations...
is this a sacred attr name that should be avoided for vellum? (or a bug?)
I searched the docs and couldn't find anything regarding an attribute named "color"
regarding vellum constraints nor vellum solver.
If you build a fairly default vellum cloth simulation example like so:
grid -> vellum config cloth -> vellum solver
and your geometry has a primitive attribute called "color" on it,
the sim cloth geometry will absolutely freak out and worm its way all over the place in an indeterminate way.
removing that attr will restore normal operations...
is this a sacred attr name that should be avoided for vellum? (or a bug?)
I searched the docs and couldn't find anything regarding an attribute named "color"
regarding vellum constraints nor vellum solver.
Technical Discussion » Polyextrude Distance Scale
- redpaw
- 75 posts
- Offline
While its annoying that this node doesn't just work with connected faces.. its a simple post fix:
- drop a rest before the extrude
- then do your extrude
- After drop a pointVop and set up a ramp to mix back to the rest position based on your ramp values
- drop a Fuse if you are ramping back to zero and want to consolidate your points
Solaris and Karma » Lop import only active/visible prims
- redpaw
- 75 posts
- Offline
OK I think I figured it out ... custom traversal works fine for this... however what is still a bit weird is that de-activated prims effectively have no bounds or size, I guess this kinda makes sense for bounding calcs but if you are trying to filter de-activated prims you then have to activate them first before you can view them in their proper location.
Solaris and Karma » Lop import only active/visible prims
- redpaw
- 75 posts
- Offline
This has to be a thing right? If I have a bunch of prims pruned out in LOPS (deactivated or invisible) and I want to bring the rest of the prims left(only the active/visible ones) into SOPS is there a way to do this? I can't seem to find a simple way to filter by "active" I hope I'm just missing something simple somewhere here...
I'm hoping for a simple prim selection expression here... but right now I'm leaning toward some crazy workarounds..
Is there a way to do this?
I'm hoping for a simple prim selection expression here... but right now I'm leaning toward some crazy workarounds..
Is there a way to do this?
Edited by redpaw - March 17, 2023 16:48:48
Technical Discussion » Bullet Collision Object velocity
- redpaw
- 75 posts
- Offline
I am hitting a wall and hoping someone can enlighten me here.
I have an animation of bullet RBDS and a collider animation. I'd like to overcrank the velocity on the collider object, without
re-animating it to move faster.. so when the collision happens it imparts 2-5x the amount of force on the active RBDS it normally would.. for the life of me, I can't get this to work in a simple manner... I can probably do some trickery with transferring attributes from the collider to the RBDS and using this as a mask to mult up the velocity in a pop wrangle inside the solve, but that seems like overkill?
Am I missing something here? thanks!
-johnc
I have an animation of bullet RBDS and a collider animation. I'd like to overcrank the velocity on the collider object, without
re-animating it to move faster.. so when the collision happens it imparts 2-5x the amount of force on the active RBDS it normally would.. for the life of me, I can't get this to work in a simple manner... I can probably do some trickery with transferring attributes from the collider to the RBDS and using this as a mask to mult up the velocity in a pop wrangle inside the solve, but that seems like overkill?
Am I missing something here? thanks!
-johnc
Technical Discussion » Enter into viewer state/context of a node inside an HDA
- redpaw
- 75 posts
- Offline
Ah.. I FINALLY got it working! This may not be the easiest way, but it does work! So as in the video,
I used the "import block" to pull in all the attributes from the pathdeform node.
Then to get the handles and all the drawables to work, promoted up..
I ended up copying the whole python state, from the pathdeform to my HDA and then
I finally figured out that it needed to point at the nodes from within the pathdeform to do a lot of the drawables and custom handles. so I just did a search for anything with node.node("<nodename>") and tagged in "pathdeform1/<nodename>"
and it all works like a treat!
Thanks all for the help. If anyone has other ideas or ways for this to work differently feel free to keep chiming in!
-johnc
I used the "import block" to pull in all the attributes from the pathdeform node.
Then to get the handles and all the drawables to work, promoted up..
I ended up copying the whole python state, from the pathdeform to my HDA and then
I finally figured out that it needed to point at the nodes from within the pathdeform to do a lot of the drawables and custom handles. so I just did a search for anything with node.node("<nodename>") and tagged in "pathdeform1/<nodename>"
and it all works like a treat!
Thanks all for the help. If anyone has other ideas or ways for this to work differently feel free to keep chiming in!
-johnc
Technical Discussion » Enter into viewer state/context of a node inside an HDA
- redpaw
- 75 posts
- Offline
Thanks for the video link! It was helpful to see how its done with the Attrib-paint however it seems its a bit trickier with the node I'm trying to use, pathdeform hopefully I'll figure out the right combination at some point.
Technical Discussion » Enter into viewer state/context of a node inside an HDA
- redpaw
- 75 posts
- Offline
Hi again, back at this on a new HDA. I still haven't gotten this working unfortunately.
I want the default "enter" key state for my wrapper HDA to invoke the state of the internal pathdeform node,
so I can get the handles that the pathDeform node has to slide / scale an object down the path.
The simplest thing, putting "pathdeform" in the default state in my wrapper HDA doesn't work, I've seen this work however with the "stroke" node? so why is it not working with pathdeform?
I also tried making my own State in my wrapper HDA, using the simple keyboard template, and setting the onEnter to do
hou.SceneViewer.setCurrentState(self.scene_viewer,"pathdeform") or
self.scene_viewer.setCurrentState("pathdeform")
and I even tried to pass the setCurrentState the nodeObject of the pathdeform node inside my HDA
Nothing has worked thus far, and I don't know what else to try. It seems that the "state" its looking for is a string/char? is that correct?
So far the only thing I've gotten some success with is setting the actual selected node to the pathdeform node on enter or from another GUI button I created.. this sets the selected node to the pathdeform node inside and allows the handles to be drawn.
Its not ideal however because It switches the parm window as well. Ideally i'd like it to work like the stroke sop/paint attributes HDA does.. where the wrapper HDA just shows the state/context of the node you want that's wired inside.
Any ideas as to what I'm doing wrong here?
Thanks
-johnc
I want the default "enter" key state for my wrapper HDA to invoke the state of the internal pathdeform node,
so I can get the handles that the pathDeform node has to slide / scale an object down the path.
The simplest thing, putting "pathdeform" in the default state in my wrapper HDA doesn't work, I've seen this work however with the "stroke" node? so why is it not working with pathdeform?
I also tried making my own State in my wrapper HDA, using the simple keyboard template, and setting the onEnter to do
hou.SceneViewer.setCurrentState(self.scene_viewer,"pathdeform") or
self.scene_viewer.setCurrentState("pathdeform")
and I even tried to pass the setCurrentState the nodeObject of the pathdeform node inside my HDA
Nothing has worked thus far, and I don't know what else to try. It seems that the "state" its looking for is a string/char? is that correct?
So far the only thing I've gotten some success with is setting the actual selected node to the pathdeform node on enter or from another GUI button I created.. this sets the selected node to the pathdeform node inside and allows the handles to be drawn.
Its not ideal however because It switches the parm window as well. Ideally i'd like it to work like the stroke sop/paint attributes HDA does.. where the wrapper HDA just shows the state/context of the node you want that's wired inside.
Any ideas as to what I'm doing wrong here?
Thanks
-johnc
Technical Discussion » Enter into viewer state/context of a node inside an HDA
- redpaw
- 75 posts
- Offline
Thanks for the response!
Will hou.SceneViewer.setCurrentState work if i wanted to set the state to an internal group_create node's bounding box/bounding_sphere handle state? Or does it have to be a python programmed state? Since the group_create node doesn't have any python code to define the name of the state, how do I find the available states of a compiled (non HDA) node, so I can use it within python commands? (or is that not available/allowed?)
thanks!
-john
Will hou.SceneViewer.setCurrentState work if i wanted to set the state to an internal group_create node's bounding box/bounding_sphere handle state? Or does it have to be a python programmed state? Since the group_create node doesn't have any python code to define the name of the state, how do I find the available states of a compiled (non HDA) node, so I can use it within python commands? (or is that not available/allowed?)
thanks!
-john
Technical Discussion » Enter into viewer state/context of a node inside an HDA
- redpaw
- 75 posts
- Offline
I have a node I'm trying to build where I'd like to switch between several group pick types (using prim number, using bounding geometry, and group by lasso)
Each is set up in with its own internal node to do the grouping.
Is there a way from the top level of an HDA to set the viewer state to a specific internal nodes existing viewer state? instead of having to write a new one from scratch?
For example if I have my HDA's “mode” set for bounding geometry, I'd like to be able to press enter in the viewport and have the viewer state jump into the state of my bounding geometry “group” node that gives me the handles of the bounding sphere to edit. then I can hit escape and jump back out again.
Or is the only way to do this sort of thing, either..
to write your own custom viewer state and hook it all up to the nodes inside,
or to specifically set the node via python.. node.setCurrent() and then you have to navigate back out again after you're done editing?
thanks in advance
-john
Each is set up in with its own internal node to do the grouping.
Is there a way from the top level of an HDA to set the viewer state to a specific internal nodes existing viewer state? instead of having to write a new one from scratch?
For example if I have my HDA's “mode” set for bounding geometry, I'd like to be able to press enter in the viewport and have the viewer state jump into the state of my bounding geometry “group” node that gives me the handles of the bounding sphere to edit. then I can hit escape and jump back out again.
Or is the only way to do this sort of thing, either..
to write your own custom viewer state and hook it all up to the nodes inside,
or to specifically set the node via python.. node.setCurrent() and then you have to navigate back out again after you're done editing?
thanks in advance
-john
PDG/TOPs » pythonscript to press button on node per work item
- redpaw
- 75 posts
- Offline
Awesome! Good to know it might be coming down the road!
Still digging thru the pdg python docs, I think I found pdg.WorkItem.makeActive() so that may get me on the right track.
thanks!
Still digging thru the pdg python docs, I think I found pdg.WorkItem.makeActive() so that may get me on the right track.
thanks!
PDG/TOPs » pythonscript to press button on node per work item
- redpaw
- 75 posts
- Offline
Hmm ok I guess I misunderstood how it works a bit, I thought that inprocessscheduler with “single” would still work in a non-parallel fashion so even if it were working in the background, it would still be “blocking” enough to be able to modify the scene data. If there is no way to currently do this in TOPS I would like to suggest that something like that be added as I can think of a bunch of uses for building “self building” tools or setups like I'm trying to do.
I would have to make a simplified version of the scene i have, to attach. I will try later!
In the mean time, a simple enough work around for me at the moment would be if you could point me in the direction of the python code needed to step thru a tops wedge node in a for loop, like you were clicking on each workitem dot in the UI, so it updates to that wedge, so I can then run my other commands.
Thanks so much for the reply!
-johnc
I would have to make a simplified version of the scene i have, to attach. I will try later!
In the mean time, a simple enough work around for me at the moment would be if you could point me in the direction of the python code needed to step thru a tops wedge node in a for loop, like you were clicking on each workitem dot in the UI, so it updates to that wedge, so I can then run my other commands.
Thanks so much for the reply!
-johnc
PDG/TOPs » pythonscript to press button on node per work item
- redpaw
- 75 posts
- Offline
Anyone ever try this? or have any suggestions for different ways to tackle this idea?
Tried a few other things in the script but still getting either no change in paths, or houdni lockups which I am starting to assume is a cook race condition or something.
thanks
Tried a few other things in the script but still getting either no change in paths, or houdni lockups which I am starting to assume is a cook race condition or something.
thanks
PDG/TOPs » pythonscript to press button on node per work item
- redpaw
- 75 posts
- Offline
I've got a python script I'd like to run from PDG via inProcesScheduler (using single), that runs pressButton()on a node I have in my wedge network.
I'd like this to run as the last step after writing out all my simulation wedges.
When I manually switch my wedge top to each work item, it properly switches and cooks the file path changes I'm doing per workItem correctly. The pressButton() then is supposed to build a new file read node using each adjusted wedge path.
However when I cook the pythonScript top, it seems that whats happening is that the button is being pressed each time, but the wedge parm change is not cooking, and I end up with the same path/name for every file node that the pressButton() is generating.
Is there a proper way I can force a cook one work item at a time, to get my wedge values to update before I run the pressButton()? I tried running node.cook() in my python script right before my pressButton() but that seems to lock up my session.
Any advice would be appreciated
thanks!
I'd like this to run as the last step after writing out all my simulation wedges.
When I manually switch my wedge top to each work item, it properly switches and cooks the file path changes I'm doing per workItem correctly. The pressButton() then is supposed to build a new file read node using each adjusted wedge path.
However when I cook the pythonScript top, it seems that whats happening is that the button is being pressed each time, but the wedge parm change is not cooking, and I end up with the same path/name for every file node that the pressButton() is generating.
Is there a proper way I can force a cook one work item at a time, to get my wedge values to update before I run the pressButton()? I tried running node.cook() in my python script right before my pressButton() but that seems to lock up my session.
Any advice would be appreciated
thanks!
PDG/TOPs » using PDG for chaining simulations
- redpaw
- 75 posts
- Offline
Hi, another question, I am running chained simulations where I have a series of objects on fire, so I am running each object's pyro simulation as a wedge and caching those out to disk. So far, got that working in PDG with a ropFetch chained to a wedge node, now I also want for each of those sims/wedges to run a POP sim for embers that are advected by the velocity field of the pyro sim that was previously computed and written to disk.
how do I wire this up in PDG so the pyro sim rop finishes each wedge, and then kicks off the particle sim rop write? I think i need some sort of partition node after the first rop write? but not sure which one to use or how to set it up.
plugging in anothther ropFetch to the output of the first ropFetch ended up giving me frameRange X framerange frames which is obviously not what I want.
This is probably pretty simple?, but I haven't run across any examples of this yet in my googling.
-j
how do I wire this up in PDG so the pyro sim rop finishes each wedge, and then kicks off the particle sim rop write? I think i need some sort of partition node after the first rop write? but not sure which one to use or how to set it up.
plugging in anothther ropFetch to the output of the first ropFetch ended up giving me frameRange X framerange frames which is obviously not what I want.
This is probably pretty simple?, but I haven't run across any examples of this yet in my googling.
-j
PDG/TOPs » running TOPS local scheduler and custom houdini env
- redpaw
- 75 posts
- Offline
Chrisgreb, Ah, ok so regarding the first part, where would I substitute my own hython wrapper if we had one, not sure we do but we probably can wrap one up really quickly.
Otherwise I will try the other idea too.
thanks
-j
Otherwise I will try the other idea too.
thanks
-j
PDG/TOPs » running TOPS local scheduler and custom houdini env
- redpaw
- 75 posts
- Offline
I'm just learning TOPS, so be gentle, but at our studio
we run a very customized houdini environment with lots of external
libraries and startup scripts
I've tried to set up a basic TOPS network to write out a series of
simulations using the rop-fetch top node and it seems that when it cooks
and launches the Hython job to render the bgeo frames, it launches hython in a sterile environment that doesn't pick up our custom paths/libraries etc.. so the job fails.
I would have assumed that the local scheduler would run like “Save to disk in background” works and pick up the existing environment when it launches but it appears to not do that?
What nodes or things do I have to do to be able to launch a PDG job correctly so that It will run within our environment ? Do I have to write our own scheduler? or is there a place/node to add commands to pass to the shell before hand that will allow me to set up the environment for that shell that launches the hython job?
thanks in advance.
-john
we run a very customized houdini environment with lots of external
libraries and startup scripts
I've tried to set up a basic TOPS network to write out a series of
simulations using the rop-fetch top node and it seems that when it cooks
and launches the Hython job to render the bgeo frames, it launches hython in a sterile environment that doesn't pick up our custom paths/libraries etc.. so the job fails.
I would have assumed that the local scheduler would run like “Save to disk in background” works and pick up the existing environment when it launches but it appears to not do that?
What nodes or things do I have to do to be able to launch a PDG job correctly so that It will run within our environment ? Do I have to write our own scheduler? or is there a place/node to add commands to pass to the shell before hand that will allow me to set up the environment for that shell that launches the hython job?
thanks in advance.
-john
Technical Discussion » Extract data from OTL/HDA
- redpaw
- 75 posts
- Offline
Hi, going to merge these two questions, since I found an old thread, but it only has half the issue.
I am in need of being able to extract a couple of bits of data from an OTL
#1 is the “Tab Submenu Path” that defines where the node shows up in the tab menus
and
#2 is the “Use This URL” string for the help tab, where I want to get the URL string itself..
any thoughts?
thanks!
-johnc
I am in need of being able to extract a couple of bits of data from an OTL
#1 is the “Tab Submenu Path” that defines where the node shows up in the tab menus
and
#2 is the “Use This URL” string for the help tab, where I want to get the URL string itself..
any thoughts?
thanks!
-johnc
Technical Discussion » Query tab menu context folders
- redpaw
- 75 posts
- Offline
I know this post is ancient, but I'm searching for how to do this now in houdini 16-17.5
I want to return the string in the “Tab Submenu path” section of an OTL/HDA
I am ok with parsing each operator individually.. just can't seem to find the info at all..
-John c.
I want to return the string in the “Tab Submenu path” section of an OTL/HDA
I am ok with parsing each operator individually.. just can't seem to find the info at all..
-John c.
-
- Quick Links