After writing the tutorial for creating a 3ds Max animation in V-Ray, Dorothy from D-Zine Lounge decided to convert to Corona Renderer from V-ray for the final process. It may sound complicated if you’ve never done it before, but she’s here to make it simple.
Over to you Dorothy…
We started by opening each of our scenes in 3ds Max and with a right click on a view port and a click on ‘Corona Scene Converter’, we quickly transferred the scene from V-Ray to Corona.
It converted all the materials and lights and render settings. Well, that was pretty easy!
We wish that it was that simple – of course, it is never as painless as one click!
Most of our materials were fine but there were a few that we needed to change:
- Albedo – Unrealistically bright materials don’t work well in Corona: they cause too many light bounces and can slow down render times. Some of our materials had a diffuse or map in the diffuse slot that was pure white (255, 255, 255) which we changed to light grey (210,210,210). This reduced burn outs, giving definition to corners of the rooms and the shutters.
- Falloff – Many of our Design Connected models in the scenes had a falloff map in the reflect color slot which made the material less realistic, so we removed it and adjusted the Fresnel IOR.
- Glass – We made all the glass (windows, wall pictures, light fixtures) to single plane polys and applied a thin glass corona material, helping with render times and caustics.
- In scenes with a lot of noise around artificial light sources, we changed reflective materials such as a light fitting to a CoronaRaySwitchMtl, reducing noise and burn outs.
- The material on the curved plane outside was changed to Corona Light Material and the emit light option switched off.
- Corona Sun – Each scene contained a Corona Sun and an HDRI map in the environment as it did in V-Ray. We made sure the Corona Sun matched the HDRI map and the animation.
- Interior lights – The Christmas scene had too many lights adding excess flickering! The object of the Christmas tree lights was added to the CMasking_Mask render element so it rendered as a grey material in the main Beauty pass. Using the mask in After Effects, we then added the lights back in. We used some IES lights for the pendent lights which works in a similar fashion to V-Ray.
- For the secondary GI solver, we set it to be UHD Cache, as we were rendering interior scenes.
- We kept the GI vs AA balance set at 16 and the Light samples at 2.
- The pass limit we set to 30, 50, or 80, depending on the render times for certain scenes, aiming to keep all frames rendering at around 20 minutes per frame.
- The Animation flicker free checkbox was checked.
- Full denoising was activated.
- CESSENTIAL DIRECT – This showed noise levels from direct light sources. Once we decided upon a good GI vs AA balance and settled on our Light samples and Pass limit, the noise on this render element was acceptable, and deleted this element before YellowDog’s final rendering. Each render element takes up render time: if you don’t need it, don’t render it! If you want to use it in After Effects to add more light into the scene, then have denoiser clicked on at the bottom of the render set up dialogue box.
- CESSENTIAL _Indirect – We did the same as for Direct, i.e. from our HDRI map and the environment. Looking at these elements helped us learn how to optimise our lighting for Corona Renderer.
- CESSENTIAL_Reflect – This shows the reflections in the scene. We rendered this element as it added some dynamic detail back into the renders in After-Effects, and made sure denoiser was on.
- CMaskin_ID – This renders all objects in different colours to help in post-production. We rendered this element just in case, but didn’t end up using it.
- CMasking_Mask – This element was used to add in the fire and steam in post-production.
- CShading_Albedo – We rendered this element to help us ensure albedo was correct on objects, and deleted it before final render. The render element shows objects in the scene is a variety of greys but if there are red objects in the scene, then they are over bright white materials that need to be changed.
- CShading_Beauty – This element was rendered with full denoising but without Bloom and Glare, giving us more control over the Bloom and Glare element in After Effects.
Corona Interactive Renderer
Once we had converted the scenes, we rendered stills using the extremely helpful interactive renderer, adjusting the lighting while they were still rendering. There was no need to stop the render, alter the camera or lighting settings, and then wait as the render started from the beginning again before seeing the results. It was all instantaneous!
Making amends this way was extremely quick and gave instant results. Rendering draft sequences without flickering and blotching took less time to set up; as it only needed a couple of minutes per frame to render, this helped approval times dramatically.
Phoenix FD & Corona
We just had two problems now: some fire in the lounge and steam in the bathroom.
Both were created using Phoenix FD, and at the time Corona wouldn’t support this plugin. Using the pervious V-Ray files of the lounge and bathroom, I created the fire and steam. Rendering entirely in V-Ray would have taken too long and I wanted us to keep the render consistent.
We decided to render the lounge and bathroom sequences without the Phoenix elements in Corona. Separately, we rendered only the Phoenix elements in V-Ray, making sure they still looked like they were part of the scene and not something applied crudely on top in After Effects.
We used a V-Ray Material Wrapper to create a Matte for objects that I didn’t want to see. You can do this easily by ticking Matte, Shadows, Affect Alpha, and switch alpha contribution to -1.0. In the Base material node, place an all-black, non-reflective material.
We set the material override in the global render settings and then excluded the Phoenix items that we wanted to render. The result? We had a pass that only had the object we wanted, with shadows and reflections from the scene, and nothing else.
It took seconds to render the Phoenix elements, and then using CMasking_Mask, which highlighted the fire place and bath, I could mask these items on to the final renders in After Effects.
Before sending our final renders to YellowDog, we did several tests to ensure we had optimised scenes with a good balance of Quality vs Render times. We had a tight budget and 4900 frames to render, so checking that each of the 18 scenes was fully optimised was important:
- Materials – We checked that all materials had the correct Albedo and didn’t have falloff in the reflect color slot and the Fresnel IOR was correct. Bitmap sizes were reduced, speeding up rendering and upload time. We optimised glass objects and made the Corona glass material ‘thin’.
- Reduce file size – Deleting objects that can’t be seen in the animation is good practice and it speeds up rendering and upload time. Creating 360° images of the garden helped reduce file size and speed up rendering times dramatically. Proxies and instances to reduce files size were also used.
- Denoiser on – The denoiser was a lifesaver: applying to all render elements helped us get away with lower Pass Limits which sped up render times. Be careful here that details aren’t lost; getting a balance between Pass limits and denoising was important.
- Animation (flicker free) – Animation (flicker free) button checked for when rendering animation sequences. What an incredible button!
- GI vs AA balance and light samples – We did many tests with the GI vs AA balance and light samples, and decided that the standard 16 and 2 were best, as keeping them as they were sped up render times.
- Pass Limit – The Pass Limits did vary per sequence as smaller and simpler scenes were quicker to render, so we could up the Pass Limit dramatically and keep the render times to around 20 minutes. For the individual images of the shutters in different colours, we rendered them at a Pass Limit of 80 as we needed a bit more detail which the denoiser took out at a lower Pass Limit.
- Render elements – We removed any render elements we wouldn’t be needing.
- Save Location – Make sure the location for final rendered frames is set and the render elements are also going to the same place.
- Lock view to render – Making sure the correct viewport/camera is set it to render can easily be missed!
We submitted 15 frames per scene (i.e. 1-5, 100-104, 200-204) for testing on YellowDog’s platform to establish that each frame rendered with an acceptable time for us and the quality was spot on. That was perhaps overkill but I wanted to be safe rather than sorry, and it saved us time in the long run.
Submitting the jobs was incredibly simple with YellowDog’s 3ds Max plug-in and YellowDog Sync tool. When we were ready to render, we clicked YellowDog’s ‘Export’ button and the scene immediately uploaded to their servers to begin rendering within minutes. You could see a list of all the jobs uploading, cancel them if needed, and swap the priority of what jobs you wanted rendered first.
The ability to preview the frames as they rendered is a blessing for calming nerves! I could check the renders on my phone and easily cancel the job if it wasn’t appearing as I’d hoped. The YellowDog team were always on hand including on the weekend, which meant rendering all the sequences for Monday morning was a breeze!
We are extremely pleased with the final animation and continue to use Corona Renderer for all our interior scenes. The YellowDog plugin is now installed on all our machines and we use their servers every month to speed up our projects. Corona Renderer and YellowDog kept us within budget and helped us deliver on time.
I’m interested to see what changes will occur because of the merger between Corona and V-ray; they’re both great and although I’m now sold on Corona, V-Ray has been and will be a part of what I do for a long time.
Do you agree with Dorothy – are you sold on Corona? Maybe you’re loyal to V-Ray? Or do you see yourself using both engines in your pipeline? Check out our Jack’s thoughts on the subject here.