you can calculate the length of the vector either in VOPs or with an hscript expression, or however you want to do it:
length (float x, float y, float z)
when you have length A and B you can subtract them to get the difference, which you then can add to each component of the shorter vector, that should give you matching lengths.
cheers,
Manuel
Found 433 posts.
Search results Show results as topic list.
Technical Discussion » how to make mormals to a specified range.
- asnowcappedromance
- 512 posts
- Offline
Houdini Lounge » Destruction &Fracture: Houdini OR Max+Volumebreaker&
- asnowcappedromance
- 512 posts
- Offline
pclaes
Well, I have not used thinking particles. So I don't know what kind of fracturing possibilities it offers. Please elaborate (wouldn't want to boo you uninformed ). Any tests - or links you can share?
TP comes shipped with Volume Breaker which is a procedural breaking tool based on Voronoi similar to Houdini's voronoi fracture SOP. It's been mostly used with a combination of dynamic fracturing and a pre-breaking process with either custom tools (which I prefer) or Rayfire, which definitely allows complex high detailed fracturing.
Overall the advantage of using this package is simply enough performance, TP's solver compared to Houdini's RBD solver is waaaay better and faster, (once you're used to it you can't believe how slow houdini is), plus there is a great connection to fumeFX, I don't even want to get started comparing Fume's speed to Houdini's pyro
Well that being said, you got to test it to see for yourself Peter, doing dynamics with TP is simply mindblowing!
Here's some links:
http://www.youtube.com/watch?v=2VMNGEe9OAc [youtube.com]
http://www.yeatvfx.com/works/surface–collapse–system.html [yeatvfx.com]
http://www.youtube.com/watch?v=AD2l10pJhss&feature=player_embedded [youtube.com]
https://vimeo.com/groups/56252/videos/34067106 [vimeo.com]
https://vimeo.com/groups/56252/videos/17890633 [vimeo.com]
Technical Discussion » Piece* rename merging
- asnowcappedromance
- 512 posts
- Offline
Technical Discussion » Multi Line Python Expression
- asnowcappedromance
- 512 posts
- Offline
here's how you can do it in the python shell, same also works as a multi-line expression of course:
>>> sphere = hou.node('/obj/sphere')
>>> curve = hou.node('/obj/curve_object1/curve1')
>>> p4 = curve.geometry().points()
>>> p4
<hou.Point #3 of geometry in /obj/curve_object1/curve1>
>>> pos = p4.position()
>>> tuple = sphere.parmTuple(“t”)
>>> tuple.set(pos)
cheers,
Manu
>>> sphere = hou.node('/obj/sphere')
>>> curve = hou.node('/obj/curve_object1/curve1')
>>> p4 = curve.geometry().points()
>>> p4
<hou.Point #3 of geometry in /obj/curve_object1/curve1>
>>> pos = p4.position()
>>> tuple = sphere.parmTuple(“t”)
>>> tuple.set(pos)
cheers,
Manu
Houdini Lounge » Destruction &Fracture: Houdini OR Max+Volumebreaker&
- asnowcappedromance
- 512 posts
- Offline
I mainly work with Houdini these days, but for destruction I still am a big fan of Thinking Particles. Prebreaking can be done in a lot of ways but in terms of performance, TP is still the best solution out there to simulate tons of geometry and you don't have to be concerned about concave/convex stuff …
just saying, please don't boo me Peter
cheers,
Manu
just saying, please don't boo me Peter
cheers,
Manu
Technical Discussion » render metaball as volume
- asnowcappedromance
- 512 posts
- Offline
my friend Martin Matzeder wrote an article about rendering Metaballs as volumes a while ago, that might be interesting if you not already read it:
http://www.booyabase.de/?p=570#more-570 [booyabase.de]
best,
Manuel
http://www.booyabase.de/?p=570#more-570 [booyabase.de]
best,
Manuel
Houdini Indie and Apprentice » Replicating a simple version of a massive explosion
- asnowcappedromance
- 512 posts
- Offline
I'd suggest you start with the explosion shelf tool,
some pointers would be to animate the fuel source (high amount of fuel on the first couple of frames then animate to 0), also, to create that swirling look and to break up the surface you can scatter points on the surface of the density field and have them add to the divergence field.
There's lots of threads on how to achieve this kind of effect, search on the forums, especially on odforce.net
cheers,
Manu
some pointers would be to animate the fuel source (high amount of fuel on the first couple of frames then animate to 0), also, to create that swirling look and to break up the surface you can scatter points on the surface of the density field and have them add to the divergence field.
There's lots of threads on how to achieve this kind of effect, search on the forums, especially on odforce.net
cheers,
Manu
Houdini Indie and Apprentice » Revolving around the planets
- asnowcappedromance
- 512 posts
- Offline
you can easily do that with particles. Have a look at the Orbit POP to make the planets rotate around a center point, also the Angular Velocity POP to make planets rotate around themselves!
best,
Manu
best,
Manu
Houdini Indie and Apprentice » Rendering dynamic objects
- asnowcappedromance
- 512 posts
- Offline
try to append a Vertex SOP and add normals, that might fix it.
Also check your existing point normals, they might be messy as well!
~ Manu
Also check your existing point normals, they might be messy as well!
~ Manu
Technical Discussion » question about Dops! how do I give force AFTER force
- asnowcappedromance
- 512 posts
- Offline
you should have a look at some basic dop tutorials in order to get an idea how DOPs work, looking at your questions you could really benefit from it
Have a look at Gnomon's Rigid Body Dynamics DVD for example, a lot of your questions will be answered in there.
If you want to apply a force based on an objects attribute you can do that even in the force's activation parameter itself by doing a dopoption() expression.
Something like this for example
if ( dopoption( $DOPNET, $OBJID, “Position”, “vely”) > 10, 1, 0 )
if you want to create your own attributes in DOPs, you can create an “empty data” DOP, apply a modify data DOP in order to create a new subData set for your object and connect that via an “apply data” DOP to a dop object. Once you've done that, you can then access this new data with again a dopoption() expression or with dopfield().
Cheers,
Manu
Have a look at Gnomon's Rigid Body Dynamics DVD for example, a lot of your questions will be answered in there.
If you want to apply a force based on an objects attribute you can do that even in the force's activation parameter itself by doing a dopoption() expression.
Something like this for example
if ( dopoption( $DOPNET, $OBJID, “Position”, “vely”) > 10, 1, 0 )
if you want to create your own attributes in DOPs, you can create an “empty data” DOP, apply a modify data DOP in order to create a new subData set for your object and connect that via an “apply data” DOP to a dop object. Once you've done that, you can then access this new data with again a dopoption() expression or with dopfield().
Cheers,
Manu
Houdini Indie and Apprentice » Animated Cookie and RBD
- asnowcappedromance
- 512 posts
- Offline
could be a bug.
However, I would not do the crack in SOPs though. Having “using Deforming Geometry” on in your RBD Glue object forces Houdini to calculate new collision volumes on every single frame, also it might be dangerous to deform the geometry that way, you're apt to get incorrect results.
Rather have a multisolver in your Dopnet and connect the RBD Solver to that as well as a SOP Solver, dive into the SOP Solver and do the cookie operation there, that way the animation is always based on the previous frame and your simulation might improve.
Why there are objects disappearing is another question though, check if your number / names of the groups are changing, if that's the case then that would explain it.
cheers,
Manu
However, I would not do the crack in SOPs though. Having “using Deforming Geometry” on in your RBD Glue object forces Houdini to calculate new collision volumes on every single frame, also it might be dangerous to deform the geometry that way, you're apt to get incorrect results.
Rather have a multisolver in your Dopnet and connect the RBD Solver to that as well as a SOP Solver, dive into the SOP Solver and do the cookie operation there, that way the animation is always based on the previous frame and your simulation might improve.
Why there are objects disappearing is another question though, check if your number / names of the groups are changing, if that's the case then that would explain it.
cheers,
Manu
Technical Discussion » Pyro2 smoke / fire
- asnowcappedromance
- 512 posts
- Offline
first guess would be to lower your volume step size in the Mantra node's sampling tab!
Manu
Manu
Houdini Indie and Apprentice » display fracture object names in Geo SOP?
- asnowcappedromance
- 512 posts
- Offline
you can save the group name as a string attribute on the geometry and have this attribute being displayed in the viewport (viewport options).
cheers,
Manu
cheers,
Manu
Technical Discussion » Elastic effect on flip fluids on H12
- asnowcappedromance
- 512 posts
- Offline
good work Ian!
Now the only thing missing is to be able to create plasticity with fluids?!
I had no luck achieving this, at some point cranking up the viscosity/density settings doesn't really harden the fluid anymore. So is this somehow possible in H12?
Now the only thing missing is to be able to create plasticity with fluids?!
I had no luck achieving this, at some point cranking up the viscosity/density settings doesn't really harden the fluid anymore. So is this somehow possible in H12?
Houdini Indie and Apprentice » Trouble with collision
- asnowcappedromance
- 512 posts
- Offline
off the bat - 3 things that you can do:
1. Raise the pins slightly so they don't interpenetrate with the ground.
2. Turn the pins into a RBD fractured object instead of an RBD object, right now all your pins get treated as one object (you need to create groups in SOPs or an attribute “name” in order for the RBD fractured object to treat them as seperate objects)
3. In the RBD fractured object, when you turn off “display geometry” and in the collisions tab check “show collisionguide geometry” you will see that only a fraction of your geometry will be displayed, you need to increase the uniform divisions in order for your collision geometry to become more accurate.
cheers,
Manu
1. Raise the pins slightly so they don't interpenetrate with the ground.
2. Turn the pins into a RBD fractured object instead of an RBD object, right now all your pins get treated as one object (you need to create groups in SOPs or an attribute “name” in order for the RBD fractured object to treat them as seperate objects)
3. In the RBD fractured object, when you turn off “display geometry” and in the collisions tab check “show collisionguide geometry” you will see that only a fraction of your geometry will be displayed, you need to increase the uniform divisions in order for your collision geometry to become more accurate.
cheers,
Manu
Houdini Indie and Apprentice » accessing sop paths and channels in expressions
- asnowcappedromance
- 512 posts
- Offline
Houdini Indie and Apprentice » accessing sop paths and channels in expressions
- asnowcappedromance
- 512 posts
- Offline
can you post a hipfile?
It seems to me that your trying to access the value by addressing the field label, you should rather use the name of the field,
try using this expression:
ch(“./tstr”)
Again, it would be easier debugging if you could post a file!
cheers,
Manu
It seems to me that your trying to access the value by addressing the field label, you should rather use the name of the field,
try using this expression:
ch(“./tstr”)
Again, it would be easier debugging if you could post a file!
cheers,
Manu
Technical Discussion » per-point particle emission - how?
- asnowcappedromance
- 512 posts
- Offline
Mudvin
Doesn't putting $NPT/using npoints() will emit “number-of-points” particles every second?
What i wanted to do is take some pre-created attribute on source geometry, and emit particles according to it. Say, “point N7 has attribute ”emit“ equal 13 = we need to emit 13 particles from this point”
No, it outputs the total number of point of the incoming geometry per frame (if your oversampling on the popnet is set to one), of course you have to set the constant activation to 0 to make this work!
One idea to achieve what you want:
Use a copy node to copy-stamp the impact points to a number that you specify (have the amount of copies being influenced by impact strength for example) and then emit 1 particle from each point using the impulse birthrate of your source POP.
Houdini Indie and Apprentice » Creating Irregular Fracture Patterns
- asnowcappedromance
- 512 posts
- Offline
you could also randomize your point positions in a point SOP by using the random() expression, or you could go into VOPs and have a noise (i.e. turbulent noise VOP or unfied noise VOP) affect only the x and z component of the position vector!
best,
Manu
best,
Manu
Technical Discussion » per-point particle emission - how?
- asnowcappedromance
- 512 posts
- Offline
put the variable $NPT into the impulse birth rate field of the source POP and you're all set!
best,
~M
best,
~M
-
- Quick Links