SlideShare a Scribd company logo
Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019
Unity Asset Workflows for
Film and Animation
Pipelines
Chris Redmann
Unity Technologies
What should I get out of this?
3
1. How can I get data from my production pipeline into Unity?
2. What can I do with it, once it is in Unity?
3. How can I get my data back out from Unity, and into my
pipeline?
Who is this talked geared for?
4
— Likely familiar with production pipelines, but new to Unity
— Familiar with Unity, but new to using Film workflows
— Interested in learning about how to leverage Unity in your
production pipeline
Production Pipelines
6
Story Art
Editorial
Modeling Rigging
Surfacing
Layout
Animation
Crowds
Character
FX
FX
LightingMatte
Painting
Compositing
Where does Unity fit in the production
pipeline?
8
— Unity is a general real-time engine
— Allow ingestion of industry standard formats
— Export of assets
– Same format
– Other methods for consumption in the pipeline
What are the industry standard formats?
9
What are the industry standard formats?
10
Requirements
11
— Unity 2019.3.0b4
— Packages
— USD (preview.1-1.0.1)
— Alembic (1.0.6)
— High Definition RP (7.0.1)
— Unity Recorder (preview.1-2.0.3)
— Unity AOV Recorder (preview.3-0.1.0)
What do we need to get started?
12
How do I get data into Unity?
13
— Cover some basic export settings
— Common DCC Tools
— Maya
— Houdini
Starting with Alembic
14
— What is supported?
— IPolyMesh
— IPoints
— ICamera
— IFaceSet
— IXform
— ISubD is not
– Not for transferring workflow data
Houdini Alembic Output
15
— Primitive Groups
— Save Non-Empty Groups as Face
Sets
— Submesh output
— Point Export
– POP objects
– SOP Points
— Attributes
– Point
– Vertex
Maya Alembic Output
16
— Shading groups as submeshes
— Enable Write Face Sets
— Multiple UV sets
– Enable UV Write
– Enable Write UV Sets
— Vertex Color
– Enable Write Color Sets
— Write Normals
Starting with USD
17
— What is supported?
— UsdGeomMesh
— UsdGeomPointInstancer
— UsdGeomCamera
— UsdSkel
— As name implies, scene description format
– More supported scene entities than Alembic
– Rigs can be handled via UsdSkel
– PreviewSurface – Basic Material
Houdini USD Output
18
— The Prefix will be set as the root in the
Unity Prefab or GameObject
— For animated sequences, use one file
— Use the usdprimpath primitive attribute
for GameObject naming
— Attributes
– st/uv
– Cd
– N
Maya USD Output
19
— pxrUsdExport
— Export UVs
— map1
— Export displayColor primvar
— UsdSkel
– Export Skeletons
– Export Skin Clusters
— Default Mesh Scheme
Now I have data from my pipeline, how do I get it into
Unity?
20
Start with Alembic import
21
— Import like any other asset
— Creates a Prefab
— Entire Xform hierarchy recreated
Alembic caveats
22
— Copied into project
— Reimport on external Asset change
— No material support
– Alembic Material Mapper (Film TV toolbox package)
– Requires simultaneous export of FBX, but could alleviate initial asset
pain
Alembic Components
23
— Alembic Stream Player
— Alembic Points Cloud
— Alembic Points Renderer
— Alembic Exporter
The time parameter can be used to set a
specific point in the cache
Alembic Stream Player
24
Offsetting this adjusts the point in time, but
will not drive the animation
Alembic Import
25
USD Import
26
— USD Menu
– Import as GameObjects
– Import as Prefab
– Import as Timeline Clip
USD Import
27
— UsdSkel
– Quality Settings Skin Weights
— Import settings
– Composition arcs
– UV data
— USD Components
— Not copied into the Project
— Can also import Alembic
USD Asset - Simple
28
— Rebuilding and Refreshing
— USD Root Path
— Payload Policy
— Materials
USD Asset - Advanced
29
— Material Options
— Mesh Options
– St
— Generate Lightmap Uvs
— Material Import Mode
– Import Display Color
– Import Preview Surface
USD Inspector
30
— primvars from USD
— Not all are in every file
USD Inspector – Console Output
31
C# Scripting
32
string usdFile = System.IO.Path.Combine(UnityEngine.Application.dataPath, "sceneFile.usda");
// Populate Values.
var value = new MyCustomData();
value.aString = "IT'S ALIIIIIIIIIIIIIVE!";
value.anArrayOfInts = new int[] { 1, 2, 3, 4 };
value.aBoundingBox = new UnityEngine.Bounds();
// Writing the value.
var scene = Scene.Create(usdFile);
scene.Time = 1.0;
scene.Write("/someValue", value);
Debug.Log(scene.Stage.GetRootLayer().ExportToString());
scene.Save();
scene.Close();
// Reading the value.
Debug.Log(usdFile);
value = new MyCustomData();
scene = Scene.Open(usdFile);
scene.Time = 1.0;
scene.Read("/someValue", value);
Debug.LogFormat("Value: string={0}, ints={1}, bbox={2}",
value.aString, value.anArrayOfInts, value.aBoundingBox);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
UsdSkel
33
USD Variant Sets
34
USD Variant Sets
35
USD Payloads
36
USD Payloads
37
How do we play back our data?
38
After instantiating a Prefab, create a Timeline
and Playable Director
Alembic Timeline Workflow
39
On the newly created Timeline, drop an
instantiated Prefab onto an Alembic Track
Alembic Timeline workflow
40
Create an Animator and an Animation Clip
Alembic Unity Animation Workflow
41
Add the Current Time Property to the
Animation Window
USD Timeline workflow
42
Why choose one over other?
43
— Depends on pipeline
— Alembic is more straightforward, as it works like any other
imported asset
— USD is more flexible
– Also adds additional complexity
We have our data in Unity, but what are some possible
uses?
44
Look Development
45
— High Definition Render Pipeline
– Physically Based
– Area lights
– Disney Diffuse / GGX specular
– Support of DXR for ray-traced effects
Look Development
46
Layout
47
Layout
48
Previz
49
Now, how do we get data back out?
50
Geometry export
51
— Alembic
– Alembic Exporter Component
— Supported Types
— Static and Animated Meshes
— Skinned Meshes
— Particles
— Cameras
Geometry export
52
— USD
– Export Selected
– Export Overrides
– Export as USDZ
– Usd Recorder Track
USD Static Geometry
53
USD Static Geometry
54
USD Recorder
55
— Usd Recorder Track
— Usd Recorder Clip
— Game Object Hierarchy
USD Recorder
56
USD Recorder
57
USD Overrides
58
USD Overrides
59
60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
over "column_prefab" (
prepend references = @.Unite_CPHcolumn.usda@</World>
)
{
matrix4d xformOp:transform.timeSamples = {
0: ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ),
}
uniform token[] xformOpOrder = ["xformOp:transform"]
over "Materials"
{
}
over "column"
{
float3[] extent.timeSamples = {
0: [(-0.5727719, -1.5, -0.49923185), (0.5727719, 11.14996, 0.49945638)],
}
matrix4d xformOp:transform.timeSamples = {
0: ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 12, 1) ),
}
uniform token[] xformOpOrder = ["xformOp:transform"]
}
USD Overrides
Geometry export caveats
61
Geometry export caveats
62
Camera export
63
Camera export
64
Unity Recorder
65
Unity Recorder
66
Unity Recorder
67
AOV Recorder
68
Render Images
69
Render AOVs
70
Where can you go from here?
71
Conclusion
73
— Use the tools, provide feedback!
— Production pipelines can vary wildly, tools need to be
extensible
— GitHub
– https://github.com/Unity-Technologies/usd-unity-sdk
– https://github.com/unity3d-jp/AlembicForUnity

