On some recent projects I’ve needed to display a vehicle in an HDRI environment only, no backplate. Sounds simple enough right? Well, it’s actually not as simple as it sounds depending on which render engine you’re using. An example of what I’m referring to would be how IRay+/VRed/Keyshot work. Here’s a clip for reference: https://www.youtube.com/watch?v=jxdtCDfRfTI&feature=youtu.be&t=8m50s
In this post I’ll show you how to setup something similar, but still a hack, in Corona Render.The current push towards everything being “physically accurate” in render engines is quickly becoming the bane of my existence. Years ago I’d spend a lot of time trying to figure out how to make things look realistic (still do)…but today I’m spending more and more time trying to find hacks around the restrictions and/or limitations in render engines because of the physically accurate settings.
One such example:
A client provides a 360 panoramic HDR and states they want me to submit a lineup of vehicle rotations using that as the backplate. Something similar to what is shown in the video at the beginning of this article.
If you’re using something like IRay+, that’s easy. Just assign the HDR to the IBL light, set it to Hemispherical, and adjust the Radius & Cam Height values to what looks best. Done. With other render engines such as VRay or Corona, which I had the vehicles already configured in, it’s not so simple. Each render engine has it’s own set of quirks with this configuration scenario that I had to work through.
I will end up using IRay+ for this project just because it will provide the most efficient way of handling this scenario. However, I did find that a geometry based environment in Corona gave some decent results. Not perfect or totally efficient to render, but it may get you out of a pinch or be useful for some preview situations. Here’s a screen capture video showing what I ended up with in Corona:
Here’s an overview of the setup:
1. I created a cylinder out of a lathed spline. Why not just use the cylinder primitive? Because I felt the ‘generate mapping coordinates’ option on the lathe would lend itself to this setup better than the cylinder primitive. I could be wrong, but it worked as I expected here so I went with it.
2. Apply lathe modifier and set the align setting to Max. Set the output to Patch (that seemed to work best for this). Also, enable Generate Mapping Coords. if not already active.
3. I applied a CoronaRaySwitch material to this lathed cylinder shape. In the RaySwitch material I applied a CoronaShadowCatchermtl to the “Directly visible” slot. You can instance this to the Reflection slot if you want the cylinder to reflect in your objects. If you leave it as is, then it will reflect the environment HDR.
In the CoronaShadowCatcher material I added my HDRI to the environment/Backplate slot. Don’t instance this from the environment because it will need to be rotated 90 degrees. Set the projection mode to “Do not alter projection”. You can of course apply a UVW modifier to the lathed cylinder or unwrap it. I just rotated the map because it was quick-n-dirty.
This setup produces a textured environment cylinder for the visual environment but still allows the HDRI scene environment to illuminate the objects. The cylinder shape geometry does seem to generate a bit more noise in the scene than just a simple HDRI environment. I felt that the open top cylinder shape produced less noise than an actual dome though, that’s another reason for this particular shape.
Finally, I’ve placed a copy of the 3ds Max scene and a HDR on my server HERE if you want to give it a try.
I’m sure there are probably better methods for this. If you know of one that works better or more efficiently, please feel free to share it in the comments!