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.
- Console log errors/warnings/spam
- Asserts
- Improperly rendered or assembled scenes
- 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 |
- Editor and Asset Processor open.
- 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 |
- Asset Browser panel opens within Editor.
|
- Should not report any console errors.
|
Search for scene assets and open the scene settings tool |
- Right-click context menu.
- Double click.
- 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 |
- Modify mesh properties.
- Modify actor properties.
- 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 |
- Drag & drop into editor viewport from Asset Browser.
- Adding to an entity component.
|
- Scene should load in correctly.
- Scene should render correctly.
|
Enter Game Mode |
- 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 |
- Can be done without an open level.
- 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 |
- Go to Layout > Animation.
|
- Should not report any console errors.
|
Load and Play a motion |
- 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 |
- Go to Layout > Character.
|
- Should not report any console errors.
|
Select the the morph targets |
- Single Morph.
- Multiple morphs.
|
- Model should render correctly.
|
Adjust the morph targets |
- 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:
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 |
- Import an .fbx file to the project.
- Find imported asset in the Asset Browser.
- Drag it into the Viewport.
- 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 |
- In the Asset Browser, find an .fbx file that does not have scene manifest.
- Click RMB on it and select Edit Scene Settings from dropdown menu.
- Edit the fbx, e.g. add modifier.
- 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 |
- Open in Scene Settings an fbx that have its own manifest.
- Add a new Mesh group.
- Change the name of the created mesh group.
- Save changes.
- Create a new mesh entity in the Viewport.
- 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 |
- Open in Scene Settings an fbx that have its own manifest.
- Add Comment modifier.
- Write any comment in the comment box, e.g. "Test123".
- Save Changes and close the Scene Settings.
- Find the
.fbxassetinfo file under project's root. - Open the file in text editor.
- Find comment you created.
- Easy way to find it is via Search function.
- Change the comment, e.g. "Test123" to "Test124".
- 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 |
- Open in Scene Settings an fbx that have its own manifest.
- Add a new Mesh group.
- Change the name of the created mesh group.
- Save changes and close the Scene Settings.
- Verify that new mesh model was created
- Find the
.fbxassetinfo file under project's root. - Delete it.
- 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 |
- In the Asset Browser find the
geom_group.fbx . - Open it in Scene Settings.
- Go to File > Reset setting to default.
- Make chnges to the fbx, e.g. create a comment using Comment modifier.
- Save changes.
Go to File > Assign script. 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:
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 |
- Verify that the custom material mentioned in the Project Requirements section is processed by the Asset Processor.
- Verify that the custom .fbx asset with UDP mentioned in the Project Requirements section is processed by the Asset Processor.
- 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:
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 |
- 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 |
- Create an entity and add a Mesh component to it.
- Assign the custom .fbx to the Mesh component's Model Asset property.
- 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.
|