You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/SceneLoggingExample
AMZN-nggieber 4721ef8298
License Info is Displayed as Clickable Link in Gem Catalog + Other Inspector Improvements (#5272)
Signed-off-by: nggieber <nggieber@amazon.com>
4 years ago
..
Code Gems/SceneLoggingExample 4 years ago
CMakeLists.txt Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ReadMe.txt FBX -> Scene, part 2. Code changes, file renames (#1704) 5 years ago
gem.json License Info is Displayed as Clickable Link in Gem Catalog + Other Inspector Improvements (#5272) 4 years ago
preview.png Initial commit 5 years ago

ReadMe.txt

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 SceneBuilder 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)