Files
o3de/Gems/SceneLoggingExample
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
..
2021-03-25 13:57:57 -07:00
2021-03-08 14:30:57 -08:00

The Scene Logging Example demonstrates how to extend the SceneAPI by adding additional logging to the pipeline. The SceneAPI is 
a collection of libraries that handle loading scene files and converting content to data that the Open 3D Engine and its editor can load. 

The following approach is used:
    1. The FbxSceneBuilder and SceneData load and convert the scene file (for example, .fbx) into a graph that is stored in memory. 
    2. SceneCore and SceneData are used to create a manifest with instructions about how to export the file. 
    3. SceneData analyzes the manifest and memory graph and creates defaults.
    4. Scene Settings allows updates to the manifest through a UI.
    5. The ResourceCompilerScene uses the instructions from the manifest and the data in the graph to create assets. These assets are ready for Open 3D Engine to use.

The example gem demonstrates the following key features:
    - Initialization of the SceneAPI libraries.
        (See SceneLoggingExampleModule.cpp)
    - Adding a LoadingComponent to hook into the scene loading and react to loading events.
        (See Processing/LoadingTrackingProcessor)
    - Extension of the Scene Settings UI and ability to set defaults using the BehaviorComponent.
        (See Groups/LoggingGroup and Behaviors/LoggingGroupBehavior)
    - Adding an ExportingComponent to hook into the scene converting and exporting events.
        (See Behaviors/ExportTrackingProcessor)