When getting started building a kit-based application with Omniverse, the team quickly realized a few advantages—mainly through Omniverse’s modular extensibility and using existing components available as building blocks.
“Building Flixiverse using Omniverse Kit was a blast. It gives you a ready-to-use, real-time 3D renderer that can ray-trace, so a lot of what we had to implement was there from the get-go. Extending the base project was easy since all development is in Python.” said Nikolas Ladas, software engineer at Sony Pictures Animation.
Much of what FlixiVerse does, comes from kit plugins. This includes UI, working with USD data, communicating with Nucleus for storage, and streaming the application over the network using webRTC. Adding a plugin to Flixiverse was as simple as adding a line to the project's configuration file. For code that SPA had to write themselves, they looked to the documentation and the various example projects.
Omniverse’s OpenUSD (Universal Scene Description) architecture jump started development and interoperability with Sony’s existing pipeline. The team used extensions from the Omniverse extension library, such as Scene Optimizer, which allowed them to easily add functionality to convert complex 3D scenes into lightweight representations, saving weeks in development time. Nucleus adds file transfer and auto-updates functionality, pulling models from Autodesk Maya.
"We created a script that would use Omniverse commands to take what's live in Maya, and export it to Omniverse Nucleus," said Katsambas. "Previously, it would take days to prepare and export files. Now it only takes minutes."
To simplify the control of the camera, the team integrated a PlayStation controller so they could easily move the camera around the scene. There's also a customized interface that allows their artists to tweak lights, shading, camera angles, and more. Now they can pull this information into production and help accelerate and optimize shot building.
Director Joaquim Dos Santos is a filmmaker with a background in storyboarding who used FlixiVerse during pre-production for the studio’s latest film, Spider-Man: Across the Spider-Verse. “FlixiVerse was invaluable to Joaquim’s process, now he can move around in 3D using a game controller, take snapshots, move models, and speed up his workflow. Additionally, production designers can see the pre-production design in a 3D world to get inspiration and design ideas,” Katsambas continued.
The team used a combination of an internal tool called Flixi, and their Omniverse app FlixiVerse in pre-production for Spider-Man: Across the Spider-Verse. At the end of pre-production, their final count of storyboard panels for the film was over 450,000—demonstrating almost 4X more iterations than the average count for previous films.
For next steps, Katsambas explains they plan to continue developing FlixiVerse, and that this is just the beginning. "We're just scratching the surface," he said. "We like the idea of Omniverse Nucleus, and there are plenty of opportunities to explore how we can creatively use it, such as connecting new applications for mo-cap to accelerate character staging, and look-dev tools."