Skip to content

Latest commit

 

History

History
148 lines (105 loc) · 14 KB

assetpipeline-scenepipeline-workflow-tests.md

File metadata and controls

148 lines (105 loc) · 14 KB

Scene Pipeline Workflow Tests:

Testing in this area focuses on the functionality of:

  • Scene Processing Pipeline
    • Scene API
      • Scene Graph
      • Scene Builder
      • User Defined Properties
    • Scene Settings Files (Scene Manifest)
    • Scene Settings Tool

Common Issues to Watch For:

Test guidance will sometimes note specific issues to watch for. The common issues below should be watched for through all testing, even if unrelated to the current workflow being tested.

  1. Console log errors/warnings/spam
  2. Asserts
  3. Improperly rendered or assembled scenes
  4. HotReloading issues

Common Terms:

Base Resources:
Scene Processing Pipeline:

Feature: Scene Settings Tool

Project Requirements: Source scene assets with meshes, actors, physx, and other supported settings properties.

Resources:
Scene Settings
3D Scene Format Support
Scene Settings Interface

Area: Process, Modify, and Load Scene Assets

Product: Successfully processed scene assets can be added to a level and rendered.

Suggested Time Box: 90 Minutes

Workflow Requests Things to Watch For
Launch the Editor
  1. Editor and Asset Processor open.
  2. Asset Processor processes scene files without failing.
  • Should not experience excessive job analysis scanning.
  • Should not experience excessive processing time for files.
  • Should not encounter asset processor errors.
  • Asset Processor should successfully process source files into the cache as product files.
Open Asset Browser from processed scene asset in Asset Processor
  1. Asset Browser panel opens within Editor.
  • Should not report any console errors.
Search for scene assets and open the scene settings tool
  1. Right-click context menu.
  2. Double click.
  3. Use various scene assets with different combinations of meshes, actors, PhysX, and other supported scene settings properties.
  • Should not report any console errors.
  • Scene Settings properties should load correctly.
  • File progress processing report should display correctly.
Change Settings Properties
  1. Modify mesh properties.
  2. Modify actor properties.
  3. Modify PhysX properties.
  • Should not report any console errors.
  • Should not encounter any asset processing errors.
Create a new level and add a scene to the level
  1. Drag & drop into editor viewport from Asset Browser.
  2. Adding to an entity component.
  • Scene should load in correctly.
  • Scene should render correctly.
Enter Game Mode
  1. Enter Game Mode in Editor (for example Ctrl + G).
  • Scene should load in correctly.
  • Scene should render correctly.
  • Any scene behaviors should render correctly.

Area: Loading and Viewing Characters, Motions, and Morph Targets

Product: Successfully processed scene assets can be added to a level and rendered.

Suggested Time Box: 60 Minutes

Workflow Requests Things to Watch For
Open a character in Animation Editor
  1. Can be done without an open level.
  2. Scene has a skinned mesh, actor, motion, and morph target animation
  • Should not report any console errors.
  • Character should renders correctly.
Open up Animation layout
  1. Go to Layout > Animation.
  • Should not report any console errors.
Load and Play a motion
  1. Can also load multiple motions with shift clicking.
    Should not report any console errors.
  • Motion should load correct.
  • Model should render correctly.
  • Motion should play correctly.
Open up the Character layout
  1. Go to Layout > Character.
  • Should not report any console errors.
Select the the morph targets
  1. Single Morph.
  2. Multiple morphs.
  • Model should render correctly.
Adjust the morph targets
  1. Move the sliders for the selected morph targets.
  • Morph should render correctly.
  • Model should render correctly.

Area: Scene Manifest

Description: Testing in this Area will focus on .fbx files, its manifest and processing them trough Asset Processor..

Project Requirements:

  • An .fbx file that is not added to the project and has no settings file (.fbxassetinfo file).
  • Python Asset Builder gem enabled in the project.

Platforms:

  • Windows
  • Linux

Product: Assets that can be used in the Editor and be configured via its manifest.

Suggested Time Box: 60 Minutes

Workflow Requests Things to Watch For
Using assets that do not have scene manifest
  1. Import an .fbx file to the project.
  2. Find imported asset in the Asset Browser.
  3. Drag it into the Viewport.
  4. In the Asset Browser, click RMB on the imported fbx and select Edit Scene Settings from dropdown menu.
  • Asset is imported to the project.
  • User is able to create entity that uses the imported asset.
  • Asset can be opened in Scene Settings.
  • Scene Settings shows correct information.
  • Asset Processor process .fbx file without issues and does not fail any job while working with the .fbx file.
  • Opening the asset in Scene Settings does not create its .fbxassetinfo file.
  • O3DE uses default settings written in the DCC tool used to create the asset.
Creating scene manifest
  1. In the Asset Browser, find an .fbx file that does not have scene manifest.
  2. Click RMB on it and select Edit Scene Settings from dropdown menu.
  3. Edit the fbx, e.g. add modifier.
  4. Save changes.
  • Asset can be opened in Scene Settings.
  • Asset can be modified in Scene Settings.
  • Saving modifications does not fail in Asset Processor and Scene Settings.
  • Scene manifest (.fbxassetinfo file) is created after modifying the fbx file in Scene Settings.
