Unreal Engine VR Build: Balancing Realism and Performance
Hello again, fellow creators! It's time for another update on our exciting VR test project in Unreal Engine. As we continue to dive into the world of virtual reality, we're discovering new ways to balance artistic creativity with the need for optimal performance. In this follow-up blog post to last week, we'll share our recent findings and insights regarding texture work, particle systems, optimization, and lighting in Unreal Engine for VR.
One of the aspects we've been thoroughly enjoying is the use of decals for texture work. Decals provide an incredible level of flexibility, allowing us to add intricate details and surface imperfections in real-time without the need for extensive texture baking. This approach not only saves time but also enhances the overall visual quality of our VR scene.
We recently experimented with the Niagara particle system for creating dynamic effects, specifically the smoke emanating from vents. The results were impressive. Niagara's real-time capabilities make it a perfect fit for VR projects where responsiveness is key. The best part? No need for caching or baking. This feature allows us to achieve stunning visual effects while maintaining smooth interactivity.
Optimization is a topic that remains at the forefront of our development process. When working with VR, the performance demands are significantly higher. It's essential to approach everything with performance in mind. One valuable tip is to limit objects to a single material. Each material slot can introduce additional rendering overhead, and optimizing your materials can greatly improve VR performance.
Lumen, Unreal Engine's real-time global illumination system, is a fantastic addition for achieving stunning lighting effects. However, achieving the best performance requires some artistic adjustments. While Lumen can simulate multi-bounce lighting realistically, we've found it more efficient to add additional lights strategically to simulate bounce lighting. This approach has helped us maintain a high frame rate, which is crucial in VR development.
Baking lighting and simulations to textures has been instrumental in optimizing our scene. This, combined with strategic adjustments to lighting and the reduction of ray tracing in favor of traditional shadowing techniques, has significantly boosted our framerate. It's a fine balance between real-time and baked elements to achieve the desired level of visual fidelity while ensuring excellent performance.
In the image above, you can see the progress of some of the tweaked parameters that have improved our VR experience with the original on the left and tweaked parameters on the right. Our framerate has gone from approximately 15 to a much smoother 45 frames per second. This notable improvement is largely attributed to our baking processes and optimized lighting, as well as our shift away from ray tracing for shadows. We've also baked our fluid simulations into textures for added performance benefits.
As we venture deeper into our Unreal Engine VR project, the delicate dance between artistry and performance optimization continues to be an exhilarating challenge. We'll keep exploring and pushing the boundaries of what's possible in VR, and we can't wait to share more insights with you in the coming updates.
Thank you for joining us on this journey, and stay tuned for more exciting developments in our Unreal Engine VR build!
Until next time,
Daniel & Richard