Corona 10 comes with new volume resolving, letting you correctly render a view inside volumetric or refractive mediums. You can simulate the effect of being inside a volume, and seamlessly render the transition from one medium to another.
Also, Corona Camera can now have a physical size and be in two or more mediums at the same time, e.g., air and water.
Rendering inside water
The following renders are from exactly the same scene. The volume is made from a simple water plane with displacement and surrounding walls. The camera is below the water surface.
Corona 9:
Corona 10:
Rendering between 2 volumes (air-water)
To be in 2 different mediums, the camera should have a non-zero size. To achieve this, set values higher than 0.0 for the Camera physical size value; you can find this value as follows:
- For 3ds Max: Camera settings > Environment & Clipping rollout.
- For Cinema 4D: Corona Camera Tag > Settings.
3ds Max: | Cinema 4D: |
A non-zero "Size" parameter creates an invisible empty box around the camera. You can see it (3ds Max) by enabling the "Show in viewport" option. Volumes inside this box will be removed when rendering.
The following renders are from the same scene used before. The camera is placed on the water surface:
3ds Max: | Cinema 4D: |
Corona 9 (no camera size option):
Corona 10:
Keep in mind that too high and unrealistic Camera size values may clip more than needed. Make sure to use reasonable Camera size values:
Camera size = 3m
Camera size = 10cm
Note: Correct volume resolving (rendering inside a medium) always works, regardless if Camera has a physical size or not.
Note2: In this scene, the volume is formed by a Plane (water surface) and surrounding Pool walls, creating an enclosed space. If just the water plane is isolated and rendered, it may be invisible from some angles. This is because it should be clear if a camera is inside a volume or not. Make sure you properly enclose the volume where the camera is.
Known limitations
- Non-physical material setup, like disabled reflections (IOR = 1.0), will look different inside and outside of the volume:
Physically-correct material (Max | C4D), with some reflections (IOR >1.0)
The tiles appear the same above and below the water surface:
Roughness: 0.25, IOR = 3.0
Physically incorrect setup (IOR=1.0).
The tiles will appear different above the water surface (no reflections) and below it (reflective).
Roughness: 0.25, IOR = 1.0
The difference will be more pronounced with lower roughness.
Roughness: 0.0, IOR = 1.0
Note how tiles appear different above the water surface (no reflections) and below it (mirror-like).
- If a light is placed inside a medium, the caustics solver (Max | C4D) will ignore the absorption of the medium for caustics generated outside of it. Observe how the blue glass ball is casting non-blue caustics when the light is inside it.
Colored glass caustics: light placed outside vs. inside medium.
Some other examples
Camera placed inside smoke:
Flying through clouds: