[Theta Legion VR] Player weapons

theta legion vr | Player weapons & hands

Back in 2010, when I decided to take on my first 3D game project and teach myself 3D Studio Max, I knew the beginnings would have to be humble and my models simple if I was to pull it off! Over time, and while I experienced working with software like ZBrush and enjoyed digital sculpting tremendously, I realized I was really in love with the process of “box-modeling“: for me, it had an interesting symmetry with the way I approach game art in photoshop; I LOVE pixel art, and I see box-modeling as the pixel-art of 3D 🙂


In the case of our VR project, I knew I wanted to keep the polycount as low as possible, have the pixel art aesthetic, and move as fast as I possibly could: even though I considered using ZBrush to sculpt my player’s hands, I ultimately decided it would be much faster, and controlled to box-model them directly.

The first pass at box-modeling is always rough and ugly: all the work goes in the polish of the detailled mesh. My original box-modeled hand was done in a mere 10 minutes and totalled 89 polygons for 95 vertices.


From there, it’s all about working with the modifier stack in 3DS Max (God, I love that non-destructive approach!). In this case, the most important element of the stack is the TurboSmooth modifier: set up at only one iteration, but separated by smoothing groups (so that the end of my arm stays flat), it “smooths” my mesh by adding a significant amount of polygons: from 89 to 364. However, now, I have a mesh detailled enough to be able to refine the limb.

The next step is to add a Edit Poly modifier, and manually rectify/modify the mesh to refine the position and size of all the fingers and the palm.


(* Let’s not have a debate here on what really constitute an Assault Rifle or not: This one is NOT accessible to civilians anyways 🙂 )

The gun is done using the same box-modeling technique, without the smoothing!

The gun is mostly composed of chamfered box primitives as well as some extruded lines shapes, combined together as a boolean compound object. (in order to remove the hidden geometry, and save on the polycount)

The gun is made of 163 polygons total.


For a short time, I tried to actually edit the mesh directly to “pose” my hands so that it would look like it’s holding the weapon – then I came to my senses and decided to take the time to do a quick rig and animate the hand into the pose instead: on the long run, it would be much more flexible and allow me to match my hands to different weapons, and maybe have subtle hand animations in-game.

The rig is composed of 20 bones, allowing me to animate the hand in a realistic manner for a wide array of animations (grab gun handle, stretch, reload, etc).

In order to save some time, I didn’t really tweaked the weights on the skinned mesh, nor did I really optimize the mesh for optimal folding: a character rigger would most likely hate this work, but for the moment, for a  “proof of concept” and a two-men-team, it will have to do 🙂 Later on, if the game shows some promise, I will add a couple polygons and spend more time on the skinning process.


As usual, the texture work is done in Photoshop. I use the UV unwrap modifier from 3DSmax, which in my opinion is just shy from being as good as specialized tools such as Headus.

For the moment, the hands and gun UV are combined in one file: this will not last, as once I start bringing new guns, I will want them separate. The texture file is 512*512 pixels.

Posing the hands, now that they are rigged is of course much easier. I originally planned for the gun being held with two hands, but rapidly realized it would just not work with the VR point of view, so I’ll keep the second hand for reloading/priming animations.

Of all the work being done for that “proof of concept” project, this part is the one that will most likely have to be heavily re-worked for a commercial game. Both the gun and hands, as well as the texture work and the rigging were done in a little less than 8 hours, so it’s not going to be throwing away too much work.

2 hands and the gun amount to 891 polygons (or 978 vertices) total, knowing that for the Oculus Go! version, we will remove one of the hand.




The pistol is the “fall-back” weapon of the game, therefore the first weapon the player will use, and the one that will be defaulted back to when the player runs out of ammo.

For the pistol as for all the other weapons, I gathered sources of inspiration: one thing I knew I wanted was a revolving barrel reminiscent of the old-west revolvers: I’ve always loved that mix of aesthetics between the classic and the modern, particularly apparent in Destiny’s “Hand canons” for example.

Since there was no questions that the player would hold the gun with only one hand, I could afford a bit more polygons for the pistol, so I had the luxury of being able to chamfer some edges! Total, with the hand, the pistol pushes 579 polygons (215 alone). Again, the weapon is rather blocky and a far cry from modern weaponery seen in recent games, but I do believe it does fit perfectly that “pixel art/low poly” aesthetic we are going for and is my favorite weapon of our arsenal.


For the heavy weapon, I really wanted to stay away from the grenade/rocket launcher that is classic for these types of game. Instead, I decided to go with a heavy laser: not the laser blaster you find in Star Trek or Star Wars, but something heavily destructive, a huge and almost “dirty” weapon. My original inspiration was the heavy laser that Kaneda uses against Tetsuo in Akira: the “Arasak HLR-12X” that thing looks more like a bazooka than you would expect. However, since I needed a weapon held “hip-fire-style”, the whole side-mounted aiming system would be problematic. I then looked at some laser weapons from Fallout: they look cobbled together and rather gritty, and that’s exactly what I wanted for the game.

The weapon is modeled following the exact same method as the hand gun and assault rifle and the weapon itself only counts 256 vertices.