More Related Content

PPTX
Moving Frostbite to Physically Based Rendering
PDF
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
PPTX
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
PDF
Siggraph2016 - The Devil is in the Details: idTech 666
PPTX
Decima Engine: Visibility in Horizon Zero Dawn
PDF
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
PPTX
High Dynamic Range color grading and display in Frostbite
PDF
Advanced Scenegraph Rendering Pipeline
Moving Frostbite to Physically Based Rendering
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Siggraph2016 - The Devil is in the Details: idTech 666
Decima Engine: Visibility in Horizon Zero Dawn
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
High Dynamic Range color grading and display in Frostbite
Advanced Scenegraph Rendering Pipeline

What's hot (20)

PDF
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
PDF
The Next Generation of PhyreEngine
PPTX
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
PDF
Lighting Shading by John Hable
PDF
Game Creators Conference 2019 Keiji Kikuchi
PPT
Secrets of CryENGINE 3 Graphics Technology
PPSX
Advancements in-tiled-rendering
PDF
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
PPT
A Bit More Deferred Cry Engine3
PDF
UE4でTranslucencyやUnlitに影を落としたい!
PDF
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
PDF
Rendering Techniques in Rise of the Tomb Raider
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016
PDF
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
PDF
SPU Shaders
PDF
Checkerboard Rendering in Dark Souls: Remastered by QLOC
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
PDF
Volumetric Lighting for Many Lights in Lords of the Fallen
PDF
GLSLによるシェーダーアートことはじめ
PPTX
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
The Next Generation of PhyreEngine
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
Lighting Shading by John Hable
Game Creators Conference 2019 Keiji Kikuchi
Secrets of CryENGINE 3 Graphics Technology
Advancements in-tiled-rendering
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
A Bit More Deferred Cry Engine3
UE4でTranslucencyやUnlitに影を落としたい!
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
Rendering Techniques in Rise of the Tomb Raider
Optimizing the Graphics Pipeline with Compute, GDC 2016
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
SPU Shaders
Checkerboard Rendering in Dark Souls: Remastered by QLOC
Rendering Technologies from Crysis 3 (GDC 2013)
Volumetric Lighting for Many Lights in Lords of the Fallen
GLSLによるシェーダーアートことはじめ
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
Ad

