Time

9am Pacific

Agenda

  • Semantic connections
  • Usage of USDLight in video game

Zoom

https://zoom-lfx.platform.linuxfoundation.org/meeting/94179328045?password=3a3f2043-0d30-4e1e-b9b5-35378146b18c

Notes

Usage of USDLux in VideoGame

From Thomas Chollet

1) Usd Light shapes are complex and the position of the light is the center of the light shape ( i.e. center of the sphere or rectangle ). In Unity, the position of the light is the tip of the light cone or pyramid . This means that the lights have to be offset relatively to the radius of the sphere and the spot angle. This may result in lights being incorrectly placed ( ie : ceiling light moved through the ceiling to the upper floor )

2) The cone shaping properties do not match what we have in Unity :

  • Cone softness accepts values over 1.
  • Cone focus has no equivalent.
  • Area lights in Unity do not have a softness parameter.


3) Scaling affects the size of the light in RenderMan, not in Unity.
This is not clearly documented in USD, there’s nothing that mentions how lights should behave with scaling. Moreover, non-uniform scaling or shearing can be applied which is not supported by Unity lights.

4) USD Lights intensity unit is not mentioned in the documentation but it appears to be nits like in Renderman. However it looks like DCCs don’t perform any conversion and just write whatever value they’re using.

5) USD lights don’t have a range property.

Discussion

Light can be in USD in Unity but we can't move them in Unity. 
How engine centric lights are? It seems they are very engine centric. 

During your work, is there some other software such as Autocad that you use to import back to game engine?

In FBX, cone are supported

At Remedy, light are from now, engine lights only, because of the probes that are used. But basic properties should be transferrable into USDLux.

Infinity Ward : Some maths are needed between Omniverse and DCC. They are not believing that USDLux have the full description of lights for the engines : it is a one way trip with calculations for units.
Light are used for cinematics, etc. eg : headlight will work differently in realtime that in cinematics.

Emissive materials are not listed as lights. They are not supported in UsdShade. Basically USD is not supporting emissive for now.
There is no light asset for now in the USD assets. There should be added.

Question : how to make it good to have the correct result? Which render to use to have the source of truth?

Are units well defined? Is there a way to define Candela or Lux?

Michael indicated that there is a wider effort to add unit in USDLux.

Sebastian "spiff" Grassia mentioned there is kickstart to incorporate PhysLight. There is still a lot to do.  https://github.com/wetadigital/physlight

Thoms Chollet is wondering if it would be possible to have schemas for lights.

Koen mentionned that USD Lux and USD PreviewSurface are the least common denominator.

Sebastian "spiff" Grassia (Pixar) : The idea for USDLux is to be the base line for lights. And then having schemas for lights that will support actual lights (eg the Renderman plugin)
Having a DCC set of specifications makes sense

Michael B Johnson : we could have a distinction between asset lights and shot light. For example for building : what light during day time and what light during night time?

Jeremy Cowles explained that his previous experiences with FBX and GLTF made him think that having a starting point ( position, orientation, type) is way better than nothing.

Sebastian "spiff" Grassia : a lot of work to support light is done in Renderman. They (Pixar) need people to come back to them with concerns.

Koen : Games and VFX/Movie are very diverging for lights : eg : not the same usage of Raytracing.
It would be very difficult to go in the same way for both.

Sebastian "spiff" Grassia there are applied schemas for USDLux. For example : Sphere light could be a pointLight in a game engine.

Koen : we want to be able to transfer basic information. USD needs to contains information.

Thomas Chollet Action Items:

  • being able to define unit
  • the scale of light shape

Sebastian "spiff" Grassia unit are easier to define. The shape is more difficult.

There is a new USD LUx channel : https://academysoftwarefdn.slack.com/archives/C058Y8P0LKU

SantaMonica Studio: They are checking what they need to work with USDLux. Their plan is to have special schemas for lights. They also want to move a lot of data in USD.


Hydra delegate : how to use hydra delegates? Do we need them in games?

Jeremy Cowles we could make the game engine the hydra delegate. At Unity they made experiment but they stopped.

Levi Biasco mentioned it could be a lot of work

Koen explained that if your game engine is an hydra delegate you can switch from Renderman to your game engine!

Jeremy Cowles suggested also that it would be the last part of the USD integration.

Michael B Johnson but if you have very talented lookDev Artist, it could be great

Koen : but it is too much effort.
There is no software that can handle large levels because of the amount of specialization and optimization we have in game engines to make it possible.

USD to create hierarchy

Michael B Johnson is wondering is OpenUSD could be a way to create hierarchy.

Koen replied that in games it is more what the camera is seeing.

