Title: Gamebryo Art Pipeline
1Gamebryo Art Pipeline
- Overview of the art pipeline
2Objectives
- Present an overview of the entire art pipeline
- Review of
- The Gamebryo Max Plug-in
- The Gamebryo Tool Plug-in Framework
- Pipeline Automation
3Overview of the art pipeline
- Pipeline Input
- 3D models and animations created in Max (or Maya)
- Pipeline Output
- Files that are compatible with Gamebryo
- .NIF Art (models, textures, etc)
- .KF Animation key frame data
- .KFM Animation blending data
- .GSA Scene Designer XML file
4Art pipeline
- Take Max or Maya files (Photoshop files)
- Run scripts to convert Max scene into Gamebryo
scenegraph - Plugins optimise and analyse scenegraph
- Exported to nif format or iteratively viewed
(Target viewer) - Nif to game or scene designer
- nif file with kf/kfm formats (typically
characters) can go to animation tool - Keep source files (e.g. max and maya, hard to
change nif files)
5The Gamebryo Max Plug-in
- The plug-in consists several parts
- Exporter
- MaxScript Utilities
- Texture Conversion Custom Attributes
- Gamebryo Cross-Platform Material
- Gamebryo Shader
6The Gamebryo Max Plug-in
- Exporter
- Converts Max scene graph to Gamebryo scene graph
- Starting point for launching the Gamebryo Tool
Plug-in Framework - The Tool Plug-in Framework is responsible for
modifying scene graph (optimizing or adding
information) and saving scene to NIF file
7Gamebryo Tool Plug-in Framework
- There are four main types of plug-ins
- Process Plug-ins Manipulate the data in the
pipeline in some fashion (E.g., optimize) - Import Plug-ins Open an existing file and bring
its contents into the art pipeline. - Export Plug-ins Write scene graph to one or more
files - Viewer Plug-ins Display the scene
8Gamebryo Tool Plug-in Framework Exporter dialogue
- Select cameras and lights. Choice of exporting
cameras and lights in a scene or - not e.g. character
- Include textures inside nif or as an external.
Makes it flexible to edit later. E.g. - export textures as nifs, then change.
- Script selection, decides whether to run scripts
(process) and plugins to do stuff - Choice of embedding animations into nif file or
extracts animations into kf files
9Gamebryo Tool Plug-in Framework
10Processing Plug-ins Animation Analyzer
11Processing Plug-ins Asset Analyzer
12Processing Plug-ins Controller Extractor
13Processing Plug-ins Create ABV
14Processing Plug-ins PhysX Cleaner
- The Gamebryo export process automatically finds
this Ageia PhysX content and adds it as extra
data in the scene graph. - This plug-in removes this extra data.
- Use this plug-in if you are using PhysX but not
using Gamebryo-PhysX or do not want the PhysX
content in nodes.
15Processing Plug-ins
- Remove Hidden Objects
- This plug-in will delete AppCulled objects from
the scene graph. - Typically this would be used during character
export form Max where you want to delete the
unused bone geometry.
16Processing Plug-ins
- Save Source Texture Renderer Data
- Performs platform-specific texture format
conversions at export time - Improves "high water mark" behavior for texture
memory at load time - Improves load time performance
- Texture is configured specifically for a target
platform (and/or graphics card)
17Processing Plug-ins Scene Graph Optimization
18Processing Plug-ins Skin Analyzer
19Processing Plug-ins Stripify Geometry
20Processing Plug-ins Texture Analyzer
21Export Plug-ins
- NIF Exporter
- Save the scene graph out to a NIF file
- Multi-NIF Exporter
- Can save parts of the scene graph as individual
NIF files - Used to streamline the art creation process
- Typical use prop creation
22Pipeline Automation
- Command Line Operation
- Automation starts with being able to run tools
non-interactively - Both exporters and tool plug-ins support a silent
option - Max can be run from command line specifying a
script to execute - Gamebryo Max Plug-in ships with sample batch
export script - The Asset Analyzer plug-in can be used to ensure
assets created by multiple artists adheres to
studio-specified criteria.
23Pipeline Automation
- Batch export from Max
- Can silently export directories of models to
Gamebryo NIFs - Example batch export script included with
Gamebryo Max plug-in
24Pipeline Automation
- Gamebryo Tool Plug-in Batch Tool
ToolPluginBatch.exe - Example Uses
- Conversion of non-Gamebryo files to NIF (E.g.,
OpenFlight) - Optimization of existing NIF files (E.g.,
post-export stripification) - Conversion of legacy NIF files to the current NIF
version - Verification/profiling of existing NIF files
(E.g., printing statistics)
25Pipeline Automation
- Remember NIFs are immutable
- NIFs are considered to be immutable by the rest
of the Gamebryo art pipeline - Downstream data changes cannot be reliably
reproduced unless the change exists in the source
(E.g., Max or Maya)
26Review
- The Gamebryo Art Pipeline is largely composed of
- The Gamebryo Max Plug-in
- The Gamebryo Tool Plug-in Framework
27Review
- The purpose of the Gamebryo Art Pipeline is to
- Convert art tool models into Gamebryo assets
- Provide a consistent mechanism for individual
artists and studios - Allow art assets to be tuned and configured for
the Gamebryo rendering engine
28Gamebryo Art Pipeline
- Overview of the art pipeline