Search Unity

At this point, nearly everyone with even a passing interest in real-time 3D graphics has seen the amazing video of a BMW M850i that we recently created in partnership with NVIDIA and Light & Shadows. The seamless blend between live-action video and ray traced rendering demonstrated in the demo is an incredible achievement. In a recent blog post, Dany Ayoub (3D Artist), Kate McFadden (Sr. Demo Artist), and Sebastien Lagarde (Graphics Lead) covered the technical aspects of ray tracing and how the demo was prepared. But there’s another side to the story – how ray tracing benefits customers. At Unity, we enjoy solving hard technical problems, but we’re even more passionate about enabling customer success. In this blog post, I’ll cover how you can put real-time ray tracing to work for you, and what to expect from Unity throughout 2019.

Real-time, affordable, high-fidelity – Pick three

The classic “iron triangle” decrees that every project has three objectives – fast, cheap and good – and that a customer needs to decide which two of these to prioritize. Ray tracing in Unity shatters that iron triangle by enabling stunningly realistic visualization at real-time frame rates using widely available and relatively inexpensive computing hardware. It’s this combination that represents the key breakthrough. Research into ray tracing stretches into the earliest years of computer graphics, and it has long been possible to generate ray-traced images “offline” on render farms, though not in real time. More recently, real-time ray tracing has been available to customers who can afford compute clusters with hundreds (or even thousands) of CPUs. While these earlier implementations of the technology produce compelling visuals, simple economics dictates that their practical use is limited to high-end production companies and corporate design studios.

With real-time ray tracing in Unity, the practical uses for this technology can now be extended to a much wider set of applications. What’s more, it’s simple to trade off performance and fidelity to precisely match the needs of each application. Do you have a need for ultimate visual quality? Increase the number of bounces calculated for each ray to more precisely calculate the behavior of light in a scene, yielding highly realistic appearance for transparent materials and for areas with complex shadows. At higher resolutions and bounce counts, frame rates may not be as smooth, but they will still be interactive, enabling you to quickly and efficiently tailor the composition, materials, lighting, and effects to create stills and videos without the delayed rendering of traditional processes. Do you need silky smooth frame rates? Then simply adjust resolution and bounce count to achieve your target frame rate.

Ready, aim, see

The most obvious application of affordable real-time ray tracing is to create individualized marketing experiences at scale. With Unity, it’s now feasible to deploy product configurators and other interactive experiences at retail locations, and ray tracing will extend the realism of these experiences even further. And while most consumers don’t yet own ray tracing capable hardware, it’s possible to stream content to consumer devices from a dedicated datacenter or the cloud.

The benefits of real-time ray tracing extend beyond consumer uses. Designers, engineers, architects and other professionals no longer need to schedule scarce time on a large-scale compute cluster or wait hours for a render farm. Using Unity, designers and engineers can better assess the impact of lighting, shadows, glare, and reflections on the visibility of displays and controls. Within Unity, it’s easy to adjust material properties including specularity (glossiness) to assess appearance under different lighting conditions. Architects can accomplish similar tasks when designing exteriors and interiors. The fact that this work can be done in real time using conventional desktop computers (or even appropriately equipped laptops) enables radically accelerated design iteration, and ultimately the creation of more refined designs.

The creation of entertainment content can also benefit from real-time ray tracing. Real-time rendering is increasingly being used for previz and look development work in the media industry, and incorporating the realism of real-time ray tracing has the potential to improve these processes.

Can I really do this?

In short, yes. Unity ray tracing is built on top of the High Definition Render Pipeline (HDRP) and an experimental version (Unity DXR) can be downloaded from GitHub today. There are certain constraints that are explained in the documentation, but the bottom line is that you can add ray tracing to an existing HDRP scene. You’ll need compatible NVIDIA RTX hardware and the appropriate version of Windows 10 – specific requirements are detailed in the GitHub README. The current experimental version is a great place to start to learn real-time ray tracing and evaluate how it can benefit your specific use cases, however, we recommend that you not use the experimental version for production work. We’re actively developing and constantly updating this technology, and plan to release it a Preview version in Fall 2019. Preview releases are generally suitable for starting new production projects, with the understanding that these packages are not fully validated, and some details are subject to change between Preview and Verified release.

We’re excited about making this technology available to the Unity community, but we’re even more excited to see what you do with it. We’d love to hear your ideas about how you can put ray tracing to work, and if you create projects that you’re able to share publicly, please let us and everyone else know. In the comment section below please share your ideas, hopes and dreams – and where to find your ray tracing demos. And to anticipate a question you are likely asking already, no we can’t share the BMW project. We do want to see what you do with your own models though!

Learn more about our solutions for the automotive and transportation industry here.

Deixar uma resposta

Você poderá usar estes atributos e marcas HTML: <a href=""> <b> <code> <pre>

  1. yea, but custom pass AOVs please

  2. Need a version of the raytracing show off video with porno style music in the background……Bow Chica Wow wow

  3. Can we utilize GPU ray tracing for non render bound rays?

  4. It doesn’t mean anything to me, since I don’t have the budget to afford a pair of RTX 2080 Ti cards.
    Most Unity users don’t. I don’t know why you keep insisting this technology is affordable.

    1. Who said anything about two 2080ti cards?

      1. “The CG car is rendered in Unity at 4K interactive frame rates, using the power of ray tracing in HDRP on NVIDIA RTX 2080Ti.” (source: https://blogs.unity3d.com/2019/03/19/the-heretic-megacity-release-real-time-ray-tracing-and-more-news-from-gdc-2019/#raytracing)

        The specific wording there is very telling.

        Call me cynical, but if it were possible to do so on a single 2080 Ti, they’d have said so. Claiming it’s possible on a single GPU would be a lot more impressive than the vague “using the power of” line they used. Since they made no such claim, one can only surmise that it required multiple GPUs to get the results they showed.

        1. Derrek, you are not cynical, you are just spammer. You have the right not to use this technology.

        2. You do realise that the reason that they used two 2080tis was because they were rendering a demo scene used to show off features, right? You do realise that that’s what demos are for, right?

        3. You can do this with a single 2080ti btw, but you can always opt to not use this tech if its not to your liking.

  5. Amazing job… I can’t wait to experiment with it!

  6. Awesome! Happy to read performance is a focus especially with console raytracing guaranteed to come.

  7. A few days ago, I posted my thoughts about that on a forum. What a coincidence!
    https://forum.unity.com/threads/graphic-future-in-unity-lwrp-hdrp-shader-graph-visual-effect-graph-ray-tracing.667264/

    Here’s my answer to your questions.

    Questions:
    “We’d love to hear your ideas about how you can put ray tracing to work, […]”.
    “In the comment section below please share your ideas, hopes and dreams“

    Answer:
    The detailed answer is on the forum at the URL above.

    In a nutshell, I’m trying to use Unity to develop cross-platform games. The HDRP is not cross-platform. To use it on the player’s side, we must make it the only option in our project. There’s no way at the moment to have the Built-In RP, LWRP and HDRP side-by-side in the same project and deploy the game as a unique Unity game with the possibility for the players to choose the best option if their hardware allows it. We are restricted to creating a game for a few platforms in the Unity project without having the possibility later to deploy to other platforms not supported by the HDRP. For example, I should be able to deploy to the Nintendo Switch without ray tracing and deploy to PC (with possibility of ray tracing) from the same project.

    My hopes and dreams would be to “Build once, deploy anywhere” as your tagline says. Please, harmonize your deployment process, so we could continue to get the best of each world.