GenerativeArt—MadewithUnity
Super-Charging Your Pipeline
Ron Martin
Strategic Development Manager
M&E, Unity
GenerativeArt—MadewithUnity
Pipeline
PRODUCTION
PIPELINE
Python
4
Pipeline
DCCs
FBX/USD/Alembic
PRODUCTION
PIPELINE
Video Editing /
Storyboard
OpenTimelineIO
Python
Shotgun integration
(private alpha)
5
Architecture
6
PythonShotgun Shotgun toolkit
Python for Unity
Shotgun for Unity
Architecture
Interface between Shotgun and Unity:
● Python to access Shotgun
● Launch tk-apps from C# menus, using a Python helper class
● C# or Python to call into Unity from toolkit
7
Features
Launching Unity
8
Loading Assets (tk-multi-loader2)
9
Updating Assets (tk-multi-breakdown)
10
Publishing Versions with Unity Recorder
integration (tk-multi-publish2)
11
Work Area Info (tk-multi-about)
12
Task Management (tk-multi-shotgunpanel)
13
Rapid Prototyping (tk-multi-pythonconsole)
14
post_init_hook
Useful callback to start populating the Unity Editor
15
16
Workflows
17
Seamless experience for artists between DCCs and Unity
DCC (e.g.: Maya, 3dsMax, Mobu, ...)
Open Unity from a Shotgun task
18
Jump to the right frame in Unity from a Note
19
Add Notes from Unity into Shotgun
20
Publish Video Recordings from Unity to
Shotgun
21
22
Levels of
integration
Default Config
23
— Up-to-date with tk-config-default2: latest fixes and features from the Shotgun team
— Simply add tk-config-unity as a pipeline configuration
tk-config-unity
PythonShotgun Shotgun toolkit
Python for Unity
Shotgun for Unity
Custom Shotgun Config
24
— Add the tk-unity engine to your own config
— tk-unity follows standards and is easy to integrate
— Integration steps are documented in the Shotgun for Unity package docs
custom config
PythonShotgun Shotgun toolkit
Python for Unity
Shotgun for Unity
— Simply use the Python for Unity package
Shotgun API
25
PythonShotgun Shotgun API
Python for Unity
Custom Shotgun For
Unity
26
27
Roadmap
Roadmap
28
— Public release 2019.3
2020 TBD:
— Integration with source control (sample)
— Publish from Unity (Camera, Set,... as USD, FBX, Alembic)
— Publish validation (check that only the right assets have been published)
— Turntable sample in Unity
29
Install
Private Alpha
30
Install
Python Interpreter
(2.7)
Python package
com.unity.scripting.python
Shotgunpackage
com.unity.integrations.shotgun
tk-config-unity
1. 2. 3. 4.
Unity Package
manager
31
Extending the Pipeline
MeshSync
(polygon meshes,
blendshapes, light,
cameras, bones)
DCCs
(Maya, Max, Blender,
Houdini, Motion Builder,
Substance, Photoshop,…)
FBX/USD/Alembic
roundtrip
(Mesh, Material, Stingray/Interactive
PBR material, Camera, Animation,
Custom attributes, Lights)
PRODUCTION
PIPELINE
PythonPython
32
Extensibility
of
Timeline
33
Assembling and rendering Shots with Timeline
A Recorder track in Timeline renders a sequential image for film
Storyboard to blockout or layout in Unity
34
Rough Storyboard
Blocking out / Grey boxing in UnityStoryboard (eg: Toonboom Storyboard Pro)
Layout or mocap in Unity
OpenTimelineIO:
Eg: Import from Toonboom
Storyboard Pro to Unity
Unity to Animatic
35
Moodboard
Rough Storyboard
OpenTimelineIO:
Eg: Export from Unity to
Adobe Premiere
AnimaticBlock and first editorial
exploration directly in Unity
(eg: with Mocap)
Iterate
36
Storyboard, Editorial
Set (Concept art, block out, final, lighting)
Character (Concept, Model, Rig, Pose, Mocap,
Anim)
OpenTimelineIO
OpenTimelineIO
Iterate on storyboard (eg: animation), editorial,
photography, set design,...
...
Unity to Production management
37
Populate to and from Unity, Auto-Dailies, update edits...
OpenTimelineIO
Eg: Export shots + CSV
Export videos
...
Production
Management
Unity
timeline
Unity recorder
Example of Editorial Pipeline in Unity
38
Sequence01 Sequence02
Shot10 Shot20 Shot30 Shot40
MEDIA01
Video
Snapshot
Real-time
Video Take03
Video Take02
Video Take01
Shot50EDITORIAL
Photography
REAL-TIME
MEDIA
Actors
Set, FX, Crowd,...
Actor1
Actor2, ...
Camera Anim
Dolly, crane,...
ACTOR1
PHOTOGRAPHY
ACTORS
Body Animation
Facial Animation
Cloth cache,...
BakedReal-time
39
Features
Features
40
— Storyboard to Editorial: Edits wherever it makes sense
— Timeline Integration: MetaData, Markers, MediaLinker & Gaps
— Scripted Importer; native asset type
— Rendering Shot Media via Unity Recorder
— Import/Export To OTIO, EDL, XML and others…
— Customizable using Python and C#
Add video here
41
— We’re building a roadmap, come and see us...
– Multi-takes
– Audio Edit
– Transitions
– Linking Shots to Real-Time Media
– More publish...conform..repeat...
– More editorial tools…
Future work...
42
GenerativeArt—MadewithUnity
USD for Unity.
44
Pipeline
MeshSync
(polygon mesh, blenshapes,
light, Camera, bones)
DCCs
USD/FBX/Alembic
(import/export)
PRODUCTION
PIPELINE
Python
...
Video Editing /
Storyboard
OpenTimelineIO
+ USD?
45
USD SDK
USD for Unity
Import and export USD
USD API accessible from C#
Architecture
46
Install
Import & Export Components
Simple Import/Export Menu
Import as Prefab: Lightweight USD-Prefab “Hooks”
USD Preview Surface Export
Standard, HD Render Pipeline, & Custom Shader Support
UsdSkel Export
Vertex Skinning Rigs & Animation from Unity to USD
USD Preview Surface Import
Textures, Vertex Color, & Shader Parameters
Preview Surface Display Color
UsdSkel & Vertex Streaming
4-Bone skinning in 2018.x
255 Bones in 2019.1
Rig + Skeletal animation
Baked vertex cache
Timeline Integration
USD Recorder Track
C# Job System
Integration
Camera Import & Export
usdview Unity
USD Data Inspector
Access to large USD data, “out-of-core”
Composition
Initial Prototypes
Payload Support
Variant Selection
Filter By Variant Set
Parallel Unity Scene Editing
USD layered / department-based workflow prototype
Automatic Lightmap
UV Unwrapping
usdview
Unity w/Minimal Shading
Lighting & shading by Laurent Harduin
HD Render Pipeline (HDRP)
88
Roadmap
89
Conclusion
90
Python and Shotgun enhances productivity.
Editorial wherever it makes sense.
USD Provides flexibility and collaboration
GenerativeArt—MadewithUnity
Thank You
GenerativeArt—MadewithUnity

【Unite Tokyo 2019】Unity映像制作パイプライン完全マスター