transVRSe is a VR camera control library that is currently available as a prototype stage interactive development plugin on the Unreal engine. Virtual reality hardware platforms do not currently provide sufficient support for camera transitions, such as cut, fade, track, pan, dissolve, etc. in interactive experiences. Within the VR experience design community, non-user controlled camera transitions are considered as bad design practices due to its potential for inducing VR/motion sickness. However, there is
little scientific work, that we know of so far, that clearly characterizes the connection between transitions and such sickness.
This project introduces TransVRse — a software platform that supports three goals :
- A modular camera control library for developers interested in adding camera transitions; it is currently
provided as an Unreal Engine 4 plugin but is extendable to other engines.
- Characterizations in terms of a number of parameters such as resolution, movement speed, rotation angles, player skill and familiarity, and rendered context of the experience, of the connection between features of the experience and their effect on users/players.
- Personalized VR experiences that automatically adapt game features to personal tolerances for motion and interaction parameters through an individual’s motion profile.
Camera Control Library
transVRse includes a rich set of modular and parameterized action classes for setting up camera sequences. Developers simply need to add the CameraUtilityComponent that includes a number of camera translation, rotation, and other transition nodes. Shown in the images here are the translation and rotation nodes.
These can be used in an intuitive way as shown in the example below that encodes two ways of moving the camera by either teleporting or interpolating translation over time. The translation is also parameterized and connected with the navmesh so that the movement feels natural in VR.
Debugging and Debug Visualization
One of the big challenges in camera programming, particularly for VR, is debugging and testing. transVRse provides a rich set of logging and visualization functionality. The logging functions write out time stamps, locations, headset orientations, and controller states at the rate specified as a parameter.
This log is then written out and displayed both as a heatmap offline with a number of scripts that are available to do statistical analysis on multiple log files.
In addition to this, the heatmap can also be rendered as textures and viewed directly inside the 3D world as a heatmap during debugging.
Please send a note to Professor Jhala if you are interested in using transVRse. We plan on releasing the code on GitHub soon.
Here is transVRse in action for 3D visualization and manipulation of chemical structures output from JMOL (http://www.jmol.org).
Project Director: Dr. Arnav Jhala
Architect — Lt. Paul Thiolet
Lt. Tanguy Kurzenne
Lt. Pierre-Yves Manduit
Intern — Akshay Mankad
Prof. Eric Jacopin, Head of Computing, Saint-Cyr Military Academy, France