Tools and software
This Virtual Reality Experience (VRE) was created in Autodesk® 3ds Max® and finished in Photoshop for post-production and adjustments.
I modeled the main structure using basic edit poly techniques with multiple reference images. Since no exact measurements were available, the smaller elements like stairs and railings where used to approximate the size of the rest of the 3D elements.
References and inspiration
The idea was to create the stadium in a winter scene. I collected multiple winter references of the building and surrounding area from Google Images, Flickr and Pinterest as inspiration. It's important to have a develop a strong collection of references, especially when creating a VRE, since even the most insignificant object in the scene out of scale can throw off the viewer and ruin the entire experience.
Scene setup: beginning
Composition (camera placement)
The main composition is based on the original static cameras I used the first time I created images for this projec,t where I framed different parts of the structure so that they were best displayed individually. I had originally used V-Ray® cameras with different lens configurations for a more artistic look, however, when creating a VRE. you should use a standard camera to avoid distortion and better mimic what the human eye would see. When placing a camera for a VRE with a fixed subject, make sure that all the focal points you want to show are visible from the same spot and that there are no obstructions behind or around the camera that may not affect a regular 3D rendering.
Materials (adjustments made, optimization)
When creating a cube map or other large scale images, it’s important to optimize the scene as much as possible to avoid the computer crashing or running out of memory.
One tool I find particularly useful for this is the Teague Scene Checker script, which is available for free online, and helps detect errors in a scene. I use this tool primarily to help me find materials and lights with high subdivision numbers that might slow down the final rendering.
This scene has a very simple lighting setup, with one main V-Ray® dome light as the main environment light and a couple of smaller V-Ray® sphere lights to accent some details in the structure. The V-Ray® dome has an HDRI in the texture slot for a more realistic look.
In more complex scenes, this can lead to longer render times, but in this case, where there are no complex materials or many reflective/translucent objects in the scene, the rendering speed was not an issue.
When creating a VRE, I recommend using a standard 3ds Max® camera to avoid lens distortions and better match the human eye. Don't worry about the Field Of View (FOV)--it's not important since you're creating a 360 degree image. However, using a 90-degree FOV with a 35mm lens gives a fairly accurate preview in the viewport of how the final image will look appear in one view of the VRE.
The height of the camera should be the approximate height of a human being so that it appears realistic and not distorted to the person viewing it in VR. I typically opt for a height of 160-170cm. This also depends on exactly what's visible at different heights of the scene. For example, in this scene I had a group of bushes behind the camera masking an empty space, so I had to be sure the camera couldn’t see above these.
Once the camera was set up and in place, the next step was creating a V-Ray® stereoscopic helper from the Create > Helpers menu and placing it anywhere in the scene. I'd suggest leaving the eye distance at the default number of 6.3cm to avoid distortion in the image and adjusting the focus to none.
The next step was to check the Adjust Resolution box so that the final render automatically creates 2 cloned images next to each other (one for each eye). This is fine for test renders, but for the final image I unchecked this box so that I didn’t waste computer time rendering the same image twice.
Rendering test images is a great way to adjust errors in the scene before the final rendering is created. In the case of this VRE, the test renders helped me spot empty spaces behind the camera that needed filling out, since the original image was created focusing only on what was visible to the original static cameras. By previewing low resolution images in VR, I was able to spot these errors, adjust them, and find the best location for new elements in the scene visible from the new camera.
Test render settings
When rendering a VRE in V-Ray®, it's important to go to the V-Ray® tab and (in the Camera drop down menu) set the type to Cube 6x1. Next, go to the Common tab and set the image aspect to 6 (for the tests I used a height of 600px). Finally, make sure that on the V-Ray® tab in the Image Sampler drop down menu, the Image Filter box is unchecked to avoid blurring on the edges of each of the images of the cube map.
This being an exterior scene, an important part of the process was creating an environment around it so that there's always something to look at when looking around in VR. In this case, I used the Forest Pack scatter plugin to scatter winter-themed trees around the scene.
Final render settings
For the final render settings, I used a height of 1536px, which is the recommended size for most VR devices, including Samsung's Gear VR and Google Cardboard. This is where I unchecked the Adjust Resolution in the V-Ray® stereoscopic helper so that I only rendered a 9216 x 1536 image.
The raw render straight out of 3ds Max® was of a fairly good standard, but I wanted to make some improvements in post-production. When rendering the final image, I rendered different elements as seen in the image below to fine-tune the image in Photoshop. I used the raw light element in a soft light layer mode, the reflection layer in screen mode and the extra texture which in this case was created using a V-Ray® dirt texture, as an ambient occlusion element in multiply mode to adjust shadows in the union between different elements. Finally, I used the render ID layer to easily create selections in Photoshop for adjustments and error correction.
Once the final image was rendered, I saved all the different elements individually as .jpg images, because my usual method of saving all the layers simultaneously to one folder crashed my computer a couple of times. This occurred because I was saving the project as a .tiff file for better quality, but some of the images were almost 100mb in size and trying to save 5 or 6 extra large images at the same time was consuming a lot of memory and causing the software to crash. So, it was safer to save them individually, which avoided wasting all the rendering time and having to start all over again (I learned this the hard way).
Once all the layers were blended in in a visually appealing manner, I made smaller adjustments like adding dirt and scratches to the concrete elements, and a slight glow to the lights. When performing these kinds of of adjustments to a cube map, be sure to stay away from the edges, since the slightest blur or error can ruin the illusion of VR in the final image.
The final step for the image was grouping all the adjusted layers into one group, duplicating the group and then merging it so that I had two cloned images. I then duplicated the size of the canvas by 200% (anchoring the image to the left or right side) and moved the merged layer into place next to the original so that I had two identical series of 6 images next to each other. Once I'd saved all of this as a single image, it was ready for VR.