At Remedy, USD helps creating level and the asset are created in Maya.

Future

Ubisoft is preparing a PR for LODs (could someone link the proposal here?)

Is there an ETA for expression driven attribute?
Sebastian "spiff" Grassia : more than one year out

Joints

Koen is wondering how to use joints in UsdSkel ? How to create constraints? How to attach bones?

How to use rig at runtime? : eg how to attach a gun to an hand?

Sebastian "spiff" Grassia mentioned that is TBD : it is not explicitly designed yet. How much is part of USDSkel and how much is part of rigging?

Next meeting

Light follow-up:

Semantic connections

Attendance

  • François Devic, Co-Lead
  • TJ Trently, Co-Lead, NetEase Games
  • Alex Schwank - WG Co-chair, Apple
  • Nick Porcino - WG Co-chair, Pixar
  • Michael Min - USD Camera WG, Netflix
  • Roman Zulak - USD on the web WG, NVIDIA
  • Aaron Luk, NVIDIA
  • Adam Harder
  • Alan Blevins, NVIDIA
  • Alessandro Bernardi - Ubisoft - HELIX Studio
  • Alex Gerveshi, AWS
  • Alex Wilkie
  • Alexander Kalyuzhnyy, Wizart Animation
  • Allen Hastings, Foundry
  • Aloys Baillet, Animal Logic
  • Alson Entuna, Crytek
  • Alyssa Reuter
  • Andy Biar, Warner Bros.
  • Ana Gomez
  • Anandhaiyappan, Botvfx
  • Angelo Gabriel Sapaula
  • Anthony Tan, Autodesk
  • Anton Palmqvist
  • Arash Keissami, Nira.app
  • Arielle Martin, Foundry
  • Ashwin Bhat - USD and MaterialX, Autodesk 
  • Barry Ruff
  • Ben Chung-Hoon, NVIDIA
  • Ben Deniz
  • Bernard Kwok, Autodesk
  • Bill Dwelly
  • Bill Spitzak, Dreamworks Animation
  • Blazej Floch
  • Brian Gyss, 5th Kind
  • Bruno Ebe
  • Bruno Landry (Unity)
  • Carlos Felipe Garcia Murillo
  • Carolin Colón
  • Carson Brownlee, Intel
  • Charleen Chu, SPI
  • Charles Flèche, Ubisoft Montréal
  • Chris King
  • Christopher Lexington
  • Chris Rydalch, SideFX
  • Claire Chen
  • Claire Yb
  • Claude Robillard
  • Connor Smith, Magic Leap
  • Cory Omand, TWDS/Pixar
  • Curtis Andrus
  • Dan Herman
  • Dan Lee
  • Dan Rolinek
  • Daniel Heckenberg, Animal Logic
  • Daniel Lanner
  • Dave Hale, Riot Games
  • David Aguilar, Walt Disney Animation
  • David Larsson, Adobe
  • Dean Jackson, Apple
  • Deke Kincaid, Digital Domain
  • Dhruv Govil, Apple
  • Divyansh Mishra
  • Domenico Alessi
  • Dominic Couture
  • Doug MacMillan, Tippett Studio
  • Edward Slavin, NVidia
  • Élie Michel
  • Eric Chadwick, Wayfair
  • Eoin Murphy, NVidia
  • Eric Enderton, NVidia
  • Eric Majka, Psyonix/Epic Games
  • Erik Ostsjo
  • Étienne Archambault
  • F. Sebastian Grassia, Pixar
  • Fabrice Macagno, Animal Logic
  • Felix Herbst, Prefrontal Cortex
  • Fernando Leandro
  • Francois Lord, NAD-UQAC / Rodeo FX
  • Frieder Erdmann, Ubisoft Massive
  • Gary Jones, Foundry
  • Georgie Challis
  • Gordon Bradley, Autodesk
  • Gordon Cameron, Epic Games
  • Guido Quaroni, Adobe
  • Guillaume Laforge, Autodesk
  • Guy Martin, NVIDIA
  • Hendrik Helpach
  • Henrik Edstrom, Autodesk
  • Henry Vera, DNEG
  • James Pedlingham, Foundry
  • Jeff Bradley, Dreamworks
  • Jenna Bell, Disney / Invisible Thread
  • Jennifer Horowitz, Maxar
  • Jenny Zhang
  • Jeremiah Zanin, Santa Monica Studio
  • Jeremy Cowles - USD Assets WG Chair, Unity
  • Jerran Schmidt, NVIDIA
  • Jerry Gamache
  • Jesse Barker
  • Jesse Ng, Metropolitan Museum of Art
  • Jessica Wang, Pixar
  • Joe Hultgren 
  • John Burnett, Bonfire Studios
  • John Creighton, Apple
  • John Hood, SPI
  • John Mertic, Linux Foundation
  • Jon Creighton, Apple
  • Jon Wade, Spotify
  • Jonah Friedman, Autodesk
  • Jonathan Gerber
  • Jonathan Stone
  • Jonghwan Hwang
  • Jordan Soles, Rodeo FX
  • Jordan Thistlewood, Epic
  • Joshua Miller
  • Joseph Goldstone
  • JT Nelson, Pasadena Open Source Consortium/SoCal Blender group
  • Julien Dubuisson
  • Kev Kirkland
  • Kevin Bullock
  • Kelvin Chu, Riot Games
  • Kimball Thurston, Weta
  • Koen Vroeijenstijn, Activision / Infinity Ward
  • Kristof Minnaert, Remedy Entertainment
  • Kurtis Schmidt
  • Laura Scholl
  • Larry Gritz, SPI
  • Lee Kerley, SPI
  • Levi Biasco, Santa Monica Studio
  • Louis Marcoux, NVIDIA
  • Lucas Morante, Illusorium
  • Luca Scheller, RiseFX
  • Luiz Kruel, R* NYC
  • Luke Titley
  • Manuel Köster, Crytek
  • Mark Alexander
  • Mark Elendt, SideFX
  • Mark Final, Foundry
  • Mark Masson
  • Mark Manca
  • Mark Sisson
  • Mark Tucker, SideFX
  • Marteinn Oskarsson, Sony Imageworks
  • Martin Karlsson
  • Mathieu Bertrand
  • Mathieu Mazerolle, Foundry
  • Matias Codesal, NVIDIA
  • Matt Johnson, Epic Games
  • Matt Kuruc, NVIDIA
  • Matthew Levine, WDAS
  • Matthew Low, DWA
  • Michael B. Johnson, Apple
  • Michael Blain, Unity
  • Michael Buckley
  • Michael Kass, NVidia
  • Michael Min
  • Mika Vehkala, Remedy Entertainment
  • Mikko Haapoja, Shopify
  • Nat Brown
  • Natasha Tatarchuk, Unity
  • Neil Chodorowski
  • Niall Redmond, Foundry
  • Nicolas Popravka, Soul Machines
  • Nicolas Savva
  • Nishanth Singaraju
  • Oliver Dunn
  • Oscar Sebio, Autodesk
  • Paolo Selva, Weta
  • Paul Baaske, Jellyfish Pictures
  • Paul Molodowitch, NVIDIA
  • Patrick Palmer
  • Peter Arcara
  • Pete Segal
  • Phil Sawicki, NVIDIA
  • Prapanch Swamy, Disney / Invisible Thread
  • Pier Paolo Ciarravano, MPC
  • Pierre-Luc Bruyere
  • Quentin Birrer
  • Ramesh Santhanam
  • Rebecca Hallac
  • Richard Frangenberg
  • Richard Kerris, nVidia
  • Richard Lei, Weta
  • Rob Pieké
  • Rob Stauffer, SideFX
  • Robert Krupa, Elemental Games
  • Robin Rowe, CinePaint
  • Rohit Khonde
  • Rory Woodford, Foundry
  • Ryan Stelzleni
  • Scott Geffert, Metropolitan Museum of Art
  • Scott Keating
  • Sean Looper, AWS
  • Sean McDuffee, Intel
  • Seb Schmidt, Weta
  • Sebastian Herholz, Intel
  • Sebastian Grassia, Pixar
  • Sebastian Rath, Snowtrack Montréal
  • Sebastien Dalgo, Unity
  • Sergei Shaykin, Apple (usdzconvert)
  • Sergio Rojas, Different Dimension
  • Serguei Kalentchouk, Netflix
  • Shane Davis, SideFX
  • Shawn Dunn, Epic Games
  • Silvia Palara
  • Sneha Jaikumar
  • Spencer Luebbert
  • Stefan Habel, Foundry
  • Stephan Leroux, Shopify
  • Steve Agland, Animal Logic
  • Steve Hwan, DD
  • Steve LaVietes
  • Steven Anichini, Disbelief
  • Sue Sauer, Sunrise Productions
  • Sylvain Trottier, NVIDIA
  • Thibault Lambert
  • Thomas Chollet
  • Thomas Kumlehn
  • Tiago Carvalho
  • Tim Fowler
  • Tzung-da Tsai
  • Vadim Slyusarev
  • Varun Talwar
  • Wayne Wu
  • Will Telford, NVIDIA
  • Xiaoxi Liu, Unity
  • Yassine Mankai
  • YJ Jang
  • No labels