Hey guys
I've been reading the article recently posted on this site (http://www.sidefx.com/index.php?option=com_content&task=view&id=1454&Itemid=68) [sidefx.com] about the use of Houdini in the game Killzone2 and am very interested in their shatter technique.
It states that they converted the geo to a volume and then used a VEX volume shader to shatter it and then converted it back to polys. Anyone done this before or could tell me (as a bit of a noob!) how to do this pls?
Cheers!
Volume Shatter (as in Killzone2!) ...
3608 4 2-
- djwarder
- Member
- 83 posts
- Joined: Nov. 2018
- Offline
-
- Pagefan
- Member
- 519 posts
- Joined:
- Offline
I guess they used the volume shader to calculate the stress inside the columns, detected the weakest points aka the crack lines, create surfaces by using the skin sop and fractured the columns using either the shatter or the cookie SOP.
Now the fun thing is to get some real world material properties. If you apply a force to a column, in an ideal world, the stress would flow evenly away to it's fixation point. But materials like concrete columns are made of different materials with crystalline properties. So you should add some of this property (noise) to the volume shader. The force of course comes from something you make in DOPS. With just basic physics you could calculate this: F=mass*acceleration. This would be an attribute you could transfer from DOPS to the shader. Then in the shader you would calculate the stress in the point cloud, write it to disc, etc…
Hope this get's you started.
Now the fun thing is to get some real world material properties. If you apply a force to a column, in an ideal world, the stress would flow evenly away to it's fixation point. But materials like concrete columns are made of different materials with crystalline properties. So you should add some of this property (noise) to the volume shader. The force of course comes from something you make in DOPS. With just basic physics you could calculate this: F=mass*acceleration. This would be an attribute you could transfer from DOPS to the shader. Then in the shader you would calculate the stress in the point cloud, write it to disc, etc…
Hope this get's you started.
-
- koen
- Member
- 783 posts
- Joined: April 2020
- Offline
My guess would be they used vex to generate a voronoi pattern in 3d.
Using the volume mix you can do very reliable cgs on volumes. After that is done one can use an iso-offset to generate poly shells around the volume regions.
Hope I'm wrong though, calculating the stress sounds way cooler :-)
Cheers,
Koen
Using the volume mix you can do very reliable cgs on volumes. After that is done one can use an iso-offset to generate poly shells around the volume regions.
Hope I'm wrong though, calculating the stress sounds way cooler :-)
Cheers,
Koen
-
- Pagefan
- Member
- 519 posts
- Joined:
- Offline
-
- djwarder
- Member
- 83 posts
- Joined: Nov. 2018
- Offline
Cheers for the info guys! I agree the stress calculation way does sound cool, but can imagine that would take a while to code. The voronoi method does sound more achievable - I'm doing this with a custom script already in Houdini, but only surface not volume-based, will have to have a look into this!
Dan Warder
Senior FX TD - Framestore
Senior FX TD - Framestore
-
- Quick Links