Similar to Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019 (20)

PDF
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
PDF
Introduction to Unity by Purdue university
PDF
【Unite Tokyo 2019】Unity映像制作パイプライン完全マスター
PDF
Refresh what you know about AssetDatabase.Refresh()- Unite Copenhagen 2019
PDF
Mobile AR Lecture6 - Introduction to Unity 3D
PPTX
Speed up your asset imports for big projects - Unite Copenhagen 2019
PPTX
Introduction to Unity
PDF
The Basics of Unity - The Game Engine
PDF
Developing VR Experiences with Unity
PPTX
PPTX
Game Project / Working with Unity
PPTX
Polybot Onboarding Process
PDF
Unity: Introduction
PPT
Maya To Unity3D
PPTX
unity gaming programing basics for students ppt
PPTX
Workingwithunity 110519054824-phpapp01
PDF
[UniteKorea2013] Art tips and tricks
PDF
Unit III-Material_Setting up Assests.pdf
PPTX
Creating great Unity games for Windows 10 - Part 1
PDF
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
Introduction to Unity by Purdue university
【Unite Tokyo 2019】Unity映像制作パイプライン完全マスター
Refresh what you know about AssetDatabase.Refresh()- Unite Copenhagen 2019
Mobile AR Lecture6 - Introduction to Unity 3D
Speed up your asset imports for big projects - Unite Copenhagen 2019
Introduction to Unity
The Basics of Unity - The Game Engine
Developing VR Experiences with Unity
Game Project / Working with Unity
Polybot Onboarding Process
Unity: Introduction
Maya To Unity3D
unity gaming programing basics for students ppt
Workingwithunity 110519054824-phpapp01
[UniteKorea2013] Art tips and tricks
Unit III-Material_Setting up Assests.pdf
Creating great Unity games for Windows 10 - Part 1
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
Ad

More from Unity Technologies (20)