Changing scene manifest in Scene Settings
  1. Open in Scene Settings an fbx that have its own manifest.
  2. Add a new Mesh group.
  3. Change the name of the created mesh group.
  4. Save changes.
  5. Create a new mesh entity in the Viewport.
  6. As a mesh assign a newly created mesh model.
  • Asset can be opened in Scene Settings.
  • Asset can be modified in Scene Settings.
  • Saving modifications does not fail in Asset Processor and Scene Settings.
  • Changes made in Scene Settings are applied in asset and can be used in the scene.
Changing scene manifest manually
  1. Open in Scene Settings an fbx that have its own manifest.
  2. Add Comment modifier.
  3. Write any comment in the comment box, e.g. "Test123".
  4. Save Changes and close the Scene Settings.
  5. Find the .fbxassetinfo file under project's root.
  6. Open the file in text editor.
  7. Find comment you created.
    • Easy way to find it is via Search function.
  8. Change the comment, e.g. "Test123" to "Test124".
  9. Open the fbx in the Scene Settings again.
  • Asset can be opened in Scene Settings.
  • Asset can be modified in Scene Settings.
  • Saving modifications does not fail in Asset Processor and Scene Settings.
  • Changing the scene manifest results in Asset Processor reprocessing the asset.
Deleting scene manifest
  1. Open in Scene Settings an fbx that have its own manifest.
  2. Add a new Mesh group.
  3. Change the name of the created mesh group.
  4. Save changes and close the Scene Settings.
  5. Verify that new mesh model was created
  6. Find the .fbxassetinfo file under project's root.
  7. Delete it.
  8. Open the fbx in the Scene Settings again.
  • Asset can be opened in Scene Settings.
  • Asset can be modified in Scene Settings.
  • Saving modifications does not fail in Asset Processor and Scene Settings.
  • Deleting the manifest results in Asset Processor reprocessing the asset.
  • After deleting the scene manifest, asset uses the default settings written in the DCC tool used to create the asset.
Using python scripts
  1. In the Asset Browser find the geom_group.fbx.
  2. Open it in Scene Settings.
  3. Go to File > Reset setting to default.
  4. Make chnges to the fbx, e.g. create a comment using Comment modifier.
  5. Save changes.
  6. Go to File > Assign script.
  7. Select python script to overrite scene manifest.
    • You can find scripts under Project\Gem\PythonTests\PythonAssetBuilder.
  • Assets and files provided in gems are available in the project.
  • Asset can be opened in Scene Settings.
  • Settings of the fbx can be resetted to default.
  • Asset can be modified in Scene Settings.
  • Python script can be assign to the fbx.
  • Settings of the fbx are overwritten by python script.
  • Modifying the fbx results in Asset Processor and Scene Settings to reprocess the file successfully.
  • Editor remains stable.

Area: User Defined Properties

Project Requirements:

  • An asset to be used with a User Defined Property (UDP). For example a material created in the Material Editor and saved to the <project>/Assets/ folder. This can be a simple Standard PBR material with Base Color > Color changed to 0,255,0 for easy recognition.
  • An .fbx asset with a UDP prepared in the DCC tool. For example in Blender this could be a Cube with no material assigned, Object Properties > Custom Properties set to o3de_default_material with value assets/materialname.azmaterial (if the material's path is <project>/Assets/MaterialName.material) and exported with the Include > Custom Properties enabled.

Platforms:

  • Windows
  • Linux

Product: An asset imported from a DCC tool utilizing a material from the project specified in the UDP.

Suggested Time Box: 20 Minutes

Workflow Requests Things to Watch For
Verify that the Editor utilizes UDPs
  1. Verify that the custom material mentioned in the Project Requirements section is processed by the Asset Processor.
  2. Verify that the custom .fbx asset with UDP mentioned in the Project Requirements section is processed by the Asset Processor.
  3. Find the custom .fbx asset in the Asset Browser, then drag and drop it into the Viewport.
  • Custom material can be created in the Material Editor and is properly processed by the Asset Processor.
  • Custom .fbx is properly processed by the Asset Processor.
  • Custom .fbx uses the custom material after being dragged and dropped into the Viewport with no further adjustments.

Area: Soft Naming

Project Requirements:

  • An .fbx asset with meshes utilizing soft naming prepared in the DCC tool. For example in Blender this could be two Cube meshes side by side named Cube_lod0 and Cube_lod1 respectively in the Scene Collection > Collection.

Platforms:

  • Windows
  • Linux

Product: An asset imported from a DCC tool automatically adjusting LODs in the Editor due to mesh soft naming in that DCC tool.

Suggested Time Box: 20 Minutes

Workflow Requests Things to Watch For
Verify that the custom asset is processed
  1. Verify that the custom .fbx asset with _lod mesh soft name suffixes mentioned in the Project Requirements section is processed by the Asset Processor.
  • Custom .fbx is properly processed by the Asset Processor.
Verify that the soft name suffixes are utilized in the Editor
  1. Create an entity and add a Mesh component to it.
  2. Assign the custom .fbx to the Mesh component's Model Asset property.
  3. With the Mesh entity in view, move the camera close to it and move the camera away from it.
  • An entity with Mesh component can be created.
  • Custom .fbx can be assigned to the Model Asset property.
  • If the custom .fbx is setup as described in the Project Requirements section, only one cube out of two should be visible simultaneously - one when the camera is close to the Mesh entity and one when the camera is far from the Mesh entity.