Over the last semester, I’ve been working on a virtual reality anthropology experience called AnVRopomotron. Getting the site to release involved a lot of learning in different areas. This is the start of a series of posts about the challenges I went through to get to make something I thought would be useful.
Ideas and Influences
Three influences led to the start of this project. One was my frustration during my lectures in conveying the size of modern and prehistoric primates. Particular visual aids helped, such as my versions of the life size Lucy and Nariokotome Boy cardboard cutouts from eFossils. There were so many other beings whose sizes could only be imaged with my verbal descriptions, though. (I tried drawing them on the whiteboard but it was time consuming and my depictions were poor.) Another influence was when I bought an Oculus Quest for myself on my birthday. The release date of this advanced and more-affordable VR coincided with my search for a present so I decided it was the right time to get into virtual reality. My only previous experience was a few minutes with the Tuscany demo using the first Oculus Rift at a comic convention. When I put on my own birthday goggles, I was completely absorbed by the technology and the worlds they presented. I conversed with Darth Vader (more accurately he towered over me when I fanboyed out). I used the Wander app to Google Street View every place I’ve ever been, then every museum I could find. I thought about making my own virtual museum. The third influence was actually years ago, when I pursued 3D modeling and printing as a hobby over winter break. I had no grand plans at the time, but working on my own 3D project gave me the starting skills to do something in virtual reality. If I could make my own VR experience, I could show students the size of the living things I talk about in class in a more immersive way.
How It’s Made
A-Frame turns WebVR programming into a HTML-like organized development platform. It simplifies the Three.js JavaScript library that has tools for VR rendering and adds its own components for manipulating objects, physics, and other conveniences. I went through the extensive documentation and tutorials then quickly put together a scene with a few scale polygons and some grabbable objects from the Internet.
The terrifying beast was a ‘chimpanzee’ made of 3D primitive shapes like spheres and cylinders. That was my original idea for the scale models since they’re easy to make, but it turned out that they look extremely creepy.
I also thought of drawing cardboard cutouts and standing them up in 3D, but I concluded that I might as well make the most of the three dimensions by hand sculpting models myself. I had no desire to make photorealistic models, but I settled on making ‘low-poly’ figures that captured the general shapes of the subjects.
I settled on Blender as my 3D modeling program. When I made a 3D character for printing before, I actively avoided using Blender, the popular, powerful, free, but also complicated 3D modeling program. Years later, a lot of the software I learned have never updated or have been officially abandoned. I took on learning Blender to stay current with the software. It turns out that Blender has its quirks, but it is very understandable. Between then and now, from version 2.79 to 2.80, the whole user interface was rearranged for the better. It also helped that Youtube is full of Blender tutorials at all levels. There was even an extremely clear low-poly animal tutorial which directly applied to my goal. As I encountered challenges in Blender, a search for tutorials usually led to some solution I could use.
One challenge with modeling is that primates have very complex shapes. I envied the tutorial I followed because they were rendering a giraffe. Primates have more going on, such as fingers and toes instead of hooves, and nuanced curves in the head. I started out trying to render a chimpanzee from a photo reference, but it was a mess. I found a good side view of a gorilla and that became the first model I kept. I left off a lot of features, such as eyes, ears, nostrils, and individual digits except for the big toes. I ended up rendering the head separate from the body and joining the parts together once the features were defined. Those conceits aside, I was satisfied with the recognizable gorilla-ness of my model.
In the next post I will detail the making of the other models that I made, including a return to the gorilla to apply new things I learned. Until then, enjoy the experience!