Aiming Inc. Lead Software Engineer / Manager - Manager
Introducing Massive Clouds, “How to make clouds”
Volumetric Cloud Rendering
Link to Massive Clouds (Unity Asset Store)
What is Massive Clouds
Massive Clouds is a Unity asset for drawing clouds. The first version was released in November 2018, and then continued to be updated. Version4 was released in August 2019.
Volume rendering renders three-dimensional clouds to the scene, and clouds generated by a procedural approach based on noise can be freely adjusted with parameters such as altitude, density, and cloud shape. The VR is also supported and can be expressed in 3D space, so you can dive in the clouds!
Volume rendering is a processing that is a heavy load on the GPU, but it also provides parameters for optimization, such as realistic flight games and cloud sea representations that could not be realized with textured skyboxes. Is possible.
I think it's easy to see what the actual video looks like
You can freely create clouds as introduced in this article, but you can convince the game scene just by choosing your favorite cloud from over 60 preset presets. . Expressions of the sea of clouds and fog, and the latest version 4 can also be expressed as God Ray.
In this article, we will use the newly released Version 4 to tell you the setup procedure, the video explanation of the parameters picked up, and how to adjust the clouds in TIPS !
Install & Setup
Then, we will immediately introduce Massive Clouds to the project. Here, we will explain using Unity's 3D template (Standard RP) or assuming a project.
MassiveClouds also supports Lightweight RP (Universal RP) and VR since Unity2019.1
When you import Massive Clouds from the Asset Store, a MassiveClouds folder is created, and the shaders, scripts, texture data, etc. necessary to draw clouds are created.
The file Document_en.pdf is the manual, so please have a look.
There are various demo scenes in the SampleScene folder, so please play them in the editor to get a feel for what you can do with Massive Clouds!
Configure components on the camera
Massive Clouds draws a cloud as a post-processing image effect on the camera scene rendering result. Therefore, we will make settings for each camera to shoot.
Add a Massive Clouds component to the scene's camera. Then, the following component UI will be displayed.
The Massive Clouds component holds information about what clouds are drawn and how. It also functions as a cloud editor, such as adjusting parameters in real time to check the appearance.
Next, add a Massive Clouds Camera Effect component.
This component adds the ability to draw clouds to the project camera set up with 3D templates (Standard RP).
Next, let's display the clouds.
Click the + button in Layers of the Massive Clouds component, and then click the ◎ button to the right of Layer 1. Cloud definition data called a profile can be selected, so select an appropriate profile.
The setup is now complete. Clouds are displayed in Game View, so let's check the state of various clouds by switching profiles in the previous step!
Massive Clouds draws clouds using a technique called volume rendering. The space is restored in the shader from the scene image taken by the camera, and the three-dimensional object is drawn as a single image. This technique tends to be a costly process for GPUs, but nowadays, expressions using volume rendering are generally seen in games.
Explanation of four rendering engines
Before starting work, I will explain the rendering engine. Massive Clouds has four rendering engines that you can switch between. Understand each feature so that you can decide the rendering engine that matches the cloud you want to create.
Volume rendering engine based on translucent operation. I am good at expressions with a sense of transparency that light has passed through. Features a look that has scattered light on the surface, such as subsurface scattering.
Solid Engine is good at expressing the contrast of cloud shadows. It looks like a fluid, but as shown in the example below, depending on the direction of the light, it may look like a cloud ...
It is an engine that is good at expressing dense clouds realistically. Transparency is less than Lucid and Solid, but shadows of silhouettes and cloud bottoms can be produced firmly.
It is the engine that can reproduce the expression of physical light in the most realistic way. Also, even in situations where you are diving in the clouds, you can draw up to a distant view with artifacts suppressed. Unlike the three engines introduced so far, the minimum required GPU performance will be higher, but this engine may lighten the GPU load when high rendering quality is required. An engine for high-end expressions.
Engine selection case study
Various expressions can be made depending on the adjustment of parameters, so it is not possible to say unconditionally, but I tried to summarize which engine should be selected in what scene using each feature.
I want to dive in the clouds!
I want transparency!
I want a soft expression!
Lucid / Authentic
I want a seamless change between day and night!
Lucid / Surface / Authentic
I want to work in a low-spec environment!
Lucid / Solid / Surface
I want to match a stylized expression
Solid / Surface
I want to express seriously
Surface / Authentic
From the desire to create assets that can handle any game world, from realistic expressions to stylized expressions, we have improved and added rendering engines with each version. The latest Authentic engine was developed from the desire to withstand genres such as flight games. There are still things that cannot be done, such as further reducing the load in the VR environment and expressing the cloud globally. We will continue to develop it, so please give us feedback.
Cloud creation workflow
Once setup is complete, the procedure for creating an original cloud is explained.
Using CloudsDemo scene as a cloud design tool
At first it is recommended to use the included CloudsDemo scene as it is to edit the clouds. Since the CloudsDemo scene has a simple environment engine, changing the time automatically switches the environment parameters such as the sun position and the light color and intensity. Using this function, you can check the change in appearance when you change the lighting.
In addition, cloud parameter editing allows all parameters to be edited on the MassiveClouds component.
In this scene, you can move the camera freely by pressing the WASDQE key on the keyboard during playback. Also, since you can change the camera direction by dragging with the mouse, it is a good idea to move the camera to a position where it can be easily edited after playback.
Select the original preset
Massive Clouds has many preset files. The folder called Profile in the project is roughly classified by cloud type, but at first it may not be easy to find the desired preset.
If you understand what these folder names mean, it will be easier to understand.
Authentic: The latest presets using the Authentic engine
Cloudy: Cloudy sky. Lead-colored clouds that cover the sky like rain clouds
Cumulonimbus: Cumulonimbus. Mokumoku cloud rising to an altitude of several kilometers
Cumulus: Cumulus. Sparse clouds floating in the sky
Dissolved: Dissolve presets that have been dissimilated into the background by shaking the parameters
Efx: Effect. Presets aimed at effects other than clouds such as fog, aurora and noise
HighDefinition: A cloud with high drawing load and parameter adjustment. As a benchmark application
InnerCloud: An effect that aims to be like being in a cloud by drawing a cloud at the center of the camera
LightWeight: Presets with light drawing load adjustment
Mobile: A set of presets for mobile devices that have reduced drawing impossibility. Noisy, thin
Stratocumulus: stratocumulus. Clouds covering a wider area
Stratus: stratus. A cloud that covers a wide area. sea of clouds
Upper: A group of presets that group upper clouds. Cirrus, light cloud, scale cloud, muscle cloud
When you play the demo scene, you can check these presets by switching them in the UI at the bottom.
If you find the one you want from these presets, copy it with Ctrl + D, give it a free name, and move it to a suitable place (in the example on the right, a folder called MyMassiveCloudsPreset was created). You will be editing this new cloud preset file.
Open the MassiveClouds component attached to the camera. Press the Layer 1 preset selection button to load the preset you created earlier. You should immediately be able to see the cloud presets reflected in the Game View.
Next, click on the area labeled Layer 1 to select it, and the preset parameter editor will appear below it.
Many parameters seem to be very difficult, but they are categorized by topics such as shape, lighting, animation, and shadow. Parameter changes are immediately reflected in GameView, so you can create clouds while visually checking them.
Finally, after adjusting the parameters, you can save the parameters by pressing the Save to Profile button. Conversely, the profile is not changed until you save it, so feel free to play around with the parameters and check the changes.
Create the shape you want
The cloud shape is determined by Shape Parameters. The following image shows the role of each parameter roughly.
I want to adjust the shape of the cloud top and cloud bottom - SoftnessTop / Bottom
To adjust the shape of the cloud top and cloud bottom, change the SoftnessTop / Bottom parameters. As the value increases, the cloud top and cloud bottom change. As the figure parameter is increased, the degree of shaving changes so that the cloud top tends to remain, so it is a good idea to change the figure value and see the difference in shaving.
I want to adjust the details of the clouds / I want to make a torn cloud - Octave / Sculpture
Use the Octave / Sculpture parameter to adjust the details of the clouds. Raising Octave will make the cloud noise appear finer. Increasing the Sculpture parameter will make it more complicated. For soft and soft clouds, try setting Octave or Sculpture to a lower value, and for scattered and messy clouds, try setting a higher value.
By setting the distance in Detail Distance, you can add the detail of the cloud drawn in the close place in the situation where the cloud is drawn at a close distance of several hundred meters from the camera. In scenes like diving in the clouds, you can express more realistically.
Want to change the weather / create a cloudy sky - Density
If you want to change how much cloud covers the sky, change the Density parameter. It will change from a clear sky to a cloudy sky.
I want to make my silhouette clear and soft - Softness
Adjust the Softness parameter when you want to create a cloud that is soft and transparent like fog or a solid cloud. Let's change the parameters to see how the silhouette gradually fades away from a solid cloud with a solid silhouette. If this parameter is too small, artifacts are likely to occur, so it is recommended to set a larger value.
Up to this point, we have explained the changes in shape caused by Shape Parameters.
Let's make clouds of various shapes.
Massive Clouds generates clouds using a procedural approach based on noise. Because it does not have a pre-determined shape, the shape is determined through calculation so that fine adjustments can be made.
Massive Clouds can automatically calculate cloud lighting and shadow generation in conjunction with scene directional lights. To link, set Sun Mode to Auto and link Directional Light to Sun Source. Lighting is an important parameter for making clouds look like clouds.
It is difficult to understand the light parameters without actually seeing them with the eyes, and it is necessary to adjust several parameters to achieve the target image.
I want to lighten / darken
Cloud shadows are generated by intertwining various parameters. Let's suppress the method to cope with when the overexposure cannot be suppressed or when it is too dark.
Lighting is the basis of cloud light calculation. Brighten while maintaining the shaded state.
Light Scattering adjusts the intensity of scattered light. The light of the part where the density of the cloud is thin becomes strong.
Shading changes the strength of cloud shadows. Larger values tend to darken the shade.
Even though it is brighter, there are multiple parameters like this, so let's grasp the effect of each light parameter by grasping the sense while actually adjusting the parameter.
If you get overexposure
If you cannot suppress overexposure, adjust the intensity scale of the light link. When Directional Light is set to a large Intensity value, the clouds will be blown out. In such cases, you can stabilize the lighting on the clouds by reducing the Intensity Scale.
I want to express an impressive sunset
Direct Light is used to highlight the surface of the cloud receiving the light. By setting the time at dusk and adjusting the effect while checking the effect, you can create an effect in which the clouds are dyed red at sunset.
I want to adjust to the scenery
Ambient can adjust how much the scene's ambient light is affected. In general, the higher the Ambient value, the more familiar it is with the color of the entire scene.
In addition, there are parameters called Dissolve and Transparent. By adjusting these parameters, the cloud can be melted into the sky. However, since the color behind the cloud is picked up and processed, the sky is above the cloud. In situations that look down on the ground, consistency may not be achieved.
I want to make an effect-like expression or a toon / stylized expression
By setting the Ramp texture, you can color according to the shadow of the cloud. Using this, sample preset toons and aurora are created. Depending on the idea, you might be able to do something interesting.
Turn on Ramp and set an appropriate Ramp Texture. You can adjust the amount of Ramp texture applied by moving the Ramp Strength slider.
From the setup of Massive Clouds, we have introduced how to adjust the cloud shape and how to adjust the lighting. Massive Clouds allows you to fine-tune the clouds that fit your scene look.
If you are curious about what Massive Clouds is, please visit the Asset Store page!