SlideShare une entreprise Scribd logo
1  sur  56
Earthquake!
Building a pipeline to Destroy Los Angeles
in 2012
December 2009
Osiris Perez
Masuo Suzuki
Rito Trevino
Haarm-Pieter Duiker
Destroying Los Angeles for 2012
► Feature Film, Photoreal Quality Requirements
► Massive Number of Assets
• 5000+ in some scenes
► Multi Disciplinary/Application/Platform Workflow
• Layout, Animation, FX, Lighting, Compositing
o Maya, Houdini, Nuke
LAP 105
LAP 105
LAP 260
LAP 260
LAP 210
LAP 210
Bento: A Layout System
► Light weight
► Scalable
► Enable Parallel Workflows
Bento Implementation
► Python and SQL Database
 Core Python Module
 3d App Implementation: Multi-platform, Multi-application
 Maya, Nuke, Houdini
► XML throughout
 Easily to edit or troubleshoot during development
 Minimized database access
In Production: Asset Preparation
► Departments publish Components
 Published into database
 Added into Bento Asset
 Ex. Modeling, Texturing, Rigging, Lookdev
In Production: Parallel Shot Workflow
► First Layout publish creates a Shot Bento Box
► Shot Work ensues
 Animation, FX and Lighting do their work
 Anyone can touch anything
► Work is published into database
 New Components or versions of Components
o New versions of Asset Instances and Boxes
► Updates from other depts. reintegrated into scene
► Repeat until “Final!”
In Production: Updating in place
► Integrating updates essential to working in parallel
► Bento Updater
• Robust
o Rebuilding a scene with 5000+ assets is not fun
• Configurable
o Artists choose which updates to incorporate
• Safe
o Geometry, Bound Box, etc. live under the Bento Asset node
Moving Geometry Around
► Geometry had to be consistent in all packages
► Houdini’s .bgeo format used for interchange
 Proprietary support in Maya and Renderman
 Relatively simple format
 Polys and Subdivs
 Full geometry or animated point clouds
 Lots of primitive variables
Getting It to Render: geotor
► Renderman DSO that did many things
 Geometry
 Primitive variable mapping
 Motion Blur
 Material Assignments
 Texture Assignments
 Shader Parameters
► Fed directly by Bento Asset Component data
Bento Box: Groups of Elements
Bento Box: Groups of Elements
Bento Box: Groups of Elements
LAP 260
LAP 270
LAP 270
LAP 190
LAP 190
LAP 105
LAP 105
Conclusion
► We built a pipeline to handle multiple
 Applications
 Departments
 Platforms
 Shots
 Libraries
 Thousands of Assets
Pros and Cons
► Pros
 Light weight
 Scalable
 Multi application, Multi platform
► Cons
 Not all apps are created equal
 Lots of database writes
Thanks
► Konstantin Hristov
► Jonathan Gerber
► Mike Meckler
► Remy Torre
► Mohen Leo
► Phil Peterson
► The Lighting Team ► The FX Team
Bento Represents
► Represents
 Elements
 Transforms
 Hierarchies
Bento Updater
Bento Updater
Bento Updater
Bento Updater
Bento Updater
Bento Structures: Asset
► Collection of published Components
 All tracked in the database
► Asset Inheritance
 Shot Instances inherit from
 Central Asset
 Instances in other Shots or Libraries
 Components can be overridden
► XML versioned and tracked in the database
Bento Structures: Box
► Collection of published Assets and other Boxes
 Membership
 Placement
 Time Offsets
► Translate to and from DCC Apps
 Maya, Nuke, Houdini
► XML versioned and tracked in the database
Interactive Use
► Bento Asset Nodes
 Level of Detail
 Role
 Display Type
► Scenes containing 5000+ assets load quicky
Interacting with Assets
Interacting with Assets
Interacting with Assets
Interacting with Assets
Parallel Shot Workflow
Parallel Shot Workflow
Parallel Shot Workflow
Parallel Shot Workflow

Contenu connexe

Tendances

Tendances (19)

Roman Gorshunov - Airship project onboarding
Roman Gorshunov - Airship project onboardingRoman Gorshunov - Airship project onboarding
Roman Gorshunov - Airship project onboarding
 
SIGGRAPH Presentation 2016 Slides
SIGGRAPH Presentation 2016 SlidesSIGGRAPH Presentation 2016 Slides
SIGGRAPH Presentation 2016 Slides
 
