I know this has been brought up probably since the beginning of VRay, but I would think by 2012 a production worthy solution would have been created by now for VRay. Before you link me the VRay Environment Fog, Im fully aware of it and how difficult it is to get decent results but with high render times. Im talking about a solution that is specific for creating just clouds. An Effect option under the Atmosphere tab that says “VRayClouds” is long overdue.
I’ve seen some video games with amazing clouds, volumetrics, shadow casting, and all in an environment with thousands maybe millions of polygons and fog. But it seems like a difficult task to do in 3D Max & Vray. It’s been a few years since I used Maya, but I remember Maya having an option in its Visor section to Paint Clouds in the scene. This is a start. Am I wrong thinking its time for 3D Software like 3D Max to be able to create a friendly to use Cloud system?
Possible and useful do not necessarily equal profitable. It would be great to have a serious volumetric shader similar to the hypertexture/volumetric materials of Vue though.
Because Ozone isn’t designed with 3D Max and Vray. Does it work? Yes, but you’re faced with limitations. Enabling gamma correction and chaging the value in Ozone doesn’t make a difference. This is important if you use linear workflow. You have to use Ozone’s Sun and I find the lighting less realistic than Vray’s sun, only Standard or Global setups work (GI and AO do not). I ran into other limitations but I can’t remember them all right now. Vray’s Sun and Sky works so much better, just lack clouds.
Why couldn’t it be profitable? If people are buying Ozone and Vue because it has a great cloud system then I would call it profitable. If Vray had a native cloud system that could compete with Vue, Im willing to bet VRay would see some sales increase because of it. Thus, profitable.
I’ve been experimenting some with creating local clouds (as opposed to complete skies) and I found a pretty nice approach using geometry as a reference shape.
What I noticed was that VrayEnvironmentFog isn’t really suitable for white puffy clouds because there seem to be no proper form of light scattering included in the shader model that is suitable for lighter clouds. It works if you want to create very dense clouds, like dust or smoke, but for spectral scattering it just doesn’t give the right looks.
This is the closest I could get, and I’ve made significant gamma correction and manual tweaking to the shape.
Without this tweaking the light distribution inside the cloud reminds more of sand clouds than water particles. It’s like it just absorbs light without reflecting it back the way white clouds do.
So if I’m not mistaken, maybe an extention to VrayEnvironmentalFog is what we need.
It works just fine, you just need more GI scatter bounces in the fog (100 or so) and a proper secondary GI engine (light cache or brute force with the appropriate number of bounces).
This was the closest I got to making anything like real Vray Clouds…
I still don’t think it’s anywhere near as good as Vue’s solution. As was mentioned before, we need a really high end procedural setup implemented in the same way as Ozone. I don’t want to have to use another 3rd party bit of software when I know VRay is or at least could be more than capable, and have the same functionality.
I did some additional testing, and I must say scale plays an important role depending on what look you want.
This is the look I’ve tried to emulate
And this is the look I got when scaling my cloud from about 100metres up to several kilometres
As you can see there are some artefacts present on the cloud, this is because the parametric mesh I’ve filled with VrayEnvironmentalFog end up with some inverted faces due to the displacement. But this is how the cloud looks straight from the render, so no post-processing this time.
The mesh is however fully parametric for making variations of the same cloud setup. The backfacing issue is probably the only issue I’ve found with this setup.
I previously did some experiments with noise maps but as you can see here they tend to make the cloud loose quite some shading, probably because the noise is distributed throughout the entire volume instead of just ending up near the surface like real cloud. If anyone got a magic solution to that problem I would be really happy, along with many others too I’m sure
Maybe it’d be worth making two clouds using the same mesh - one inner version of the mesh with no displacement and a large push value to shrink it in and an outer version with your displacement turned on. Use two different vray environment fog operators, one with no texture for the inner “solid” cloud, and another for the outer “noisy” cloud? Nice tests by the way!
Doing it with actual geometry is not the way forward imho.
It should all be done via a procedural noise map for the density - far less ram intensive, no modelling required, fully animatable and wont lag your viewports - plus the varying density will give the clouds a more realistic look, letting you give the clouds very soft, feathered edges.
I get what you’re saying, but under certain circumstances you might just want to do one single fluffy cloud where estimation of the cloud shape is necessary, as well as manual shaping.
And the experiment I’ve been testing out doesn’t necessarily lag the viewport either. You can apply a Turbosmooth which only subdivides at rendertime, so you’ll be able to see the shape in the viewport, yet have a high resolution render.
joconnell’s suggestion might eliminate the need for a high resolution mesh though. I’ll see what I can make out of it.
Fully animatable but totally uncontrollable! Having some kind of basic control over the starting shape is really important for art directed vfx shots so being able to sculpt a simple volume is really handy in my opinion. The displace modifier on top for the larger bumps and shapes and then the texture in the environment fog for the small broken edges. I get what you’re saying about viewport overhead but I reckon Swahn Kung’s test images from above are far closer to being realistic - it’s a tough one to pull off!
My animation was made using the standard max noise; hence the shape not being right.
Let’s face it Vue’s implementation looks the best out there so far, yet I’d bet any amount of money it’s not done using geometry - I reckon it’s all procedural noise maps that have been custom built to imitate clouds. I am still not sold on the idea of geometry for clouds.
joconnell, your suggestion about using two instances of fog, one for the inner part and one for the edge is good. However I encountered a potential bug or limitation.
If I create two VrayEnvironmentalFog, and try to add one mesh for each fog, they seem to share the same list of objects.
If I try this 3ds max will crash almost instantly.
To replicate this crash:
Create two meshes
Add two VrayEnvironmentFog.
Try and add one of the meshes as a gizmo to either fog.
Crash.
I’m using Vray 2.20.03
I’ll probably should post this is the problem section too.