Modelling the Oculus Go VR Controller
In this tutorial, we’ll discuss basic modeling techniques resulting realistic models that can be imported into real-time game engines (UE4 / Unity). The goal of this video is to help teach you how to model quickly and accurately while relying on reference and just a few modelling tools built into Max.
Hello, this is Bob from Elara and this tutorial will focus on modelling the Oculus Go VR controller. Your time is valuable, so I’m going move fast.
I must emphasize that good reference is key to accurate modelling. Your memory is wrong, your brain cannot hold the details needed for this task – you need reference. Look at your reference and model what you see, not what you think you know.
Take snapshots from all angles and throw them on planes for reference.
With autogrid checked, I can put some circles right onto a reference plane. Then add an extrude modifier to pull these 2D shapes into 3D.
Start simple and add some basic geometry to define the shape. We’ll go back later and refine the shape once we have the basics roughed in.
This model is largely cylindrical and I prefer to use eight sided shapes which is does a nice job of roughly defining the shape but is still very manageable when it comes to welding, bridging and connecting the main shapes. Keep checking your reference – make sure everything is lining up from multiple directions.
The cut tool easily turns this eight-sided capped end into four quads. Quad/Octagon/16-gon…these shapes are the easiest to use.
Rough-in the basic shapes – you can inset and hold shift and drag to extrude a new edge from a border. With the basic profile in place let’s combine these meshes. Attach them all to one piece of geometry and use target weld to combine verts that are close.
Each of these rings that define the basic shape of this model have sixteen subdivisions – that will make it a snap when we’re bridging it together in the next step.
Because this model is symmetrical, I’m going to take a quick detour, ditch the back half of this piece and add a symmetry modifier. I use the cut tool to put an edge in this big polygon, turn on polygon subedit mode, grab this back half and hit delete. This way I can work on one side and get the other side for free.
With the symmetry modifier on when I target weld these verts, they also get welded on the mirrored back side,
The bridge tool is great for transitioning polygons from one border to another. You can control how many segments or steps are in a bridge. I see that I have an extra edge above and I’ll want to tie into, so I’ll add a segment to this bridge.
This is looking pretty good. Remember I want to define this shape with as few polys as possible and keep my topology really clean so I can easily ring or loop edges and add details later. I see some wonky verts on the sides, so I’ll grab some polys and relax in the polygon subedit mode.
I’m constantly checking my model against the reference planes. It should line up perfectly.
Every virtual reality controller needs a trigger and I’d like it to be all quads. Make a cube, turbosmooth it a few iterations, add a sphereify modifier and then delete the bottom half. You can then scale it flat or use the make planar feature to squash it into a quad disk.
Looking at the trigger closely reveals that it has a compound curve that bends in two dimensions – like a pringle. Adding two bend modifiers creates this shape in a very simple procedural way. Extrude the trigger by selecting the border and holding shift while dragging to extrude. Turbosmooth it and high-five yourself for making this whole thing out of quads.
The backend of the Oculus GO VR controller has a little oval hole where the safety strap connects. Grab 4 quads and delete them causing an eight-sided hole. Select the border and relax to go from boxy to circular. You can adjust the position and reshape using move and scale. Hold shift and drag to extrude the opening back into the device.
I can refine the simple cylindrical buttons I made earlier with the inset tool – this give a nice rounded edge to the button. Using this technique, refine the model until it’s got the level of detail you need.
We are bringing this mode into an enterprise VR experience we are developing for Oculus go, so I’ve linked everything to nulls and it’s ready to export for your favorite Realtime engine.
We will be producing a tutorial for developing on the Oculus Go in unreal engine four in the future, so stay tuned. The scene file is linked in the comment, so feel free to use it in your on VR projects.