Exploring VR Applications
With the annual Graduate Open Day looming just around the corner, four software engineers were given a unique opportunity to showcase some intuition and innovation under very tight time constraints and at short notice. Rory, James, Maksims and Brandon accepted the task of designing a VR experience in just three days (and takeaway-fuelled nights!). To make their task even more challenging, they had no access to a VR headset or sufficiently powerful computer for the first two of those three days. Let’s hear from them about how they got on!
“We began by exporting a Romax Nexus gearbox model into a 3D modelling software program called Blender, via CAD Fusion, which was an essential step in order to produce something that could ultimately be used in the game engine,” James explains. “By the end of the three days, we had repeated this process using the Transaxle, Industrial and 2MW Wind Turbine Romax example files.”
Brandon continues: “As part of the creation of the 3D models, we had to scale down the gearboxes so that they would be a more realistic size. We did encounter a minor issue; we needed each component to have its origin at its centre so we could animate them correctly, but CAD Fusion exports used a single global coordinate system. This was easily resolved in Blender.”
Once the gearbox 3D model was ready, the team also needed to provide the game engine with information to animate the system. “We wrote a script to export the required information in terms of gear rotation speeds from Romax software, which we could then provide to the game engine to animate the model,” Maksims explains. “Initially, we found that gears within planetary gear sets were rotating around the wrong axes, which resulted in some very interesting animations!”
Once these minor hiccups were resolved, the last step was to build a 3D environment to house the gearbox within the VR game engine. Then, the 3D model was brought together with the animation information, and a final bit of script was written to tell the game engine what to do with the 3D model and rotation information.
After three days of hard work, the team had developed an interactive experience of a gearbox model that you could visualise, move around, pick up and even throw about! Rory comments, “It was a fun experience to be involved in, though it was certainly challenging: particularly since we didn’t actually have access to the VR headset (Oculus Rift) or a computer powerful enough to run the software until the final evening; therefore, most of the ‘designing’ was done blind. This meant we were restricted on what we could do for the first two days, and then the last day was “all hands on deck” to get it done!”
The team spent most of the first evening planning the foundations, agreeing the scope and boundaries of the project and coming up with an optimised workflow which allowed the four-man team to work on the app in parallel. The second evening mostly consisted of getting the models to render and animate correctly, repurposing Romax’s gear logic to suit these new requirements. It was only on the final day that the team had the opportunity to see how the program would evolve into a final product, and to fix any last minute issues.
For most of those involved, it was their first experience of developing VR software, so it was a steep learning curve! Its main purpose, for now, was as an exercise in creating something fun and interactive for the open day. This application was a small demo and a proof of concept, and may be something that we further develop for future events, as part of our commitment to exploring new technologies and innovations, and discovering new ways to provide our customers with world-leading solutions.
Watch this space!
Rupert Poon has grown the Romax software development team over the last ten years and likes it when technology saves time or does something really cool. He now focusses on Platform Development.