From AWS to GCP, TABLEAPP Architecture Story
From AWS to GCP, TABLEAPP Architecture StoryFrom AWS to GCP, TABLEAPP Architecture Story
From AWS to GCP, TABLEAPP Architecture Story
 
Cloud-Quake , Global Azure Bootcamp 2016
Cloud-Quake , Global Azure Bootcamp 2016Cloud-Quake , Global Azure Bootcamp 2016
Cloud-Quake , Global Azure Bootcamp 2016
 
Using Kubernetes to deploy Django in GCP
Using Kubernetes to deploy Django in GCPUsing Kubernetes to deploy Django in GCP
Using Kubernetes to deploy Django in GCP
 
Two Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience ReportTwo Years In Production With Kubernetes - An Experience Report
Two Years In Production With Kubernetes - An Experience Report
 
Container orchestration on_aws
Container orchestration on_awsContainer orchestration on_aws
Container orchestration on_aws
 
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
 
Netflix viewing data architecture evolution - EBJUG Nov 2014
Netflix viewing data architecture evolution - EBJUG Nov 2014Netflix viewing data architecture evolution - EBJUG Nov 2014
Netflix viewing data architecture evolution - EBJUG Nov 2014
 
5 Habits of High-Velocity Teams Using Kubernetes
5 Habits of High-Velocity Teams Using Kubernetes5 Habits of High-Velocity Teams Using Kubernetes
5 Habits of High-Velocity Teams Using Kubernetes
 
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
Flink Forward San Francisco 2019: Real-time Processing with Flink for Machine...
 
Concourse ci container based ci for the cloud
Concourse ci   container based ci for the cloudConcourse ci   container based ci for the cloud
Concourse ci container based ci for the cloud
 
InfluxDB & Kubernetes
InfluxDB & KubernetesInfluxDB & Kubernetes
InfluxDB & Kubernetes
 
FME User Stories from Around the World
FME User Stories from Around the WorldFME User Stories from Around the World
FME User Stories from Around the World
 
Rendering Takes Flight
Rendering Takes FlightRendering Takes Flight
Rendering Takes Flight
 
Introduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with StormIntroduction to Streaming Distributed Processing with Storm
Introduction to Streaming Distributed Processing with Storm
 
Should developers care about dockerfiles and kubernetes resources
Should developers care about dockerfiles and kubernetes resourcesShould developers care about dockerfiles and kubernetes resources
Should developers care about dockerfiles and kubernetes resources
 
Run C++ as serverless with GCP Cloud Functions
Run C++ as serverless with GCP Cloud FunctionsRun C++ as serverless with GCP Cloud Functions
Run C++ as serverless with GCP Cloud Functions
 
Fermilab aws on demand
Fermilab aws on demandFermilab aws on demand
Fermilab aws on demand
 

En vedette

forumpaper_5_punjabi_sengupta_bird_reddy
forumpaper_5_punjabi_sengupta_bird_reddyforumpaper_5_punjabi_sengupta_bird_reddy
forumpaper_5_punjabi_sengupta_bird_reddy
Dr. Bharat Punjabi
 
Rubi Mantilla 2do Deber
Rubi Mantilla 2do DeberRubi Mantilla 2do Deber
Rubi Mantilla 2do Deber
rubigissel
 
Agentziaren profesionalak publizitate prozesuan
Agentziaren profesionalak publizitate prozesuanAgentziaren profesionalak publizitate prozesuan
Agentziaren profesionalak publizitate prozesuan
Asier Lemuria
 
Richard presentation march
Richard presentation marchRichard presentation march
Richard presentation march
bbptoronto
 
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
Sue Stone
 

En vedette (20)

Halloween
HalloweenHalloween
Halloween
 
Untitled Presentation(2)
Untitled Presentation(2)Untitled Presentation(2)
Untitled Presentation(2)
 
forumpaper_5_punjabi_sengupta_bird_reddy
forumpaper_5_punjabi_sengupta_bird_reddyforumpaper_5_punjabi_sengupta_bird_reddy
forumpaper_5_punjabi_sengupta_bird_reddy
 
Rubi Mantilla 2do Deber
Rubi Mantilla 2do DeberRubi Mantilla 2do Deber
Rubi Mantilla 2do Deber
 
