The 3D “forest” rendering above was created using maxwell proxies, scattered over an undulating plane using Herman Saksono’s advanced painter script tool, available for max users. (see link at end of post for available download spot)
The Proxy Setup…
The first thing set up for the scene are the planes in which the trees will be placed on. For this I modeled a few planes, pulling points and extruding edges to get a rough polygonal form before subdividing the mesh and using the paint deformation tool (found at the end of the modify stack for editable poly) to do some light sculpting for the landscape.
Next, create the actual proxy that will be scattered along the landscaped planes. For this I’ve used a series of Xfrog trees (Allepo Pine & Eucalyptus models). The tree models were unified into a single mesh where materials were setup and applied through multi sub object before the proxy is created. (see below for leaf material setup used in the scene)
Right click on the object and in the top right quad panel, click “Create Maxwell Proxy”
Once the proxy for the object has been created, it wall appear on top of the object. Slide it away from the object and set the desired % level of detail for the proxy. Essentially, proxies improve viewport performance by creating an instanced point cloud of the original object. Below shows how performance is also translated at render time.
Next, scatter the proxy object that was just created onto the landscaped planes. Once you’ve run the advanced painter script, you’ll be able to access the tool through your quad menu by right clicking in the scene. (see the help/how to files that come with the advanced painter script, as well as max help files to see how to set this up in your quad menu if you have trouble accessing)
Once the advanced painter tool is accessed, the advanced painter interface/window will appear.
1. Select “Scatter” from the type drop down menu.
2. Press the pick button, then select the proxy object you want to paint with (once selected, it will show up in the scatter object list. note that you can include multiple objects within this list to paint with. For instance if you wanted to scatter several different types of trees onto the landscape, you’d simply follow the steps to include those objects as your scattered medium)
3. Select the object you want to paint on (the object you want to scatter other objects onto. In this case, it’s the plane we created earlier)
4. Press the paint button (with the object to be painted on selected….. It explains all this crap in the how to files included in the advanced painter)
5. In the perspective viewport (or whichever viewport you’re working in) you’ll see the paint tool icon hugging the surface of the selected object….. Scatter away! (the scatter parameters you’ll have to play with in order to get your desired appearance)
One thing to note: You’ll want to create different layers for different clusters of proxies. The painter can bog down while painting if there’s too much going on in the viewport….. even though we’re working with proxies. It’s also a good habit to get into…
Here’s what the scene looks like once everything’s set up…
Note that our original tree (and the other trees used similarly) has roughly 150,000 faces.
There’s over 7,000 tree proxies in the scene. If we hadn’t created the proxy to scatter along the landscape created, the scene would have inevitably crashed long ago trying to handle over 1 BILLION polys. By creating proxies, we’ve limited our poly count for the scene to just under 900,000. Which not only enables smoother scene navigation, but cuts down on memory through instanced rendering.
When this goes to render, maxwell is rendering over 1 Billion polys, but memory is only handling the 800,000 or so from the instanced tree meshes in which the proxies were “instanced” from.
….. Which greatly reduces the amount of memory committed by the machine/computer used to render the scene.
The rendering benchmark will still be affected since there’s still so much information in the scene. Instanced geometry will not necessarily improve/affect the actual rendering speed/performance, but the systems memory performance in handling such a large amount of data.
Rendering……. Be patient…..
The screen shot of the actual material below shows an attenuation setting of 1cm? You’ll want to start off setting the attenuation to 500um.
… Attenuation and coef/asymmetry settings you might need to tweak depending on type of leaf, but the map Brightness, Contrast, and Saturation settings seem to remain relatively constant from leaf to leaf (at least that’s what I’ve done)
The material used for this scene uses only one layer. This is by no means the only solution so experiment with using additional layers to get different, if not better effects.
Before you dive into Single Sided Sub Surface Scattering (SSSSS) read the tutorial on the Maxwell Think site: http://think.maxwellrender.com/creating_a_single_sided_translucent_material-213.html
Single Sided Weight Slot:
hope this helps
Herman Saksono’s Advanced Painter: http://www.scriptspot.com/3ds-max/scripts/advanced-painter-0