This tutorial was written by the amazing Paul Chambers and appeared in issue 105 of 3D Artist.
As an artist you can’t afford to miss out on developing creative skills in virtual reality. As the popularity of VR grows, each day demands new experiences – those are more opportunities for VR-ready content that you could be helping to create. But with high-end video cards and headsets costing a premium, how can you gain some initial VR experience before investing in hardware?
Thankfully you can start creating immersive VR experiences with just the smartphone in your pocket, a Google Cardboard and the 3D software you’re already familiar with. By uploading to www.sketchfab.com you can publish to VR, test what you make, and share it with others without needing to invest in any additional software.
Developing for mobile VR comes with a particular set of challenges regarding scale, movement and, in particular, optimisation; coaxing the hardware in your pocket to deliver a smooth, steady frame rate. This takes planning and optimisation, but these are valuable disciplines that translate to developing effective VR for more powerful headsets when you’re ready to invest. In the following tutorial you’ll learn to create and immerse yourself in your first VR experience.
Step 01 – Develop a concept
Where will VR take you? To the bottom of the ocean? An orbiting space station? Inside the human body? If ever there was an excuse to visit somewhere you normally couldn’t, it’s VR. Think about an experience that plays to the paradigms of virtual reality that tend to be a series of standing experiences with interactions and immediate surroundings within arms’ length and where movement is often point-to-point using teleportation. It was this paradigm that led me to develop the notion of a series of floating islands. As well as the scene, don’t forget to think about what’s above and below the participant.
Step 02 – Decide on a look
VR of any flavour, but particularly when delivered by a mobile device, needs to be highly optimised to keep movement fluid and participants immersed and comfortable. This means keeping real-time lighting, material count and material complexity to an absolute minimum. Imagine developing a 3D mobile game for the first generation of smartphones and you’re in the right ball park when it comes to scene, lighting and material limitations. Use these limitations to challenge yourself to create imaginative worlds that rely on style more than photorealism. Low-poly modelling and bold use of colour are your friends here.
Step 03 – Set up a blocked scene
Start blocking out your scene to human scale with a simple single material. Make a basic human figure to place around your scene as a proxy for the participant. Use simple primitives and look for opportunities to billboard distant geometry that won’t be accessible. Connect your Sketchfab account and upload your initial scene. On Sketchfab’s website, visit the 3D Settings for your scene and use the VR tab to place the intial position and point of view of the VR participant and make sure the scale is set to mirror the scale of your scene in your 3D software.
Step 04 – Initial exploration in VR
Sketchfab VR works directly in a browser and doesn’t require any special app to download, so grab your smartphone and visit the URL of your Sketchfab scene. Tap the goggles icon and drop your phone into a Google Cardboard or similar headset. Congratulations, you’re in your VR scene! Tap the Cardboard button whenever a circle appears and you can teleport to that location. Look around. You’ll immediately begin to learn so much about your initial blocking. What did you build too large? Too small? Which paths are blocked? Is there visual interest in all directions? Invite a friend to test.
Step 05 – Adjust, test, and explore further
Start refining scene geometry. We’ll aim for modular geometry later to keep texturing efficient, but for now block out more geometry to test movement, scale and distance in VR. Hop back and forth between modelling, uploading and testing on your phone. If you’ve begun to set up scale, environmental lighting or basic materials for your scene on Sketchfab’s site and want to keep the settings, you can opt to reupload over an existing scene using the Reupload option on the Model page rather than the Exporter plugin. This will update the geometry but leave all other settings intact.
Step 06 – Plan your textures
Sketchfab supports a PBR workflow, but when it comes to textures for mobile VR, limit yourself to an Albedo and one other map. It could be Metallic or Roughness, but I recommend using a Normal map to gain the most amount of additional detail economically. Look for geometries that can use tiled rather than UV textures. Ultimately you’ll use a mixture of both, but plan on sticking to two to three 2K maps rather than several smaller ones. Familiarise yourself with texture atlasing several tileable textures into one map. Again, this is all in the service of
Step 07 – Build low-poly modularity
With a plan for texturing in place, think similarly about optimised modelling. Look for opportunities to construct your scene out of modular pieces. While this may mean your final vertex count may be a little higher with some redundant geometry, minimising the amount of material calls and limiting texture memory is the ultimate aim here. Everything from man-made structures to organic environments can be built from smaller modular pieces and you’ll find yourself breaking down components further as you progress. In total I used 50 modular components to build an entire scene across two Albedo maps and one Normal map.
Step 08 – Swap in the modular components
Gradually introduce your modular components into your scene to replace the initial blocking geometry you developed. Periodically test your scene in VR, introducing a little geometry at a time to keep an eye on the frame rate. Aim for 50,000 vertices as your upper ceiling. Set up UVs for your geometry and pack them into as few textures as possible. Use your favorite texturing program to introduce colour to your scene. Try to avoid introducing UVs and textures too early because this can mean less-optimised texture maps. Sculpt and bak
Step 09 – Final optimisation and upload
Sketchfab provides optimisations to help mobile rendering, but there’s more you can do to squeeze a few final frames per second of additional performance. In your modelling package, merge any geometries that share a common material before uploading your final scene. If you’ve used any rigged animation, look for ways to consolidate bone count to a minimum. If you’ve made textures at 4K or higher, create smaller versions to upload. Jump into the final scene settings on Sketchfab and play with lighting and post-processing to see what you can introduce or what you should eliminate to keep it smooth.