Bookstore
BookstoreBookstore
Bookstore
 
Ajax and Accessibiity
Ajax and AccessibiityAjax and Accessibiity
Ajax and Accessibiity
 
Agentziaren profesionalak publizitate prozesuan
Agentziaren profesionalak publizitate prozesuanAgentziaren profesionalak publizitate prozesuan
Agentziaren profesionalak publizitate prozesuan
 
No es Verdad
No es VerdadNo es Verdad
No es Verdad
 
Edtc 245 presentation
Edtc 245 presentationEdtc 245 presentation
Edtc 245 presentation
 
Richard presentation march
Richard presentation marchRichard presentation march
Richard presentation march
 
The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)The Art and Technology behind Crysis 3 (FMX 2013)
The Art and Technology behind Crysis 3 (FMX 2013)
 
Rezonancija_lbozicevic
Rezonancija_lbozicevicRezonancija_lbozicevic
Rezonancija_lbozicevic
 
Simplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style GuideSimplifying Massive Changes with a Live Style Guide
Simplifying Massive Changes with a Live Style Guide
 
JDay Deutschland 2015 - PHP Design Patterns in Joomla!
JDay Deutschland 2015 - PHP Design Patterns in Joomla!JDay Deutschland 2015 - PHP Design Patterns in Joomla!
JDay Deutschland 2015 - PHP Design Patterns in Joomla!
 
Monitoring & evaluating the usage of your Open Access Journal
Monitoring & evaluating the usage of your Open Access JournalMonitoring & evaluating the usage of your Open Access Journal
Monitoring & evaluating the usage of your Open Access Journal
 
The Best is Yet to come | #jd16at
The Best is Yet to come | #jd16at The Best is Yet to come | #jd16at
The Best is Yet to come | #jd16at
 
Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006
 
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
Torts Law A - Mid-Term Case Analysis Assignment (Distinction)
 
Ansible fest Presentation slides
Ansible fest Presentation slidesAnsible fest Presentation slides
Ansible fest Presentation slides
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
 

Similaire à Building a pipeline to Destroy Los Angeles in 2012 - Siggraph Asia 2009

Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_Pipelines
Russell Darling
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
slantsixgames
 

Similaire à Building a pipeline to Destroy Los Angeles in 2012 - Siggraph Asia 2009 (20)

Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 
[CCP Games] Versioning Everything with Perforce
[CCP Games] Versioning Everything with Perforce[CCP Games] Versioning Everything with Perforce
[CCP Games] Versioning Everything with Perforce
 
Heroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success storyHeroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success story
 
A preview of Feathers 2.2 and the Feathers SDK
A preview of Feathers 2.2 and the Feathers SDKA preview of Feathers 2.2 and the Feathers SDK
A preview of Feathers 2.2 and the Feathers SDK
 
Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_Pipelines
 
Fluentd - CNCF Paris
Fluentd - CNCF ParisFluentd - CNCF Paris
Fluentd - CNCF Paris
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
 
An introduction to the office devpnp community initiative
An introduction to the office devpnp community initiativeAn introduction to the office devpnp community initiative
An introduction to the office devpnp community initiative
 
Scaling 100PB Data Warehouse in Cloud
Scaling 100PB Data Warehouse in CloudScaling 100PB Data Warehouse in Cloud
Scaling 100PB Data Warehouse in Cloud
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Puppet latest and greatest
Puppet latest and greatestPuppet latest and greatest
Puppet latest and greatest
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET World
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
Immutable Kubernetes with Digital Rebar Provision
Immutable Kubernetes with Digital Rebar ProvisionImmutable Kubernetes with Digital Rebar Provision
Immutable Kubernetes with Digital Rebar Provision
 
Pharo 11: A stabilization release
Pharo 11: A stabilization releasePharo 11: A stabilization release
Pharo 11: A stabilization release
 
Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019
 
Orchestrating the execution of workflows for media streaming service and even...
Orchestrating the execution of workflows for media streaming service and even...Orchestrating the execution of workflows for media streaming service and even...
Orchestrating the execution of workflows for media streaming service and even...
 

Dernier

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 

Dernier (20)

FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 

Building a pipeline to Destroy Los Angeles in 2012 - Siggraph Asia 2009

