Asset Pipeline
Overview
This document is a work in progress. The goal is to define an asset pipeline and definitions that will streamline scene creation for VR training.
These are the distinct steps in the pipeline:
Asset Creation: 3D models, materials, textures, etc. Produced outside of Unity.
Reference Scene: A scene using the 3D models with lighting, etc. Used as a reference for the Configured Scene.
Configured Scene: A scene that uses the Reference Scene as a starting point with additional configuration to make assets interactable as required for the training.
Asset Bundles: A sub-step in this pipeline is to produce Asset Bundles that can be used by the Author to create the training.
These are the roles:
Artist: Produces 3D models and Reference Scene
Assembly: Produces Configured Scene and asset bundles
Dev Support: Additional programming and bug fixing on SDK
Author: Produces StoryFlow Scripts that meet training objectives
Unity Project Structure
A Motive Unity project should have the following structure:
Art - contains the source art for the app.
Scenes
<Reference Scene>.unity - fully lit scene using the models as a reference.
Prefabs
Unity-ready versions of all models
App - App-specific files and configurations
[App Name]
Scenes
<Configured Scene>.unity - fully configured and lit scene used for training. Connects to Motive and all required elements are interactive.
Props
Configured versions of Prefabs above. May be a Prefab Variant or an entirely new Prefab that use uses the base mesh. Wired up and tested with Motive components.
Animations/Materials/Textures/etc. as needed.
Motive - SDK submodule cloned from https://bitbucket.org/motive_io/motive-unity-sdk
Workflow
The goal of this workflow is to identify an optimal process that produces the fewest stalls in the pipeline. For example, an Author should not experience a setback because a configured Prop that had previously worked is no longer working.
Art
Asset Imports - Assets are imported into the Art folder. Optionally updates can be made to the reference scene.
Configure Reference Scene - Set up lighting, configuration, etc.
Create Prefabs - All elements in the Scene should be made into Prefabs so that changes can be propagated to the Configured Scene and Props where feasible.
Assembly
Configured Scene - at first, use a copy of the Reference Scene. For any Art Prefabs that require changes, make sure to create a Prop first so that incoming Art updates do not overwrite changes.
Add Motive Prefabs to connect the app to StoryFlow and Launch Server.
Configure Props to be interactable as required by training.
Determine which elements represent the base environment and which can be deployed via Asset Bundle. For bundled assets, deploy to StoryFlow.
Authoring
At first can be done in Unity. Author is free to make changes as required to Props and Configured Scene, but make sure to communicate with Assembly team. Changes are managed in Git.