4 min read
SimplexVR
SimplexVR logo

SimplexVR was an experimental Unity-based VR 3D modeling application I developed in 2016-2017. I was a bit late on the VR hype train because I was initially very skeptical of the tech. I had a bad experience with an early Oculus DK1 prototype at Autodesk that put me off it for years. Future Oculus CEO Brendan Iribe came to the Maya office (where I was working at the time) to try to convince us to support the Rift in Maya and other Autodesk DCC apps. I was first in line for the demo, but when I put on the headset, it was miscalibrated. The demo was a first-person game, so when I pushed “forward”, my character went to the left, and I immediately got motion sickness and had to take it off. It was years before I tried VR again!

When I left Autodesk in 2016, I bought an updated Rift with Touch controllers, and I was really sold on the tech - not so much because of the VR, but because of the controllers. SimplexVR was my sandbox for experimenting with 6-DOF interaction techniques. I learned a lot from doing this project, and I developed some novel VR interaction strategies that I think are pretty good. For example, to launch different tools/etc, 3D UI widgets are used, but they are anchored to a “cockpit” that tracks the player, rather than (eg) being launched from hand-attached menus. This freed up the hands and allowed for much quicker actions because UI was always in the same “place” in 3D.

I also supported mouse/keyboard input with the VR headset on, as well as an XBox One gamepad. Possibly this was the first 3D modeling app that supported that kind of controller (I had certainly never seen one at the time). I implemented a 3D gizmo which I went on to use in various other VR and desktop apps, and various 6DOF snapping controls, and modeling-related viewpoint controls like being able to switch between “egocentric” and “exocentric” modes (which really helps w/ motion sickness).

The video below shows a short modeling session in SimplexVR. The website for SimplexVR is still live at https://www.gradientspace.com/simplexvr, and you can even still download the demo, although I have no idea if it still works with circa-2025 VR SDKs.

One of my big focuses in SimplexVR was fully taking advantage of the Oculus Touch controllers - not only the dual joysticks, triggers, and tons of buttons, but also that there are two of them. At the time, many VR creative apps were using the left hand as a “palette” - basically a menu. I thought this was a huge waste. In HCI research, “Bimanual” interaction has been shown to be very powerful, and so I tried to build interactions that used both hands (beyond pan and zoom!)

If you want to hear more about my views on this specific aspect, I gave a talk at VRTO 2017 in Toronto called Your Left Hand is Not a Menu: Using Spatial Controllers in VR Apps. Unfortunately for some reason the camera operator thought it was really important to record me and not my slides, so this video is (in my opinion) kinda useless. You can get the slides here, and then play the video in the background while you click through the slides. One of these days I will extract the audio and put it over the presentation…