Notes de l'éditeur

  1. Hello Thank you for having us hear at Siggraph Asia 2009. It’s an honor to have been invited.
  2. The Job Average asset shot count for all CG shots was 1000 DD tradition of FX, Animation, Lighting.
  3. Shot Examples 1 Live-action plate Projected onto Geometry in Nuke Central FX element CG Objects Trees, Cars, Characters Animated, Sim’ed, Lit Maya, Houdini, Maya
  4. Shot Examples 1 Live-action plate Projected onto Geometry in Nuke Central FX element CG Objects Trees, Cars, Characters Animated, Sim’ed, Lit Maya, Houdini, Maya
  5. Shot Examples 2 Fully CG Anim, Building Sims, Volumetric Renders Tons of Layers Maya, Houdini, Maya, Nuke Several thousand individual elements
  6. Shot Examples 2 Fully CG Anim, Building Sims, Volumetric Renders Tons of Layers Maya, Houdini, Maya, Nuke Several thousand individual elements
  7. Shot Examples 3 Fully CG Building Sims, Volumetric Renders, Massive Animation Maya, Houdini, Maya, Nuke
  8. Shot Examples 3 Fully CG Building Sims, Volumetric Renders, Massive Animation Maya, Houdini, Maya, Nuke
  9. Goals for Bento Bento Represents Elements Transforms Hierarchies
  10. Bento Data Hierarchy Bento Represents Elements Transforms Hierarchies
  11. Bento Data Hierarchy Bento Structures: Bento Asset Collection of Components for a Single Asset All Components are tracked in the database Ex. Model, Textures, Shaders, Anim Curves, Sims Geometry streams Asset Component list can be rebuilt from database Asset Inheritance Shot Instances inherit from Central Assets Definitions Single publish for Models, Textures, Shaders, etc. Components Per-shot publish for Instance Components like Animation and FX. Multiple-levels of inheritance possible Needed in some cases Libraries of Sims and Animation instanced into shots Ex. City Blocks Ex. Crumbling Fissure Walls Ex. Building Sims from one shot used in another Asset .XML representation is versioned and tracked in the database
  12. Bento Data Hierarchy Bento Structures: Bento Asset Collection of Components for a Single Asset All Components are tracked in the database Ex. Model, Textures, Shaders, Anim Curves, Sims Geometry streams Asset Component list can be rebuilt from database Asset Inheritance Shot Instances inherit from Central Assets Definitions Single publish for Models, Textures, Shaders, etc. Components Per-shot publish for Instance Components like Animation and FX. Multiple-levels of inheritance possible Needed in some cases Libraries of Sims and Animation instanced into shots Ex. City Blocks Ex. Crumbling Fissure Walls Ex. Building Sims from one shot used in another Asset .XML representation is versioned and tracked in the database
  13. Bento Data Hierarchy Bento Structures: Bento Box Collection of Bento Assets and other Boxes Represents Asset Membership Placement Used for Full Scenes Instanced Collections of Assets Buildings City Blocks Box to Host Application and Back Maya Outliner Houdini Node Graph Nuke 3d system Box .XML representation is versioned and tracked in the database
  14. Bento Data Hierarchy Bento Represents Elements Transforms Hierarchies Bento Structures: Bento Asset Collection of Components for a Single Asset All Components are tracked in the database Ex. Model, Textures, Shaders, Anim Curves, Sims Geometry streams Asset Component list can be rebuilt from database Asset Inheritance Shot Instances inherit from Central Assets Definitions Single publish for Models, Textures, Shaders, etc. Components Per-shot publish for Instance Components like Animation and FX. Multiple-levels of inheritance possible Needed in some cases Libraries of Sims and Animation instanced into shots Ex. City Blocks Ex. Crumbling Fissure Walls Ex. Building Sims from one shot used in another Asset .XML representation is versioned and tracked in the database Bento Structures: Bento Box Collection of Bento Assets and other Boxes Represents Asset Membership Placement Used for Full Scenes Instanced Collections of Assets Buildings City Blocks Box to Host Application and Back Maya Outliner Houdini Node Graph Nuke 3d system Box .XML representation is versioned and tracked in the database
  15. Bento Technology Structure - Organizational layer on top of a database 1000s of assets * 10 components per asset * 100 artists = database meltdown Reading XML data rather than straight form the database allowed us to transfer some of the read overhead to the network infrastructure and away from the database, which could have been a single point of failure. Database read performance was also not production ready at the start of the project.
  16. Production Workflow 1 Bento Asset is versioned up and Published as components are published.
  17. Production Workflow 2 The Shot begins with the first Bento Box publish from Layout Bento Asset Instances are versioned up and published as Components are published.
  18. Production Workflow 3 Updating in Place All Departments working in parallel Ex. Lighters received updates from Modeling, Texturing, Lookdev, Animation and FX Robust updating tools User configurable Partial or whole merge of latest results Abstraction layer around component data Bento nodes provide essential cover for users. Reference edits and other unstable elements in Maya can be wrapped in a more stable cover. Users don’t need to worry about dependencies or constraints being broken when they Updated their scenes. Models, Textures, Lookdev, Animation, Sims referenced rather than loaded Referencing even happened beneath a cover. Raw data not used by artists for constraints, assignments, etc. Changing out raw data wouldn’t break scenes
  19. Moving Data Around Transforms handled by the Bento formats Geometry was the primary asset that had to show up in all packages consistently Houdini’s .bgeo format was used Works in Houdini Proprietary read and write support in Maya Proprietary read support in Renderman Plugin named geotor Relatively flat format We used polys and subdiv surfaces Full geometry definitions and point cloud files for anim, if possible Multiple objects Lots of primitive variables Motion Vectors, UVs, Rest Position, etc.
  20. Moving Data Around Geometry was the primary asset that had to show up in all packages consistently Houdini’s .bgeo format was used Works in Houdini Proprietary read and write support in Maya Proprietary read support in Renderman Plugin named geotor Relatively flat format We used polys and subdiv surfaces Full geometry definitions and point cloud files for anim, if possible Multiple objects Lots of primitive variables Motion Vectors, UVs, Rest Position, etc.
  21. Shot Bento Box Layouts 1 Screenshot of Maya Outline and 3d View
  22. Shot Bento Box Layouts 2 Screenshot of Maya Outline and 3d View
  23. Shot Bento Box Layouts 3 Screenshot of Maya Outline and 3d View
  24. Screenshot of the whole scene as bounding boxes, far away
  25. Screenshot of the whole scene as bounding boxes, close in
  26. Screenshot of the whole scene as bounding boxes, close in
  27. Screenshot of the whole scene as bounding boxes, close in
  28. Screenshot of the whole scene as bounding boxes, close in
  29. Screenshot of the whole scene as bounding boxes, close in
  30. Screenshot of the whole scene as bounding boxes, close in
  31. Bento can do a lot
  32. Pros and Cons Cons Different applications make different things easy Houdini doesn’t work as a hierarchy of transforms by default like Maya does Maya’s notion of “objects” is more restrictive than Houdini’s Houdini doesn’t have a native notion of “objects” like Maya does Nuke nearly as articulated
  33. Bento Data Structures can represent…
  34. The UI! Hierarchy Database Status Comments Dates
  35. The UI! Hierarchy Database Status Comments Dates
  36. The UI! Hierarchy Database Status Comments Dates
  37. The UI! Hierarchy Database Status Comments Dates
  38. The UI! Hierarchy Database Status Comments Dates
  39. A Bento Asset Is and Can… Bento Structures: Bento Asset Collection of Components for a Single Asset All Components are tracked in the database Ex. Model, Textures, Shaders, Anim Curves, Sims Geometry streams Asset Component list can be rebuilt from database Asset Inheritance Shot Instances inherit from Central Assets Definitions Single publish for Models, Textures, Shaders, etc. Components Per-shot publish for Instance Components like Animation and FX. Multiple-levels of inheritance possible Needed in some cases Libraries of Sims and Animation instanced into shots Ex. City Blocks Ex. Crumbling Fissure Walls Ex. Building Sims from one shot used in another Asset .XML representation is versioned and tracked in the database
  40. A Bento Box Is and Can… Bento Structures: Bento Box Collection of Bento Assets and other Boxes Represents Asset Membership Placement Used for Full Scenes Instanced Collections of Assets Buildings City Blocks Box to Host Application and Back Maya Outliner Houdini Node Graph Nuke 3d system Box .XML representation is versioned and tracked in the database
  41. The UI! Hierarchy Database Status Comments Dates
  42. The UI! Hierarchy Database Status Comments Dates
  43. The UI! Hierarchy Database Status Comments Dates
  44. The UI! Hierarchy Database Status Comments Dates