Maya pipeline: Scene Assembly, Assets and referencing
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hey,
Story
We've been using referencing in a reliable manner for a couple of years but are in the need for a step up, specifically regarding scene layout and animation scenes.
Our pipeline separates an asset's geometry from its shader allowing us to have the same tree hundreds of times where each have a shader variation. As such it is the exact same asset, yet only with a different shader assigned. This is something we've been using succesfully and has been applauded by the team. This way it also allows us to develop multiple shaders for a geometry whilst modeler/lookdev artist work on the asset at the same time, because the extracted data at the end (geo vs shader+texture) is separated as a step in the pipeline.
So far we've been rebuilding render scenes after animation based on Alembics and other cache format and then dynamically loading the shader variations through our own proprietary asset management. (As such a piece of geometry is separated from its shader)
Goal
What we're looking for now is a way to work in heavy scenery with lots of geometry and being able to still move around and play back in the scene without too much hiccups. And especially have good control over how this heavy scenery is represented.
- Switch between representations: low, proxy, locator, disabled or animatable solution.
- Switch between shader representations/variations: e.g. a red car and blue car would be nice to be differentiated in preview even if they are using the same "model" or "rig"
- Load the least amount of data to work. If I only want to see a "gpuCache" proxy don't load the high-res geometry on scene open. (As such hiding in the scene doesn't suffice)
Implementation
The Scene Assembly has been looking great for us since it had the ease of use of loading what the artist needs and have them be able to switch between representations so they can work optimally. This is great!
The only problem is that it doesn't allow us to take our "shader variation" idea along where the geometry doesn't contain it by itself and it is dynamically assigned (e.g. a red/blue representation) because scene assembly doesn't allow shader assignment.
Actually all we'd need is having the assets we make get referenced in into their own container (like the scene assembly root) and be able to switch around its contents (children) based on the choice of representation and support all reference edits onto that representation (like a regular reference). That way we can assign our shader variations with our tools, and also apply deformers or other cool stuff that's possible on references.
Is something like this possible? And what's the recommended workflow?