Note: Please contact me directly if you are interested in the full report. Parts of this project might be protected under NDA’s.
- Platform: Windows, Linux, SteamVR
- Responsibilities: Design, Programming (inverse kinematics, physics, event handling), Project Management, User Testing
This report describes the process of developing a Virtual Reality animation tool in a custom engine written in C++. The purpose of this development is to design a Virtual Reality animation tool which will afford a good user experience as well as advantages over traditional software. This prototype is aimed at two target groups: users with and without animation experience. There are several steps to the development process: The first part forms a theoretical basis for the design of the animation tool. The following describes the process of rapidly iterating early prototypes of the tool, which are tested with users in the target audience. Then, a final prototype is developed using the knowledge and experience from the theoretical basis and the early prototype testing.
The final prototype is user tested. This uncovers the quality of the user experience of the tool from the perspective of the test participants. The results indicate that the tool is useful for experienced animators, since it allows them to sketch out animations quicker than possible with traditional animation tools. For test participants without animation experience, the tool allows for a low learning curve to making animations. The test participants with animation experience have ideas for improving the quality of the tool, such as precision controls, which would make it easier to make polished animations with the tool.
The engine is developed using Data-Oriented Design as opposed to the more traditional Object-Oriented Programming. This architecture focuses on compacting data for memory optimisation and performance enhancements.