Virtual Reality Solutions
Virtual Reality offers solutions to a wide variety of challenges across a great number of industries. Typically, at OneBonsai we say that if a challenge is big, expensive or dangerous, VR can offer a cost-effective solution.
Unreal Engine 4
Arguably the most powerful commercially available Real-Time Engine, Unreal Engine 4 (UE4) brings VR to life. We leverage its prowess to create realistic scenes, develop clean user interfaces and forge interactions between the VR user and the 3D environment.
For us, Unreal Engine 4 exhibits a number of advantages:
Perhaps the biggest advantage of Unreal Engine is that you don’t need to write a single line of code to do most of the game development. UE4 has a powerful Blueprinting system which is basically a visual scripting tool. It allows for all but the most advanced code to be simply connected with inputs and outputs, thereby simplifying the development cycle.
This has multiple advantages:
Of course, there are some drawbacks as well:
We have, however, found that most of the code that we write can eventually be incorporated into a Blueprint node and then used in other Blueprints again, further speeding up development. Blueprints are an ideal tool for our sprint-based approach.
Realistic Real-time rendering
Unreal Engine is a Real-Time rendering program. This means that every scene is rendered on the go, for example at 60 frames per second. Rendering programs like Blender or Maya, however, focus on rendering near-perfect images one by one. In these cases it can take hours to just render one frame.
And that’s exactly where Unreal Engine is shining. It is able to render scenes at an incredible speed and an incredible quality. While this fast rendering requires cutting corners, Unreal Engine is able to visualise the scenes in acute detail and mirror reality.
Compared to other Real-time engines, Unreal Engine has the ability to build very life-like environments with the smallest amount of work. Other engines tend to focus more on performance (still also very important), and require the 3D artist to build up the scene from a low-quality to a high-quality scene. In Unreal Engine you typically work the other way around: you start from something medium quality and work your way up or down depending on the requirements.
To achieve the detail required by Unreal Engine, it also includes a very power material editor. Using a combination of textures, colours and math, 3D artists can create incredibly detailed materials for use in the engine.
As such, the engine already supports long-time so called Physical Based Rendering (PBR) materials. The principle used to build these materials is based on basic physics and results in materials that work very well under varying lighting conditions. This is important because even the lighting of the scene changes dramatically even if the materials are the same. Additionally, PBR enables 3D artists to lower the amount of data required to render an object, resulting in higher performance and smoother gameplay.
This has given rise to a large jump in quality in the gaming industry and we are making use of these techniques extensively in our developments as well.
And last but not least, the editor. Working in Unreal Engine is a joy. While the editor sometimes has its quirks and can potentially crash (often more to do with the rig you work on than the engine itself), it just works perfectly. You have all the necessary tools at your disposal. To name a few:
To name a few:
It is easy to find assets of all types in the editor.
Using sequences to create cut-scenes, move objects around and create small movies works smoothly
The editor has built-in support for VR debugging and execution.
Whether you want to build for Desktop, VR, Mobile, PS4 or another device it is supported.
This tool will map all the light rays in the scene and ensure that all the shadows and lighting of the scene is pre-baked. This way, the light does not have to be calculated for each frame anymore, resulting in faster performance.
Using multiple computers to build lights will drastically lower the time required to do this.
Using the advanced profiling tool, it is possible to find even the most difficult to find performance issue cause, both in GPU as CPU.