Rendering tips for animated displacement for a liquid?

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
  05 May 2013
Rendering tips for animated displacement for a liquid?

Hey there, I was wondering if anyone has any tips for shading to get this kind of result in Mental Ray:

I've got to mimic that result as closely as possible, but displacement is not playing nice with me.. the tessellation always seems to have hard edges.. I'm fighting that first and the render times for a single frame, are immense..
Without having refined the look of the shader (incidence angles on colour/reflection etc., no lighting, no FG, no GI, no AO, no Caustics..
The tessellation of the displacement obviously needs to be immensely higher than it is in this test render here since smoothing it seems to be impossible..

Yet if I do that, the render times would go up from 7 minutes to 40 for a smooth result..
If I was then to turn on FG, AO, GI, Caustics, and add lights, I can only imagine that the render times would increase 50 times.. but surely if a frame was to take a day and a half, it could not complete in Maya?

I mean hell, rendering with an i7-3770K, and having 32gb of RAM, it often runs out and gives me blank frames if I leave a batch going that takes more than 30 minutes a frame.. how the hell does anyone render high quality like this? I've seen this kind of animation done back 10 years ago when computers were not even a fraction as powerful.. I'm totally baffled as to how this is possible. Any advice anyone can offer me would be massively appreciated, as I have to get this done by lunch-time tomorrow at a new studio I just started at, and the only other 3D guy uses C4D, and is leaving.
  05 May 2013
Have you tried to change the normal's angle of the mesh to soft?
  05 May 2013
if you're subdividing to much the tessalation in mray might take a long time to compute hence the huge render times. i don't know the topology of your geometry but you can ditch the displacement, subdivide the geometry and use a deformer to "displace" it. if you don't have a noise deformer you can use softbodies and blend between a deformed and non deformed surface or you can use a lattice turned into a soft body to get the animated wobble of the liquid surface.
  05 May 2013
Yeah I always smooth my normals, and in this case the mesh is in smooth-preview too, and hell it's only a 13x2x2 cube with a volume noise on it for the displacement..
But smoothing has never worked for me with displacement on anything in any version of Maya. The generated tessellation ALWAYS comes out with hard edges.

Now oddly I've had some strange luck with this, and I can't explain it, but enabling GI, FG, Caustics, AO, and adding 8 lights, and boosting the displacement attributes up to 400/100/10/80, has actually reduced my render time to 5 minutes a frame and smoothed the results enough to live with by way of further tessellation.
I'm as baffled as anyone reading this probably is, but not complaining.

Now I'm more confused about another issue with the displacement..

Someone once explained to me, in XSI, that there's a certain space that the displacement renders into, and the higher that limit, the longer it takes, regardless of the level you set the actual displacement for the final result.
E.g. a value of 1 on the displacement's scale is full displacement within whatever that space happens to be.
Now I have two models, almost the same, one on which I developed the shader while waiting to receive the other, and the other which I need to apply the shader to.

With a value of 1, the first model's displacement barely widens the model more than 20%.
With a value of 1, the second model's displacement seems to widen the model by 400%.
Therefore I've had to lower my scale attribute to 1/20th of what it was in order to transfer the shader, however, the render time is now doubled.

Maya seems to have no control for that space like XSI does.. any ideas how I might reduce it? I'm currently having to use 0.02 as a displacement scale >.<

And thanks for those suggestions adisan, though what you describe are things I've not really tried before, and since the project is now manageable, and though they may be easy once you've had a go at it, I figure it's probably safer now if I learn those things outside of it, though I would definitely have given that a go if the project hadn't miraculously revived itself!
  05 May 2013
Actually I'm having some retarded issues with the other model now, the displacement is going totally out of whack, getting skewed spikes on one axis, more so at different points of the deformation.

There HAS to be a way to have the shader exclusive as a shader without the deformations affecting it at all, this has never been an issue for me before, I can't think why now..
The deformations were done in 2013, and the rendering issues were even worse there.

Here's the shader applied to my sample model in 2014.. the only difference between them is that the sample doesn't have Clusters of the edge loops animated for swap-out positions as the cube slides through a lattice, whereas the full version that needs the shader does have Clusters at that point.. the rest of the deformation is practically the same.
Oh, and the full version's lattice has blendshapes.

But seriously, this is a 3D Texture, how the hell can it even be being affected by deformers on a model it's applied to?
And how the hell do I stop that from happening? =/

This is a frame of my sample model with the shader working correctly (with post processing)

So you see the displacement not having an issue, being totally unaffected by anything to do with the state of the model, just as it shouldn't, perfect..

But on the other model, this so-called 3D Noise, is being skewed along the X axis:

I cut that render off short because it was taking forever, but you can clearly see the problem on the light blue one.. what the hell is going on there?
The 3D texture placement node is a cube.. I've re-mapped the UVs, regardless, to the cube versions, deleted all non-deformer history, deleted texture reference objects, I'm stumped..

The only thing I can find in relation to this is that the scales of the cubes are:
But the scale of an object never before have any effect whatsoever on 3D texture placements, what the hell is going on?
I tried doing the maths to figure out the exact reverse value to squish the placement by node to counteract this, but scaling the 3D placement node has no effect on the placement of the 3D fractal it's connected to, well not on this model anyway, only on other models.. but I need it to work on this one, ahhhh!!! Wtf Maya.. =/

Last edited by dudeman38 : 05 May 2013 at 04:38 AM.
  05 May 2013
a displacement node usually needs to be limited so in Maya the bounding space is controlled by the displacement map attributes of the geometry shape node, by the Bounding Box Scale in conjunction with the Mental Ray Approximation Editor.

with Mray you need to create a mental ray displacement approximation node and attach it to your geometry. window > rendering editors > mental ray > approximation editor

then add mode subdivisions for your displacement. it's all in there

but if you are really in trouble you can share the scene so i can have a closer look into.
  05 May 2013
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 02:37 PM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.