Found 681 posts.
Search results Show results as topic list.
Houdini Lounge » Questions about Houdini Bullet
- goldleaf
- 4170 posts
- Offline
Re: disappearing Packed Prim anim: inside of the RBD Packed Prim object, you need to toggle on Allow Caching on emptyobject1, then you can see the cached geometry.
Technical Discussion » Adding geometry in VEX, and parallelism
- goldleaf
- 4170 posts
- Offline
Thanks Edward. Wow, you were right, much faster under Linux - 21 seconds.
The Grow Hairs example does some noise and jitter as it creates the hairs, though perhaps not enough to offset the cost of adding the geometry at the end, especially when working on so many points. Would you agree?
Here is the code (and the hip file, thought it's in the AttribWrangle Snippets menu):
vector dir = { 0, 1, 0 };
//vector dir = @N; // grow in normal direction
float len = 1.0;
int steps = 10;
float jitter = 0.1;
float seed = 0.12345;
vector pos = @P;
int pr = addprim(geoself(), “polyline”);
// Start the curve with our point
addvertex(geoself(), pr, @ptnum);
for (int i = 0; i < steps; i++)
{
pos += dir * len / steps;
pos += (vector(rand( @ptnum + seed )) - 0.5) * jitter;
// Clone our point to copy attributes
int pt = addpoint(geoself(), @ptnum);
// But write a new position
setpointattrib(geoself(), “P”, pt, pos);
// Connect the new point to our curve.
addvertex(geoself(), pr, pt);
seed += $PI;
}
The Grow Hairs example does some noise and jitter as it creates the hairs, though perhaps not enough to offset the cost of adding the geometry at the end, especially when working on so many points. Would you agree?
Here is the code (and the hip file, thought it's in the AttribWrangle Snippets menu):
vector dir = { 0, 1, 0 };
//vector dir = @N; // grow in normal direction
float len = 1.0;
int steps = 10;
float jitter = 0.1;
float seed = 0.12345;
vector pos = @P;
int pr = addprim(geoself(), “polyline”);
// Start the curve with our point
addvertex(geoself(), pr, @ptnum);
for (int i = 0; i < steps; i++)
{
pos += dir * len / steps;
pos += (vector(rand( @ptnum + seed )) - 0.5) * jitter;
// Clone our point to copy attributes
int pt = addpoint(geoself(), @ptnum);
// But write a new position
setpointattrib(geoself(), “P”, pt, pos);
// Connect the new point to our curve.
addvertex(geoself(), pr, pt);
seed += $PI;
}
Technical Discussion » Adding geometry in VEX, and parallelism
- goldleaf
- 4170 posts
- Offline
I heard from someone that adding and creating geometry in VEX isn't done in parallel, and that all of the add* functions are run in serial.
I've been doing some small tests, both at home and work, and using the Grow Hairs example snippet on AttribWrangle. With 3,000,000 points, it takes between 26 and 30 seconds to finish on my MacBook Pro. However, the first chunk (the red part of the CPU graph image), is the only part that really runs in parallel, which seems to confirm what I'd heard.
Is it just how things are, or is there a way to add geometry in a more parallel-friendly way, reducing the amount of serial work that has to be done? i.e. only adding geometry at the beginning/end of some VEX code, or something like that
Thanks!
I've been doing some small tests, both at home and work, and using the Grow Hairs example snippet on AttribWrangle. With 3,000,000 points, it takes between 26 and 30 seconds to finish on my MacBook Pro. However, the first chunk (the red part of the CPU graph image), is the only part that really runs in parallel, which seems to confirm what I'd heard.
Is it just how things are, or is there a way to add geometry in a more parallel-friendly way, reducing the amount of serial work that has to be done? i.e. only adding geometry at the beginning/end of some VEX code, or something like that
Thanks!
Houdini Lounge » Questions about Houdini Bullet
- goldleaf
- 4170 posts
- Offline
Oh my goodness, primitive attributes! Thanks so much! This is super cool
Here's a working hip file, for anyone else who's curious.
(thanks for letting me hijack the thread Ben)
Here's a working hip file, for anyone else who's curious.
(thanks for letting me hijack the thread Ben)
SI Users » Flip Solver Collision Inside Closed Volume
- goldleaf
- 4170 posts
- Offline
Yeah, I peaked to give a little extra room, to make sure no fluid particles started colliding.
The timeshifts were to make sure I only had the first frame. The one inside of the animating collider tube simmed correctly (since it only looked at the first frame), but in the viewport, it was moving twice - at the object level, and inside from the alembic cache.
Glad it's worked out!
The timeshifts were to make sure I only had the first frame. The one inside of the animating collider tube simmed correctly (since it only looked at the first frame), but in the viewport, it was moving twice - at the object level, and inside from the alembic cache.
Glad it's worked out!
Houdini Lounge » Volume I/O Houdini <=> 3DS Max
- goldleaf
- 4170 posts
- Offline
If it doesn't work with vdbs, the Field3d tools are in the hdk files, and are pretty simple to compile (on Linux, OS X at least).
Houdini Lounge » Questions about Houdini Bullet
- goldleaf
- 4170 posts
- Offline
Thanks for that info cwhite! Didn't realize that about either of those!
I can't seem to get compound shapes using Convex Hull per Connected Primitive. Do you have an example of how this works? I tried it with spheres, but they just behave as individual spheres. I even added a name attribute for each group of primitives, but it seems I'm missing something…
BTW, the doc page for RBD Packed Object is excellent! As are the examples; very informative! My rbd knowledge is definitely out of date!
I can't seem to get compound shapes using Convex Hull per Connected Primitive. Do you have an example of how this works? I tried it with spheres, but they just behave as individual spheres. I even added a name attribute for each group of primitives, but it seems I'm missing something…
BTW, the doc page for RBD Packed Object is excellent! As are the examples; very informative! My rbd knowledge is definitely out of date!
SI Users » Translating ICE Roll Object Scene to Houdini
- goldleaf
- 4170 posts
- Offline
SI Users » Flip Solver Collision Inside Closed Volume
- goldleaf
- 4170 posts
- Offline
Ah, sorry about that. What I did with the transform, and inverting the sign should still help.
Is this more of what you're looking for?
Is this more of what you're looking for?
Houdini Lounge » Questions about Houdini Bullet
- goldleaf
- 4170 posts
- Offline
1) I've never heard of auto-constraints for intersecting objects. Sounds like a different bullet-based solver, as far as I know. derek or cwhite would know for sure I think. The split impulse setting makes resolving intersections move the objects without adding velocity, to avoid explosions. Not that it eliminates them, but its useful (on by default I think).
2) Choosing ‘Set Always’ on the Time node, for some reason, cooks every frame, rather than just the initial frame. Even though the initial value is an expression, I don't think it's updating the Geometry data. But Set Always does. That Set Initial on the SOP Path was an accident, and doesn't do anything since the default is also Set Initial.
I'll file a bug with SESI about the disappearing geometry. Something to do with Packed Prims for sure. Thanks for confirming it!
6) The BakeODE SOP just add attributes for the Bullet and ODE Solvers. It was created when ODE was the only alternate solver to the RBD Solver, for Houdini 10; it was modified to work with Bullet, but has kept the same name. That is confusing though, and I wonder if/when they'll rename it. But yeah, Bullet solver only in the hip file; I did a test a few years ago, when Bullet wasn't part of Houdini, v10, and lots of stacking would cause ODE to explode after a while, while Bullet just kept chugging along. I'd be curious if anyone outside of proprietary studio tools is really using it.
Glad to help!
2) Choosing ‘Set Always’ on the Time node, for some reason, cooks every frame, rather than just the initial frame. Even though the initial value is an expression, I don't think it's updating the Geometry data. But Set Always does. That Set Initial on the SOP Path was an accident, and doesn't do anything since the default is also Set Initial.
I'll file a bug with SESI about the disappearing geometry. Something to do with Packed Prims for sure. Thanks for confirming it!
6) The BakeODE SOP just add attributes for the Bullet and ODE Solvers. It was created when ODE was the only alternate solver to the RBD Solver, for Houdini 10; it was modified to work with Bullet, but has kept the same name. That is confusing though, and I wonder if/when they'll rename it. But yeah, Bullet solver only in the hip file; I did a test a few years ago, when Bullet wasn't part of Houdini, v10, and lots of stacking would cause ODE to explode after a while, while Bullet just kept chugging along. I'd be curious if anyone outside of proprietary studio tools is really using it.
Glad to help!
SI Users » project "Houdini, a great modeler"
- goldleaf
- 4170 posts
- Offline
Werner Ziemerink
Is there a way to set up a hot key for Edge Loop?
I get that it is just a poly split with Quad Strip enabled, but for some reason I can't find it in the hotkeys editor.
You can right-click on the tool in the shelf, go to the hotkeys tab, and set it there. That is strange it doesn't show up when searching in the Edit > Hotkeys… dialog.
SI Users » Flip Solver Collision Inside Closed Volume
- goldleaf
- 4170 posts
- Offline
Hey Paulo,
I'm not sure why you were getting those problems; here are a few optimizations for getting some collisions inside of a transforming box (the hip file has notes for these too, in case I missed anything here).
- Fluids only use volume collisions, and to get the fluid to stay inside of a shape, you need to turn on Invert Sign
- Using Object transforms is MUCH faster. Deforming geometry means it recalculates the collision sdf every frame.
- There is an example for extracting obj-level transforms from your sop-level transforms, though in your case, you could just copy that animation to the OBJ level.
Not sure why you were having those problems, but hope this helps!
I'm not sure why you were getting those problems; here are a few optimizations for getting some collisions inside of a transforming box (the hip file has notes for these too, in case I missed anything here).
- Fluids only use volume collisions, and to get the fluid to stay inside of a shape, you need to turn on Invert Sign
- Using Object transforms is MUCH faster. Deforming geometry means it recalculates the collision sdf every frame.
- There is an example for extracting obj-level transforms from your sop-level transforms, though in your case, you could just copy that animation to the OBJ level.
Not sure why you were having those problems, but hope this helps!
Houdini Lounge » Questions about Houdini Bullet
- goldleaf
- 4170 posts
- Offline
Hey Ben!
1) Not directly, but you might be able to write a Python DOP to do something for this. The penetration threshold is how much to let object penetrate before resolving the collision, that might be helpful for mid-sim penetrations; but probably not for objects which start out intersecting.
2) I put an example in the hip file
3) These two links should help, the first has an example for keyframe rbd: http://www.sidefx.com/docs/houdini13.0/nodes/dop/rbdkeyactive [sidefx.com] http://www.sidefx.com/docs/houdini13.0/dyno/keyframe [sidefx.com].
4) It's possible, but I can't remember/figure out how to count impacts, since the impacts data is just for the current frame.
5) No idea, sorry
6) There is an example in the hip file for emitting objects of different shapes (it uses the RBD Point Object and the Compound collision type, with BakeODE SOPs on the different collision objects).
The hip file also contains a way to get animated packed pieces; however, I've noticed that once cached, the geometry disappears from my viewport. Just a scene view bug, the collisions are still there. You may not encounter it though
And as for setting which objects collide with which, you can see that in the Affector Matrix. Here is a page with info (missing for H13 for some reason? or it's just move/been renamed):http://www.sidefx.com/docs/houdini11.1/dynamics/relationships [sidefx.com]. You can set relationships different ways, though I haven't yet figured out how to disable specific objects from interacting. Maybe with the Apply Relationship DOP, somehow?
Hope that helps!
1) Not directly, but you might be able to write a Python DOP to do something for this. The penetration threshold is how much to let object penetrate before resolving the collision, that might be helpful for mid-sim penetrations; but probably not for objects which start out intersecting.
2) I put an example in the hip file
3) These two links should help, the first has an example for keyframe rbd: http://www.sidefx.com/docs/houdini13.0/nodes/dop/rbdkeyactive [sidefx.com] http://www.sidefx.com/docs/houdini13.0/dyno/keyframe [sidefx.com].
4) It's possible, but I can't remember/figure out how to count impacts, since the impacts data is just for the current frame.
5) No idea, sorry
6) There is an example in the hip file for emitting objects of different shapes (it uses the RBD Point Object and the Compound collision type, with BakeODE SOPs on the different collision objects).
The hip file also contains a way to get animated packed pieces; however, I've noticed that once cached, the geometry disappears from my viewport. Just a scene view bug, the collisions are still there. You may not encounter it though
And as for setting which objects collide with which, you can see that in the Affector Matrix. Here is a page with info (missing for H13 for some reason? or it's just move/been renamed):http://www.sidefx.com/docs/houdini11.1/dynamics/relationships [sidefx.com]. You can set relationships different ways, though I haven't yet figured out how to disable specific objects from interacting. Maybe with the Apply Relationship DOP, somehow?
Hope that helps!
Houdini Lounge » URL for the latest Houdini docs
- goldleaf
- 4170 posts
- Offline
Houdini Lounge » URL for the latest Houdini docs
- goldleaf
- 4170 posts
- Offline
I remember there used to be a URL that always pointed to the latest houdini docs, but for the life of me, I can't find it.
Am I just imagining it existed? Something like sidefx.com/docs/houdini.latest?
Thanks
Am I just imagining it existed? Something like sidefx.com/docs/houdini.latest?
Thanks
Houdini Lounge » exporting Fire and Smoke to another software
- goldleaf
- 4170 posts
- Offline
There are OpenVDB plugins for maya, though you'll need a renderer in maya if that's what you want. Unless there is a tool to convert vdb to maya volumes, but I haven't looked at that.
http://www.openvdb.org/download/ [openvdb.org]
http://www.openvdb.org/download/ [openvdb.org]
Houdini Learning Materials » Accuracy of Bullet Collisions
- goldleaf
- 4170 posts
- Offline
Houdini Learning Materials » Accuracy of Bullet Collisions
- goldleaf
- 4170 posts
- Offline
There is the Bake ODE SOP, lets you combine primitives into a compound collision shape. The name is old, from the days the ODE solver first became part of Houdini, but it works with both ODE and Bullet (not the RBD Solver though).
The documentation has a table for the Bullet Primitive - Houdini geometry conversion.
http://www.sidefx.com/docs/houdini13.0/nodes/sop/bakeode [sidefx.com]
See the attached example.
The documentation has a table for the Bullet Primitive - Houdini geometry conversion.
http://www.sidefx.com/docs/houdini13.0/nodes/sop/bakeode [sidefx.com]
See the attached example.
Houdini Indie and Apprentice » print question
- goldleaf
- 4170 posts
- Offline
If you run houdini in the foreground, you'll see it from the Terminal you ran it from.
Try this: houdini -foreground
Try this: houdini -foreground
SI Users » Greyed out parameters
- goldleaf
- 4170 posts
- Offline
Check to see if you have a Take set, perhaps? If you created a new take by accident, then parameters would be grey'd out.
-
- Quick Links