PDF
Build Immersive Worlds in Virtual Reality
PDF
Augmenting reality: Bring digital objects into the real world
PDF
Let’s get real: An introduction to AR, VR, MR, XR and more
PDF
Using synthetic data for computer vision model training
PDF
The Tipping Point: How Virtual Experiences Are Transforming Global Industries
PDF
Unity Roadmap 2020: Live games
PDF
Unity Roadmap 2020: Core Engine & Creator Tools
PDF
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
PPTX
Unity XR platform has a new architecture – Unite Copenhagen 2019
PDF
Turn Revit Models into real-time 3D experiences
PDF
How Daimler uses mobile mixed realities for training and sales - Unite Copenh...
PDF
How Volvo embraced real-time 3D and shook up the auto industry- Unite Copenha...
PDF
QA your code: The new Unity Test Framework – Unite Copenhagen 2019
PDF
Engineering.com webinar: Real-time 3D and digital twins: The power of a virtu...
PDF
Supplying scalable VR training applications with Innoactive - Unite Copenhage...
PDF
XR and real-time 3D in automotive digital marketing strategies | Visionaries ...
PDF
Creating next-gen VR and MR experiences using Varjo VR-1 and XR-1 - Unite Cop...
PDF
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
PDF
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
PDF
Digital twins: the power of a virtual visual copy - Unite Copenhagen 2019
Build Immersive Worlds in Virtual Reality
Augmenting reality: Bring digital objects into the real world
Let’s get real: An introduction to AR, VR, MR, XR and more
Using synthetic data for computer vision model training
The Tipping Point: How Virtual Experiences Are Transforming Global Industries
Unity Roadmap 2020: Live games
Unity Roadmap 2020: Core Engine & Creator Tools
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
Unity XR platform has a new architecture – Unite Copenhagen 2019
Turn Revit Models into real-time 3D experiences
How Daimler uses mobile mixed realities for training and sales - Unite Copenh...
How Volvo embraced real-time 3D and shook up the auto industry- Unite Copenha...
QA your code: The new Unity Test Framework – Unite Copenhagen 2019
Engineering.com webinar: Real-time 3D and digital twins: The power of a virtu...
Supplying scalable VR training applications with Innoactive - Unite Copenhage...
XR and real-time 3D in automotive digital marketing strategies | Visionaries ...
Creating next-gen VR and MR experiences using Varjo VR-1 and XR-1 - Unite Cop...
What's ahead for film and animation with Unity 2020 - Unite Copenhagen 2019
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
Digital twins: the power of a virtual visual copy - Unite Copenhagen 2019

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Modernizing your data center with Dell and AMD
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The AUB Centre for AI in Media Proposal.docx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Modernizing your data center with Dell and AMD
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology

