sculpt a tank in vr
Discover Oculus Medium’s new precision tools with this two-part tutorial from Martin Nebelong
Follow Martin Nebelong’s step-by-step process to creating hard-surface models in VR with Medium
Since I tried Oculus Medium for the first time almost two years ago, one of my only concerns with the program was the lack of grids, guides and snapping tools. Basically, the lack of these tools meant that any time you wanted to make a building, a robot or any other hard-surface model, you’d have no choice but to simply eyeball the required angles. You could still get decent or even great results by working this way, but it took way too long compared to the time it would take otherwise. Now, finally, those tools are here with the recent release of Medium 2.0.
In this tutorial, which is part one of two, I’ll take you through the process of creating a hard-surface model in Medium 2.0, utilising these new precision tools. I’ll be sculpting a made-up tank, using various references found online. We’ll also take a short trip into Quill to make the tank tracks. Here I’ll introduce how you can draw very precise shapes in Quill, and how you can then take your Quill scene and use it in Oculus Medium.
The tank sculpt itself took around an hour and 15 minutes, and every one of those minutes felt like playing a game. That’s one of the things I love about sculpting in virtual reality – it’s just pure fun.
After reading through this tutorial, you should be ready to explore the world of VR hardsurface modelling to begin making your own creations!
01 Find references
I decided early on to do a tank, because it just fits the hardsurface category really well and features lots of details. Since I’ll be freestyling this one, I won’t need specific tank references and can pick and choose what I like. I find references and keep them on my secondary monitor off to the side of my workspace.
02 Quick visit to Quill
For the tank tracks, I decide to do a quick Quill drawing and use that in Medium, where I can turn the Quill drawing into sculptable clay.
Quill is amazing for quick, repeated details. You can now constrain lines to x/y/z by choosing the line tool and holding down the off-hand trigger, while drawing the line in the general direction you want it. A simple drawing like the one in the example would have been difficult to do in the previous version of Quill.
An important note when you’re drawing in Quill with the aim of exporting to Medium is to draw with ‘watertight’ shapes, since Medium will otherwise have a hard time converting the geometry from Quill into voxels. So use anything but the ribbon brushes and the line brush and you should be good. Even with watertight meshes though, Medium might still have trouble converting very complex scenes.
03 change angle OF constrained lines
Once you’ve drawn a line, select it with the selection tool (press X) on your controller, and make sure you’ve set the transform gizmo to show (press in on your left thumbstick if it doesn’t). Now you can snap-rotate the item while holding down the right trigger and dragging on the gizmo ‘rings’. This will constrain the item to 15-inch increments, giving you more precise angles to choose from. You can also rotate freely on any of the three axes by pulling on the gizmo with the right thumb button pressed.
The best way to get comfortable with this technique is to draw random shapes and drag them around with the gizmo, rotating them in increments, moving the pivot point around and so on.
04 create Basic shape OF First tank track link
Using that technique, we’re able to quickly form the first part of the tank track. Since there’s no ‘live’ support for symmetry drawing in Quill, I find it easier to copy the line or shape I want to mirror, and just flip it using the angle-constrained rotate gizmo (hold right trigger while dragging).
The red box is actually me ‘hacking’ the system by drawing in Boolean shapes on a new layer in Quill. So the red box will actually be subtracted from the tread in Medium, which is able to import the separate layers from Quill. To switch between layers, you can toggle an option to jump to the layer of the first object you select, under the selection tool in the tool menu.
05 Make a wheel in Quill
Let’s make the tank wheels so that we can shape the tank tracks around that. To create a wheel in Quill, make a single horizontal line. Select that, and move its pivot point by holding down the thumb button on your main hand while dragging on the vertical gizmo line. Drag the pivot down far enough to reach the imagined centre of what will be the outer shape of the wheel.
Now drag the line around the offset pivot point by dragging on the rotate gizmo with the right thumb button held down, while you also hold down your left trigger to make a copy.
Once we have a completed circle, we can give the wheel depth by selecting the circle and moving it using the transform gizmo while holding down the left trigger to make a copy. Once you’ve moved
it down far enough, just push your off-hand thumbstick right to repeat transform and copy. When you’re happy about the outer shape, you can then use the square brush, combined with move/copy actions, to fill the inside of the wheel.
06 create small wheels
Now that you’ve seen how to make a basic wheel, it’s time to make the first tank wheel. I do this using the same technique and add small rivets to the inside of the wheel to up the detail level.
Now it’s time to copy the wheel and make smaller versions for the lower part of the tank tracks. To make a smaller copy, select the whole wheel and hold down on one of the axes with the right thumb button. While doing so, push up or down on the right thumbstick.
Once I have the scale I need for the smaller wheel, I move it into place next to the large wheel. Then I make a copy of that wheel and drag it slightly to the left. I repeat the transform and copy action by pushing right on my off-hand thumbstick until I have the number of wheels I need. Using the line tool and the cylinder brush, make small mechanical connections between the wheels.
07 add the tank tracks
Now that the wheels are in place, it’s time to make the tank tracks that go around them. Make a selection of the first tread we made, and copy that using the technique we used before for moving and rotating using the transform gizmo. In areas such as the bottom and top part of the tread where we have lots of horizontal repeats, use the left thumbstick to repeat transform and copy.
08 export tank tracks
Export as FBX, and turn off Export Curves, Export Animations and Export Hidden. Exporting as FBX will retain all layers in the file, whereas OBJ exports will save everything in one layer.
09 import the tracks to Medium
Fire up Medium. Go to File and select Add Mesh as Clay. Now you’re presented with a wireframe version of your mesh. There’s a bounding box around the object that represents the layer bounds. The closer you scale this box to your mesh, the higher the voxel density will be, and the longer the conversion will take. I usually set this to around 80% or so which seems to work fine most of the time. Also check the Split Mesh Into Separate Layers box. If your imported mesh is very large, either scale it down if it’s one layer, or scale the Export Transform object up. That will allow you to zoom further out.
Next up we want to subtract our subtractive Quill layer from the mesh. We do this by opening the scene graph. Then we point at the layer we want to subtract from and click to select it. Next up, point at the layer you want to subtract and click while holding down the left trigger to select that as well.
Medium then knows that the last clicked item is to be the subtractive layer. Next, hit the Subtract button.
Now that we have one set of wheels and tank tracks ready, we need to mirror that. So go to the scene graph, select the tank tracks and wheels (point with the laser pointer, click to select, hold down left trigger while clicking to select multiple items), hit Duplicate and then Mirror. Sometimes your mirrored items don’t appear where you expect them to. If this is the case, the object you’re trying to mirror is not offset correctly in relation to the mirror. One solution to try is to make sure the mirror is visible and then under its Transform settings, reset everything to zero or move items manually.
12 sculpt the Hull
Using the tank tracks and wheels as a guide, sculpt the hull of the tank. For this I use a square brush set to line, with taper turned off and continuous distribution. I enable Grid Snap, and find a fitting size for the grid. First I keep Angle Snap at 90, and when I have the overall volume in place I sculpt into that with lower Angle Snap settings, or even with angle snapping off. To quickly switch between adding or
subtracting, double tap A on your main hand.
If you find that your mesh looks too ‘soft’, increase the layer resolution by clicking the layer in the scene graph and pressing Increase Res. Be careful with this function though, and don’t go overboard. If you were to fill a layer’s bounding box with high details you’d very quickly hit a performance block. So if a large part of your layer doesn’t need detail, but a small part does, consider breaking it up into a lowres layer and a high-res layer. It’s also worth remembering that parts hidden behind other elements still eat up performance, so if you have very dense meshes hidden from sight, consider erasing those parts.
13 armoured skirts
The next step is to add the armoured skirts of the tank. Make a new layer, and make sure the resolution is high enough. You can increase layer resolution before you even start sculpting. When you do so, you’ll see a black sphere guide getting smaller and smaller. The smaller this is, the higher your mesh density. One of the most important things in Medium, in my opinion, is a good understanding of how resolution in Medium works, what it does for brush sizes, performance, export size and the like. Generally though, performance in Medium is great if you have a potent rig. I have a 1080Ti and have worked on very large and detailed scenes without any hiccups. For the armoured skirts, start out with a large box over the tank tracks. Then using the line tool, grid guide and Angle Snap, I remove most of that box and ‘carve’ out the cover. For the angled parts, I do the same and ‘carve’ out a plane similar to the one on top. Then I go into the scene graph, click the little transform gizmo symbol above the layer name, and rotate the plane using the rotation gizmo.
14 add details using prefabs
Add a new layer and up the resolution. Then go into the tool settings and open the Mechanical category. Find some fitting stamps, and again using grid and angle constraints with taper and continuous off, start placing details on top. All stamps can be used for subtraction too, so you can quite easily change the appearance of the basic stamps if you want a more unique look. While I sculpt in the details, I have a browser window open off to the side, using Oculus Home’s ‘Virtual Screen’ function. In the browser I search for a tank reference and loosely base my sculpt on that.
15 sculpt the turret
I add another layer, and sculpt in the overall volume of the turret. For this initial blocking out, I usually go with the square stamp. I love how you can do both hard and soft edges with this tool, depending on how you angle the stamp. I keep the line mode activated and can quickly cut away, or add shape. As I start to see the form emerge, I choose smaller stamp sizes, and refine the sculpt using those. While I sculpt, I constantly rotate the model and zoom in and out to make sure the form reads well from all angles. I also now and then rotate the lights to see how it affects the shape.
16 refine the turret
We’ll add detail to the turret in exactly the same way we did with the body of the tank. You can make your own hard-surface stamps if you like, but for this piece I go with the ones that come with the program. At the time of writing this tutorial, there is a bug in Medium when you use the Make Stamp function that offsets the stamp slightly, which
makes the function broken for stuff like this. What you can do instead is make a new file, make your stamp using grids and angle constraints, export and then reimport using the Import Stamp function. A bit of a hassle but it works.
17 Make the cannon
Time for the cannon. I make the barrel of the tank using the cylinder brush combined with the line tool. I cap off the end of the cannon using the square brush and make the barrel hollow using the cylinder brush again. When sculpting a model like this, I try to plan ahead for animation, or at least make sure I could rotate the turret and the gun. And now that Medium supports up to 100 layers, you don’t have to worry too much about hitting the limit. I add a small piece of fabric-like material at the intersection between the barrel and the tank tower.
18 add railings
I want to add some small railings to the top of the turret, to make sure there’s something to grab onto when entering the tank. To do this we use the cylinder stamp set to line mode, no tapering and continuous mode. Angle snapping should be set to 90. Make sure your detail layer has enough resolution and draw a small line along the length of the turret. Then, using the Move tool with an inner radius of 0 and strength set to 100, we can shape the railing. I use a very large Move tool size for this, to get a more rounded shape on the railing. Once I have the form in place, I add small lines that connect the railing with the turret.
19 ground plane
The work on the tank is now finished, so I add a new layer and sculpt a basic environment around the tank. For this I use a combination of rock brushes. I work at a relatively low resolution here, and add a new layer with some ‘hero’ rocks with higher resolution. When you’re making environments like this, the Move tool with an Inner Radius of 90 or so works really well, for quickly dragging out a ground plane for example. Just remember to watch your layer resolution, as large environments get very performance-heavy if you have the layer set to high resolution. For very large environment pieces, you can sculpt a part of it, and then with the layer selected in the scene graph, scale the layer up in size.
17 20 tank track Marks
To have some track marks behind the tank, I duplicate the tank track layer two times and place the tracks behind the tank in a meaningful manner. Then I subtract those layers from the ground plane and voila!
Now that we’ve come to the end of the first part of this tutorial, it’s time to export the model. Before you export as FBX (which retains both layers and vertex colour), go through the layers and check if any of them could be lower resolution, if there’s parts of layers that you don’t need and can erase. And maybe, if you’re a bit more organised than me, give the layers proper names.
After a few hours of sculpting and painting in Medium and Quill, I now have a very solid model for the next tutorial. There I’ll be taking the model into Zbrush to optimise it by decimation. Then I unwrap each part of the model using Rizomuv (formerly Unfold3d) and texture it in Substance Painter. I’ll also be talking about different rendering options, both real time and raytracers.
As always don’t hesitate to contact me if you have any questions about the workflow. •