Browse Source

Adding workflow test sections for Landscape Canvas, Dyn Veg, and Terrain

Signed-off-by: jckand-amzn <[email protected]>
jckand-amzn 3 years ago
parent
commit
ad34d11b02

+ 32 - 0
testing guidance/workflow tests/dynamic vegetation/dynamic_vegetation_workflow_tests.md

@@ -0,0 +1,32 @@
+**Dynamic Vegetation**
+----------------------
+
+Testing in this area should revolve primarily around component configuration to create an interesting instance spawner setup
+
+## Project Requirements
+AutomatedTesting project, or another project with Atom and all Vegetation system Gems
+
+## 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
+
+### Workflow 1: Construction/configuration of an instance spawner
+
+**User-facing Documentation: [https://www.o3de.org/docs/user-guide/gems/reference/environment/vegetation/procedures/](https://www.o3de.org/docs/user-guide/gems/reference/environment/vegetation/procedures/)**
+
+**Product:** Prefab of constructed instance spawner, Saved/exported level using instance spawner
+
+**Suggested Time Box:** 30 mins
+
+| Workflow                                                                     | Requests                                                                                                                                                                                                                                                | Things to Watch For                                                                                 | Testing Notes |
+|------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|---------------|
+| Construct several different planting surfaces                                | *   Use a mixture of terrain surfaces and emitter types using different surface tags<br>*   Create custom surface tags in Asset Editor                                                                                                                  | *   Component dependency issues<br>*   Surface Tag availability                                     |               |
+| Create one/several instance spawner area setups                              | *   Use multiple descriptors on a single spawner<br>*   Use varying spawner/blocker/blender areas<br>*   Use a mixture of Empty/Prefab spawner types<br>*   Configure descriptors to plant on a variety of previously created surfaces<br>*   Undo/Redo | *   Component dependency issues<br>*   Spawning issues                                              |               |
+| Add Filters/Modifiers to configure planting and create an interesting layout | *   Use a variety of Gradient Generators/Modifiers to drive Filters/Modifiers<br>*   Undo/Redo<br>*   Move camera large distances around viewport<br>*   Enter/Exit Game Mode                                                                           | *   Spawning/despawning issues<br>*   Component dependency issues                                   |               |
+| Add Vegetation Debugger/System Settings components via Level Inspector       | *   Override global system settings to affect your created areas (e.g. Density/Sector Size)<br>*   Toggle on Debug Stats/Sector info<br>*   Clear Performance Log and edit small parts of setup                                                         | *   Inaccurate debug stats<br>*   Spawning/despawning issues<br>*   Unintended sector re-processing |               |
+| Save constructed surfaces + instance spawner areas to a prefab               |                                                                                                                                                                                                                                                         | *   Missing components<br>*   Configuration changes                                                 |               |
+| Instantiate a copy of saved prefab                                           |                                                                                                                                                                                                                                                         | *   Missing components<br>*   Configuration changes                                                 |               |
+| Save level                                                                   |                                                                                                                                                                                                                                                         | *   Asset Processor errors with level processing                                                    |               |
+| Load level in Launcher                                                       | *   Load on at least one supported platform besides Windows                                                                                                                                                                                             | *   Spawning/despawning issues<br>*   Performance issues                                            |               |

+ 43 - 0
testing guidance/workflow tests/landscape canvas/landscape_canvas_workflow_tests.md

@@ -0,0 +1,43 @@
+# Landscape Canvas Workflow Tests
+
+Testing in this area should revolve primarily around Landscape Canvas graph configuration to create an interesting instance spawner setup
+
+## Project Requirements
+AutomatedTesting project, or another project with Atom and all Vegetation system Gems
+
+## 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
+
+### Workflow 1: Construction/configuration of an instance spawner via Landscape Canvas
+
+**Product:** Prefab of constructed instance spawner
+
+**Suggested Time Box:** 30 mins
+
+| Workflow                                                                                           | Requests                                                                                                                                                                                                                                                                                                                                                                                                        | Things to Watch For                                                                              |
+|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
+| Construct several different planting surfaces (This must be performed outside of Landscape Canvas) | *   Use a mixture of emitter types using different surface tags<br>*   Create custom surface tags in Asset Editor                                                                                                                                                                                                                                                                                               | *   Component dependency issues<br>*   Surface Tag availability                                  |
+| Create one/several new Landscape Canvas graphs                                                     | *   Create graphs via both manually adding Landscape Canvas component to an entity and via Landscape Canvas File menu                                                                                                                                                                                                                                                                                           | *   Automatic entity creation<br>*   Graph area updates                                          |
+| Create one/several instance spawner area setups                                                    | *   Use multiple descriptors on a single spawner<br>*   Use varying spawner/blocker/blender areas<br>*   Use a mixture of Empty/Prefab spawner types<br>*   Configure descriptors to plant on a variety of previously created surfaces<br>*   Undo/Redo - Focused on node add/remove and connection add/remove<br>*   Make node connections manually in graph area and with entity targeting via Node Inspector | *   Node display issues<br>*   Connection display issues<br>*   Component dependency issues      |
+| Organize/arrange nodes in graph area                                                               | *   Use Comment/Group nodes to organize/label<br>*   Navigate using large complex graphs (Bookmarks can help!)                                                                                                                                                                                                                                                                                                  | *   Node display issues<br>*   Connection display issues<br>*   Navigation issues                |
+| Close/Reopen graph                                                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                 | *   Node display issues<br>*   Connection display issues<br>*   Graph organization/layout issues |
+| Save constructed surfaces + instance spawner areas constructed in LandscapeCanvas to a prefab      |                                                                                                                                                                                                                                                                                                                                                                                                                 | *   Missing components<br>*   Configuration changes                                              |
+| Instantiate a copy of saved prefab                                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                 | *   Missing components<br>*   Configuration changes                                              |
+
+### Workflow 2: Gradient Baker Node
+
+**Product:** Optimized Landscape Canvas graph
+
+**Suggested Time Box:** 10 mins
+
+| Workflow                                                                  | Requests                                                                                                                                                                                                                                                    | Things to Watch For                                                                                      |
+|---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
+| Create or open Landscape Canvas graph                                     | *   Create or open a Landscape Canvas graph containing the following:<br>    *   Shape Component<br>    *   Various connected Gradient components/nodes                                                                                                     | *   Automatic entity creation<br>*   Graph area updates                                                  |
+| Add a Gradient Baker node to the graph                                    | *   Add the Gradient Baker node to your graph both via manually adding the Gradient Baker component to an entity and via Landscape Canvas File menu<br>*   Connect the Gradient Baker node to the Shape component and to the end of the Gradient node chain | *   Node display issues<br>*   Component dependency issues                                               |
+| Save/Bake the image                                                       | *   In the Gradient Baker node:<br>    *   Select an Output Path using the folder icon button and name newly baked image<br>    *   Select Bake Image                                                                                                       | *   Component dependency issues<br>*   Preview image update issues<br>*   Output image not being created |
+| Connect the newly baked node directly to the Shape component              | *   Connect the newly baked node directly to the Shape component<br>*   Select and disable the various connected Gradient components/nodes                                                                                                                  | *   Node display issues<br>*   Connection display issues                                                 |
+| Close/Reopen graph                                                        |                                                                                                                                                                                                                                                             | *   Node display issues<br>*   Connection display issues<br>*   Graph organization/layout issues         |
+| Save entity containing Gradient Baker node in LandscapeCanvas to a prefab |                                                                                                                                                                                                                                                             | *   Missing components<br>*   Configuration changes                                                      |
+| Instantiate a copy of saved prefab                                        |                                                                                                                                                                                                                                                             | *   Missing components<br>*   Configuration changes                                                      |

+ 85 - 0
testing guidance/workflow tests/terrain/terrain_workflows.md

@@ -0,0 +1,85 @@
+# Terrain Workflow Tests
+
+Testing in this area revolves around the construction of Terrain surfaces, applying materials and vegetation to the terrain, and ensuring proper physics reactions with terrain. Workflows in this area will lead into each other, ultimately resulting in a saved level with physicalized terrain defined by heightmap with macro and detail materials applied.
+
+## Project Requirements
+AutomatedTesting project, or another project with Terrain/PhysX Gems enabled.
+
+## 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
+
+### Workflow 1: Constructing terrain
+
+**User-facing Documentation:**
+
+[https://o3de.org/docs/user-guide/gems/reference/environment/terrain/](https://o3de.org/docs/user-guide/gems/reference/environment/terrain/)
+
+[https://o3de.org/docs/user-guide/components/reference/terrain/layer\_spawner/](https://o3de.org/docs/user-guide/components/reference/terrain/layer_spawner/)
+
+[https://o3de.org/docs/user-guide/components/reference/terrain/terrain\_height\_gradient\_list/](https://o3de.org/docs/user-guide/components/reference/terrain/terrain_height_gradient_list/)  
+
+
+**Product:** Saved level with basic terrain
+
+**Suggested Time Box:** 20-30 mins
+
+| Workflow                                       | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Things to Watch For                                                                            |
+|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
+| Define the area for Terrain to be spawnable in | *   Add the Terrain level components:<br>    *   Terrain World<br>    *   Terrain World Renderer<br>    *   Terrain World Debugger<br>*   Adjust Min Bounds<br>*   Adjust Max Bounds<br>*   Adjust Height Query Resolution<br>*   Toggle Terrain World Debugger display options<br>*   Adjust the Rendered world size on the World Renderer (**WIP - Currently defaults to 1km**)                                                                                                                             | *   Rendering issues with base World plane<br>*   Rendering issues with Terrain World Debugger |
+| Define a spawner area                          | *   Add the required Terrain components:<br>    *   Terrain Layer Spawner<br>    *   Terrain Height Gradient List<br>    *   Axis Aligned Box Shape<br>*   Setup a new Gradient generator (or several) entity to serve as a heightmap:<br>    *   Image Gradient component<br>    *   Shape component to define Gradient area (e.g. Shape Reference pinned to Spawner)<br>    *   Gradient Transform Modifier<br>*   Assign the heightmap gradient(s) to the spawner:<br>    *   Terrain Height Gradient List | *   Crash when translating generated terrain near edges of Terrain Spawner plane               |
+| Define additional spawner areas                | *   Resize defined spawner areas as needed to fit additional spawner areas<br>*   Overlap/arrange terrain spawner areas, defining Layer and Sub Priorities as needed to create an interesting look                                                                                                                                                                                                                                                                                                            | *   Rendering artifacts<br>*   Seams where spawner areas meet<br>*   Priority issues           |
+| Adjust Continuous LOD                          | *   In the Terrain World Renderer:<br>    *   Toggle on Continuous LOD (CLOD)<br>    *   Adjust the following:<br>        *   First LOD distance<br>        *   CLOD Distance                                                                                                                                                                                                                                                                                                                                 |                                                                                                |
+| Adjust Clipmap configuration                   | *   In the Terrain World Renderer:<br>    *   Toggle on Clipmap Enabled<br>    *   Adjust the following:<br>        *   Clipmap image size<br>        *   Macro clipmap max resolution: texels/m<br>        *   Detail clipmap max resolution: texels/m<br>        *   Macro clipmap scale base<br>        *   Detail clipmap scale base<br>        *   Macro clipmap margin size: texels<br>        *   Detail clipmap margin size: texels                                                                   | *   Crash when quickly adjusting settings<br>*   Rendering issues with terrain in viewport     |
+| Save Level/Spawners as Prefabs                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                |
+
+### Workflow 2: Generating Terrain surfaces
+
+**User-facing Documentation:**
+
+**Product:** Saved level with terrain spawners configured to generate surfaces
+
+**Suggested Time Box:** 15-20 mins
+
+| Workflow                                 | Requests                                                                                                                                                                                                                                               | Things to Watch For |
+|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|
+| Define the gradient for a surface area   | *   Setup a new Gradient generator (or several) entity to serve as a heightmap:<br>    *   Image Gradient<br>    *   Shape component to define Gradient area (e.g. Shape Reference component pinned to Spawner)<br>    *   Gradient Transform Modifier |                     |
+| Map configured gradients to surface tags | *   Add the required component to a Terrain Layer Spawner:  <br>    *   Terrain Surface Gradient List<br>*   Add configured gradients, and assign a surface tag                                                                                        |                     |
+| Adjust terrain surfaces                  | *   Adjust Surface Data Query Resolution in the Terrain World component                                                                                                                                                                                |                     |
+| Save Level/Spawners as Prefabs           |                                                                                                                                                                                                                                                        |                     |
+
+### Workflow 3: Applying Materials to Terrain
+
+**User-facing Documentation:**
+
+**Product:** Saved level with terrain with a macro material and detail materials
+
+**Suggested Time Box:** 15-20 mins
+
+| Workflow                       | Requests                                                                                                                                                                                                                                          | Things to Watch For                                                 |
+|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------|
+| Create a Macro Material        | *   Add required component to the Terrain Layer Spawner:<br>    *   Terrain Macro Material<br>*   Configure the parameters to generate a Macro Material:<br>    *   Color Texture<br>    *   Normal Texture<br>*   Flip/Adjust normals as desired | *   Rendering issues (texture stretching, missing color data, etc.) |
+| Assign Detail Materials        | *   Add required components:<br>    *   Terrain Surface Materials List<br>*   Add elements, and assign a configured tag<br>*   Specify Material Asset to map to the assigned tag                                                                  |                                                                     |
+| Adjust Detail Materials        | *   Utilize various texture blend modes<br>*   Toggle Height based texture blending in the Terrain World Renderer<br>*   Adjust detail rendering controls in the Terrain World Renderer                                                           |                                                                     |
+| Save Level/Spawners as Prefabs |                                                                                                                                                                                                                                                   |                                                                     |
+
+### Workflow 4: Physicalized Terrain
+
+**User-facing Documentation:**
+
+[https://o3de.org/docs/user-guide/components/reference/physx/collider/](https://o3de.org/docs/user-guide/components/reference/physx/collider/)  
+
+
+**Product:** Saved level with terrain with a macro material and detail materials that reacts to physics objects
+
+**Suggested Time Box:** 15-20 mins
+
+| Workflow                                               | Requests                                                                                                                                                                                                                                                                                                                                                        | Things to Watch For                                                                                                                                                 |
+|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Define a physicalized area                             | *   Add required components to a Terrain Layer Spawner:<br>    *   Terrain Physics Heightfield Collider<br>    *   PhysX Heightfield Collider                                                                                                                                                                                                                   |                                                                                                                                                                     |
+| Define a physicalized terrain using a physics material | *   Select a Default Surface Physics Material for the entire terrain within the Terrain Physics Heightfield Collider                                                                                                                                                                                                                                            | *   Physics material mapping not working correctly                                                                                                                  |
+| Verify Terrain collision with physics objects          | *   Instantiate a collider prefab or create a new PhysX Rigid Body collider setup (see [https://o3de.org/docs/user-guide/components/reference/physx/collider/](https://o3de.org/docs/user-guide/components/reference/physx/collider/))<br>*   Position the prefab on/above the physicalized terrain<br>*   Enter/Exit Game Mode<br>*   Enter/Exit Simulate Mode |                                                                                                                                                                     |
+| Save Level/Spawners as Prefabs                         |                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                                     |
+| Open the level in ProjectName.GameLauncher.exe         |                                                                                                                                                                                                                                                                                                                                                                 | *   Missing or inconsistent data (textures, heightmap, detail materials, etc.)<br>*   Excessive load times<br>*   Large Frame Rate disparity vs Game Mode in Editor |