Forest Pack is the scattering tool for 3dsMax that you can easily use to spread objects, trees, buildings, etc. on wide areas of your project.

With the release of Forest Pack 7, we can now scatter everything, from geometry, to lights, and even VDB objects.

In this article we’ll use these new features to scatter lamp posts (with light objects inside) and clouds in the sky. Below you can see the final result:

Forest Pack 7 - Final result
Forest Pack 7 - Final result

I’m using Corona Renderer 6 for this scene, and although the difference between a CoronaLight and CoronaLightMtl is quite small, sometimes you may need to scatter actual light objects, instead of a mesh with a light material applied on it.

Before starting I’ve set the project file to meters to facilitate the scattering of the clouds, since they are quite big, it’s easier to input values in meters rather than centimeters.

The VDB file for the clouds are imported with the CoronaVolumeGrid. I won’t cover the workflow on how to do it and how to set up the parameters to render the clouds. It will be a topic discussed in the next article.

Here I will focus on the scattering for the clouds and lamp posts, highlighting some details while I show you what I’m doing.

The scene itself is pretty basic: it’s a plane with some noise on it. There are a few splines which control the gravel path and are also used to scatter the lamp posts, the benches and the trash cans. The scattering for the vegetation, grass and trees is quite standard. I used a mix of different assets and distribution maps to scatter the vegetation around, where I needed.

Now let’s focus on the important part of the article: lights and clouds.

Scattering Lights

Scattering lights is done in the same way as geometry: you add the light object from the Geometry rollout. The Area can be specified with a spline or a surface and all the Distribution modes are supported.

Take a look at the video below to see how it works on a simple setup.

  • Create the Object. I’m working with Corona so I’ll create a Corona Light from the toolbar, set it to Sphere, and I’ll leave the other parameters to their default values. Maybe you can change the radius to 3 centimeters.
  • Create the area for the scattering. In this case I’ll create a simple rectangle.
  • Create the ForestPack object and assign the Light. If the light is an independent object, you can just pick it. Otherwise if it’s part of a Group, you need to select the group using the Add Multiple option.
  • Adjust the Distribution. In this example I’m using the default Dense map.

A few notes about using Groups:

  • In the scene you saw previously I’m scattering a lamp post that is a group made by the mesh and a Corona Light on top (here the group is represented by a cone + the light object).
  • If you work in this way, you need to place the pivot of the light object in order to match the pivot of the mesh, otherwise the light instances won’t be placed correctly in the ForestPack object.

This happens only if you have a surface linked in the ForestPack object, in case of just a spline you won’t get this issue.

  • If you enable the Random Transform (Translation, Rotation, Scale), the light object may not behave the same way as the mesh. You can see in the video that there is a misalignment between the lamp post and the Corona Light.

These issues will probably be solved in a future update.

If you used ForestPack before, you know there is a map called ForestColor that we can use to randomize texture on the instances. Luckily we can also use it to randomize the color, or temperature, of the light instances. You just need to connect it to the Color slot of the Corona Light and set the parameters in the material editor.

The lamp posts in the scene are scattered using the Path Distribution, with a spacing of 6 meters and an offset of 2.5 meters, so they don’t overlap with the gravels on the path.
To complete the scene I also added some benches and a few trash cans.

Scattering Clouds

Now we can move on how to scatter the VDB objects for the clouds.

As before, the workflow is pretty straightforward:

  1. Create the area where you want to scatter the clouds.
  2. Create the ForestPack object and adjust the distribution to avoid scattering millions of objects right away.
  3. Link the objects in the Geometry rollout.
As you may have noticed, the VDB instances are not visible when scattered with ForestPack, even after changing the settings in the Display rollout. This is because we need to tell ForestPack that we are using a non-geometric object. To do it go in the Geometry rollout, select the object and enable the checkbox Non-Geometric Object. Now, if I set the display mode to Points-Cloud, it’s easier to see the distribution and set it properly.

The distribution for the clouds is nothing fancy. In this case I’m using the Image mode to specify where I want the clouds, and since they are quite big, the units value will be quite big as well, unless you want to create a completely overcast sky.

You can create multiple layers of clouds by simply adding multiple splines in the ForestPack object. Notice that with ForestPack 7 the instances can now follow the height of each spline, instead of only the higher one.

As always, remember to enable the Random Transforms, they help a lot breaking the repetition and creating a more natural result. For the clouds I’m using pretty standard parameters. As I said before, clouds are quite big, for example the cloud I’m using right now is around 200 by 300 meters in size, so in the Random Translation you need to increase quite a lot the values if you want to affect the position of the instances, in my case I’ve set the range from -10000% to +10000%.

All that remains is to launch the render. I’ve only changed the Secondary Solver to Path Tracing and set the Noise Level to 2%. I’m also using Distributed Rendering to get a quicker result. Here the same scene, during daylight.
Forest Pack 7 - Daylight scene
Forest Pack 7 - Daylight

A word of caution when scattering volumetric objects. Even though all the clouds we have in the scene are instances of a single source object, the shading computation during rendering will have a big hit on the performances. So be careful! Don’t try to scatter hundreds of clouds in one shot or your computer will likely freeze (I tried). 

Watch here a full recap of the whole process we just saw.

Stick around for the next article, where we’ll take a more in-depth look at how to render clouds with Corona 6 and look at how to control the parameters to reach the desired result. We’ll also discuss how to create the mesh and the VDB file for the cloud itself, explaining some of the attributes needed in the VDB object to correctly render the cloud.

Stay Tuned!

Jump in the world of Corona Renderer with SOA Academy!

Remember that you can already start learning Corona with our Online course. Next batch is starting on May 26th. Book you seat now!

Share this