Sculpting animated volumes

   6765   6   3
User Avatar
Member
37 posts
Joined:
Offline
Hello Houdini community,

I've begun really digging into the volume tools in Houdini and am looking for some tips on sculpting volumes. I've been playing with IsoOffset, metaballs and other things. The rendering aspects of volumes feel very nice, and I'm getting good results. The shader writing is simple enough, and I'm doing fine there too. It's actually modeling and animating them that seems to have me a bit stumped ( granted I've only been doing this for 1 day. )
What I'm trying to do is figure out how to really use sops to have good control over density modeling and managing the rest position that the shaders use to build noise and other rendertime attributes. Some basic questions:

1. How can you use a rest position with a metaball? Will it transform correctly?
2. How do you control density so that it falls off gradually towards the volume's boundary, rather than just butting up against the edge?
3. Can we use surface meshes to build volumes where the uv, rest or some other coordinate drives the look and feel of the volume?
4. Is it expected that we fill an empty volume with density values from points and other primitives? If so, how is this done?
5. Are there ways to offset density values in the volume primitive, rather than multiplying them? Dropping noise values down below 0 around the edges always gives you those nice wispy effects. I would love to have that option.

Sorry if these questions are a bit broad. I'm used to being able to use sops to build very specific geometry but I'm feeling like the volumes are a bit of a black box right now. I'm willing to bet I just don't have an understanding of it yet.
I, of course, would love to see some hip files that people have that demonstrate some of these abilities. Any help would be GREATLY appreciated.

Many many thanks in advance,
jonah
User Avatar
Member
295 posts
Joined: Oct. 2008
Offline
I might be totally off base here, but can't you just create some geometry, sculpt it with the Edit SOP, and then turn that into a Volume with the Iso Offset SOP?
Houdini Models [learning3dfromscratch.blogspot.com]
User Avatar
Member
37 posts
Joined:
Offline
You're not off base at all. Obviously that sort of thing is working fine. The issue is finding ways to get more information out of the input geometry than density, particularly some kind of volumetric uv set to go with it. The problem is largely animated objects and trying to use the noisy volume stuff as a texture map. If you model an animated object and run isoffset on it, you can get either a constant density field ( fog ) or a nice distance to edge field ( SDF ). Those are great, but what I would like is a way to grab a uv, rest or some other parametric value from that object and turn it into a nice lookup table to generate noise off of that follows the object.

The particular problem I'm working on has to do with carrying uv coordinates through the volume system all the way to the renderer. Essentially I'm trying to get “P” out of my noise generating at the shader level by replacing it with something that deforms with the geometry. Imagine an animated guy walking across the scene. I'm trying to fill him with puffy cloud stuff without having the noise pass through him. I want the noise to move with his body, as if he he's made of big shaggy carpet stuff.

I started experimenting with creating a “uvw” volume, and it's been really good! The tricky bit is stuffing coordinate values into a volume that doesn't really know that the stuff around it is moving. Currently I'm stuffing a block of points with uv values that relate to the geometry nearest to it, then source those uvw values from a volumemix node using nearpoint() followed by a point() expression. I then including these four volumes at render time:

o: density
1: uv.x
2: uv.y
3: uv.z

this does a nice job of “gluing” the coordinates the shader uses to the volume at render time. I would really like to use the volumevop to do this but I'm not sure how to use the pointcloud stuff yet. Those vop nodes don't have help cards, unfortunately ( RFE! ).
User Avatar
Member
37 posts
Joined:
Offline
Here is a hip file and a quicktime showing what sort of thing I'm working on. Let me know if you guys have a better way of doing this sort of thing.

Attachments:
volume_test.mov (342.5 KB)
post.hip (524.2 KB)

User Avatar
Member
1390 posts
Joined: July 2005
Offline
freejonah
Here is a hip file and a quicktime showing what sort of thing I'm working on. Let me know if you guys have a better way of doing this sort of thing.

Just a very simple example of uv textured volumes. In your case of 3d noise, rest position is perhpas better approach.

Attachments:
volume_point_cloud.hip.zip (29.6 KB)

User Avatar
Member
37 posts
Joined:
Offline
This is very very helpful. Thanks so much for taking the time to put this together for me.

In the event of rotating the points, how would that work? Also, does the point cloud lookup treat them like metaballs, interpolating the values?
User Avatar
Member
1390 posts
Joined: July 2005
Offline
freejonah
This is very very helpful. Thanks so much for taking the time to put this together for me.

In the event of rotating the points, how would that work? Also, does the point cloud lookup treat them like metaballs, interpolating the values?

Rotation doesn't matter as long as pcopen can find them in a right spot (in radius). So animated geometry requires animated point cloud.

As to lookup method check out pcfilter() help:
http://www.sidefx.com/docs/houdini10.0/vex/functions/pcfilter [sidefx.com]

You are free to write your own summation if necessary .


cheers,
skk.
  • Quick Links