Unity asset workflows for Film and Animation pipelines - Unite Copenhagen 2019

  • 2. Unity Asset Workflows for Film and Animation Pipelines Chris Redmann Unity Technologies
  • 3. What should I get out of this? 3 1. How can I get data from my production pipeline into Unity? 2. What can I do with it, once it is in Unity? 3. How can I get my data back out from Unity, and into my pipeline?
  • 4. Who is this talked geared for? 4 — Likely familiar with production pipelines, but new to Unity — Familiar with Unity, but new to using Film workflows — Interested in learning about how to leverage Unity in your production pipeline
  • 5. Production Pipelines 6 Story Art Editorial Modeling Rigging Surfacing Layout Animation Crowds Character FX FX LightingMatte Painting Compositing
  • 6. Where does Unity fit in the production pipeline? 8 — Unity is a general real-time engine — Allow ingestion of industry standard formats — Export of assets – Same format – Other methods for consumption in the pipeline
  • 7. What are the industry standard formats? 9
  • 8. What are the industry standard formats? 10
  • 9. Requirements 11 — Unity 2019.3.0b4 — Packages — USD (preview.1-1.0.1) — Alembic (1.0.6) — High Definition RP (7.0.1) — Unity Recorder (preview.1-2.0.3) — Unity AOV Recorder (preview.3-0.1.0)
  • 10. What do we need to get started? 12
  • 11. How do I get data into Unity? 13 — Cover some basic export settings — Common DCC Tools — Maya — Houdini
  • 12. Starting with Alembic 14 — What is supported? — IPolyMesh — IPoints — ICamera — IFaceSet — IXform — ISubD is not – Not for transferring workflow data
  • 13. Houdini Alembic Output 15 — Primitive Groups — Save Non-Empty Groups as Face Sets — Submesh output — Point Export – POP objects – SOP Points — Attributes – Point – Vertex
  • 14. Maya Alembic Output 16 — Shading groups as submeshes — Enable Write Face Sets — Multiple UV sets – Enable UV Write – Enable Write UV Sets — Vertex Color – Enable Write Color Sets — Write Normals
  • 15. Starting with USD 17 — What is supported? — UsdGeomMesh — UsdGeomPointInstancer — UsdGeomCamera — UsdSkel — As name implies, scene description format – More supported scene entities than Alembic – Rigs can be handled via UsdSkel – PreviewSurface – Basic Material
  • 16. Houdini USD Output 18 — The Prefix will be set as the root in the Unity Prefab or GameObject — For animated sequences, use one file — Use the usdprimpath primitive attribute for GameObject naming — Attributes – st/uv – Cd – N
  • 17. Maya USD Output 19 — pxrUsdExport — Export UVs — map1 — Export displayColor primvar — UsdSkel – Export Skeletons – Export Skin Clusters — Default Mesh Scheme
  • 18. Now I have data from my pipeline, how do I get it into Unity? 20
  • 19. Start with Alembic import 21 — Import like any other asset — Creates a Prefab — Entire Xform hierarchy recreated
  • 20. Alembic caveats 22 — Copied into project — Reimport on external Asset change — No material support – Alembic Material Mapper (Film TV toolbox package) – Requires simultaneous export of FBX, but could alleviate initial asset pain
  • 21. Alembic Components 23 — Alembic Stream Player — Alembic Points Cloud — Alembic Points Renderer — Alembic Exporter
  • 22. The time parameter can be used to set a specific point in the cache Alembic Stream Player 24 Offsetting this adjusts the point in time, but will not drive the animation
  • 24. USD Import 26 — USD Menu – Import as GameObjects – Import as Prefab – Import as Timeline Clip
  • 25. USD Import 27 — UsdSkel – Quality Settings Skin Weights — Import settings – Composition arcs – UV data — USD Components — Not copied into the Project — Can also import Alembic
  • 26. USD Asset - Simple 28 — Rebuilding and Refreshing — USD Root Path — Payload Policy — Materials
  • 27. USD Asset - Advanced 29 — Material Options — Mesh Options – St — Generate Lightmap Uvs — Material Import Mode – Import Display Color – Import Preview Surface
  • 28. USD Inspector 30 — primvars from USD — Not all are in every file
  • 29. USD Inspector – Console Output 31
  • 30. C# Scripting 32 string usdFile = System.IO.Path.Combine(UnityEngine.Application.dataPath, "sceneFile.usda"); // Populate Values. var value = new MyCustomData(); value.aString = "IT'S ALIIIIIIIIIIIIIVE!"; value.anArrayOfInts = new int[] { 1, 2, 3, 4 }; value.aBoundingBox = new UnityEngine.Bounds(); // Writing the value. var scene = Scene.Create(usdFile); scene.Time = 1.0; scene.Write("/someValue", value); Debug.Log(scene.Stage.GetRootLayer().ExportToString()); scene.Save(); scene.Close(); // Reading the value. Debug.Log(usdFile); value = new MyCustomData(); scene = Scene.Open(usdFile); scene.Time = 1.0; scene.Read("/someValue", value); Debug.LogFormat("Value: string={0}, ints={1}, bbox={2}", value.aString, value.anArrayOfInts, value.aBoundingBox); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
  • 36. How do we play back our data? 38
  • 37. After instantiating a Prefab, create a Timeline and Playable Director Alembic Timeline Workflow 39 On the newly created Timeline, drop an instantiated Prefab onto an Alembic Track
  • 39. Create an Animator and an Animation Clip Alembic Unity Animation Workflow 41 Add the Current Time Property to the Animation Window
  • 41. Why choose one over other? 43 — Depends on pipeline — Alembic is more straightforward, as it works like any other imported asset — USD is more flexible – Also adds additional complexity
  • 42. We have our data in Unity, but what are some possible uses? 44
  • 43. Look Development 45 — High Definition Render Pipeline – Physically Based – Area lights – Disney Diffuse / GGX specular – Support of DXR for ray-traced effects
  • 48. Now, how do we get data back out? 50
  • 49. Geometry export 51 — Alembic – Alembic Exporter Component — Supported Types — Static and Animated Meshes — Skinned Meshes — Particles — Cameras
  • 50. Geometry export 52 — USD – Export Selected – Export Overrides – Export as USDZ – Usd Recorder Track
  • 53. USD Recorder 55 — Usd Recorder Track — Usd Recorder Clip — Game Object Hierarchy
  • 58. 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 over "column_prefab" ( prepend references = @.Unite_CPHcolumn.usda@</World> ) { matrix4d xformOp:transform.timeSamples = { 0: ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ), } uniform token[] xformOpOrder = ["xformOp:transform"] over "Materials" { } over "column" { float3[] extent.timeSamples = { 0: [(-0.5727719, -1.5, -0.49923185), (0.5727719, 11.14996, 0.49945638)], } matrix4d xformOp:transform.timeSamples = { 0: ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 12, 1) ), } uniform token[] xformOpOrder = ["xformOp:transform"] } USD Overrides
  • 69. Where can you go from here? 71
  • 70. Conclusion 73 — Use the tools, provide feedback! — Production pipelines can vary wildly, tools need to be extensible — GitHub – https://github.com/Unity-Technologies/usd-unity-sdk – https://github.com/unity3d-jp/AlembicForUnity