浏览代码

adjustments to formatting.
added some images to document to make certain workflows and requests clearer.

Signed-off-by: Michael <[email protected]>

Michael 3 年之前
父节点
当前提交
02e81a74d3

二进制
testing-guidance/workflow-tests/scripting/SCeditor_basic_userFunction00.png


二进制
testing-guidance/workflow-tests/scripting/SCeditor_basic_userFunction01.png


二进制
testing-guidance/workflow-tests/scripting/SCeditor_default_layout.png


二进制
testing-guidance/workflow-tests/scripting/SCeditor_graphview_controls.png


二进制
testing-guidance/workflow-tests/scripting/SCeditor_script_events_workflow.png


+ 19 - 18
testing-guidance/workflow-tests/scripting/script-canvas-tests.md

@@ -21,9 +21,9 @@ Test guidance will sometimes note specific issues to watch for. The common issue
 <b>User Function</b>: A type of SC graph that has 2 special nodes: Entrance & Exit nodelings. User Functions are intended to give users a way to generate re-usable graph logic similar to a function in a standard programming language. When a valid User Function graph is created and saved it will appear in the Node Inspector under the 'User Functions' category.
 <b>User Function</b>: A type of SC graph that has 2 special nodes: Entrance & Exit nodelings. User Functions are intended to give users a way to generate re-usable graph logic similar to a function in a standard programming language. When a valid User Function graph is created and saved it will appear in the Node Inspector under the 'User Functions' category.
 
 
 <b></b>
 <b></b>
-### Area: Opening and configuring the Script Canvas Editor
+## Area: Opening and configuring the Script Canvas Editor
 
 
-## Project Requirements
+### Project Requirements
 Any project can be used and no special gems are required.
 Any project can be used and no special gems are required.
 
 
 **Product:** 
 **Product:** 
@@ -40,11 +40,11 @@ Visible and responsive Script Canvas editor.
 | Use basic Script Canvas graph controls                              | *   Open or create a new script canvas graph file and make sure the basic script canvas graph controls function when clicked or keyboard shortcut is used.<br>*   Check if a helpful tooltip is generated and rendered properly for each control.<br> * Tooltip does not go away prematurely<br> * Pan/Zoom on the script canvas graph and make sure graph renders properly                                                                                                   | *   Control does not respond or responds too slowly when used<br> *   Controls gray out under appropriate circumstances<br>*   Cannot interact with grayed out controls                                                                           |
 | Use basic Script Canvas graph controls                              | *   Open or create a new script canvas graph file and make sure the basic script canvas graph controls function when clicked or keyboard shortcut is used.<br>*   Check if a helpful tooltip is generated and rendered properly for each control.<br> * Tooltip does not go away prematurely<br> * Pan/Zoom on the script canvas graph and make sure graph renders properly                                                                                                   | *   Control does not respond or responds too slowly when used<br> *   Controls gray out under appropriate circumstances<br>*   Cannot interact with grayed out controls                                                                           |
 
 
 
 
-### Area: Default Script Canvas Editor tools
+## Area: Default Script Canvas Editor tools
 
 
-## Project Requirements
+### Project Requirements
 SC editor with the 5 basic tools enabled
 SC editor with the 5 basic tools enabled
-
+![SC graph editor and default tools](SCeditor_default_layout.png)
 **Product:** 
 **Product:** 
 N/A
 N/A
 
 
@@ -60,27 +60,28 @@ N/A
 | Use the Node Palette to find node types                             | *   Search the Node Palette for a specific node type.<br> * Use the scrolling view controls to browse nodes.>br> * Drag a node off the palette onto a new SC graph.<br> * Use right click context menu on a SC graph to search & browse for nodes. <br> *   Mouse over a node in the palette to display a tooltip                                                                                     | *   Node palette renders properly when entering/deleting text in search field.<br> * Node categories can be expanded and collapsed.                                                                                                               |
 | Use the Node Palette to find node types                             | *   Search the Node Palette for a specific node type.<br> * Use the scrolling view controls to browse nodes.>br> * Drag a node off the palette onto a new SC graph.<br> * Use right click context menu on a SC graph to search & browse for nodes. <br> *   Mouse over a node in the palette to display a tooltip                                                                                     | *   Node palette renders properly when entering/deleting text in search field.<br> * Node categories can be expanded and collapsed.                                                                                                               |
 
 
 
 
-### Area: Basic Script Canvas graph tests 
+## Area: Basic Script Canvas graph tests 
 Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
 Testing in this area verify basic functionality of script canvas graphs and more in-depth functionality of the default editor tools.
 
 
-## Project Requirements
+### Project Requirements
 Any project with a new level. SC editor with the 5 basic tools enabled
 Any project with a new level. SC editor with the 5 basic tools enabled
 
 
 **Product:** 
 **Product:** 
 Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
 Script canvas graph files that produce verifiable outputs when attached to entities and run through game mode or interpreter
 
 
+
 **Suggested Time Box:**
 **Suggested Time Box:**
 60 minutes
 60 minutes
 
 
-| Workflow                                                                                                        | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Things to Watch For                                                                                                                                                                                              |
-|-----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Create and save a new script canvas graph with basic input and output                                           | *   Use any method to create a blank script canvas file.<br>    *   Use the node palette or right click context menu to add and connect multiple nodes.<br>    *   Create a logic sequence that will occur on graph start or on the activation of an entity<br>    *   Use the variable manager to create one or more new variables. Change a field on a node to a reference and use the newly created variable<br> * Click on a variable you created and use the Node Inspector to modify it. Change the name, default value and scope.<br> * Save the graph file and verify it functions as expected by attaching it to an entity and running the game or loading the graph in the Interpreter                                                                                                                                                                                 | *   Saving the file causes asset processor errors or warnings<br>*   Repeatedly running the game causes the graph to produce no results or inconsistent results<br>*   Console warnings or errors regarding Lua  |
-| Create a 2nd script canvas graph file and use a script event to make the two files communicate during gameplay  | *   Use the O3DE asset editor to create a new script event.<br> *   Add a new event to the script event asset. Give it a unique and recognizable name<br> * Add input parameters to the event and save the asset. Verify the file appears on disk<br> * Search the Script Canvas editor's node inspector for the new event asset. Verify that you can add a send/receive signal to a graph. <br> * Configure two or more script canvas files to send and receive signals from each other. Verify the communication with debug output or with more complex logic and game behavior <br><br><b> Examples: </b><br> * Attach a send signal to a timer node so every other second the receiving script changes a light's color. <br>* Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals  | *   Tool display issues/unusable portions of tool<br>*   Interactivity issues                                                                                                                                    |
+| Workflow                                                                                                        | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Things to Watch For                                                                                                                                                                                                                                                                      |
+|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Create and save a new script canvas graph with basic input and output                                           | *   Use any method to create a blank script canvas file.<br>    *   Use the node palette or right click context menu to add and connect multiple nodes.<br>    *   Create a logic sequence that will occur on graph start or on the activation of an entity<br>    *   Use the variable manager to create one or more new variables. Change a field on a node to a reference and use the newly created variable<br> * Click on a variable you created and use the Node Inspector to modify it. Change the name, default value and scope.<br> * Save the graph file and verify it functions as expected by attaching it to an entity and running the game or loading the graph in the Interpreter                                                                                                                                                                                                                                                                                                        | ![SC graph view and basic controls](SCeditor_graphview_controls.png)<br> *   Saving the file causes asset processor errors or warnings<br>*   Repeatedly running the game causes the graph to produce no results or inconsistent results<br>*   Console warnings or errors regarding Lua |
+| Create a 2nd script canvas graph file and use a script event to make the two files communicate during gameplay  | *   Use the O3DE asset editor to create a new script event.<br> *   Add a new event to the script event asset. Give it a unique and recognizable name<br> * Add input parameters to the event and save the asset. Verify the file appears on disk<br> * Search the Script Canvas editor's node inspector for the new event asset. Verify that you can add a send/receive signal to a graph.<br> ![Filtering Node Palette for a script event. Dragging the node onto the graph](SCeditor_script_events_workflow.png) <br> * Configure two or more script canvas files to send and receive signals from each other. Verify the communication with debug output or with more complex logic and game behavior <br><br><b> Examples: </b><br> * Attach a send signal to a timer node so every other second the receiving script changes a light's color. <br>* Send multiple different script events and a script canvas file that has different logic predecated on receiving each of the different signals | *   Tool display issues/unusable portions of tool<br>*   Interactivity issues                                                                                                                                                                                                            |
 
 
-### Area: Advanced Script Canvas graph Tests
+## Area: Advanced Script Canvas graph Tests
 Tests in this verify more advanced core features of script canvas.
 Tests in this verify more advanced core features of script canvas.
 
 
-## Project Requirements
+### Project Requirements
 Any project with a new level. SC editor with the 5 basic tools enabled
 Any project with a new level. SC editor with the 5 basic tools enabled
 
 
 **Product:**
 **Product:**
@@ -89,8 +90,8 @@ Organized and annotated Script canvas graph files that produce verifiable output
 **Suggested Time Box:**
 **Suggested Time Box:**
 120 minutes
 120 minutes
 
 
-| Workflow                                                                          | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Things to Watch For                                                                                                                                                                                                                       |
-|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Create a user function and verify its input/output when called from another graph | * Use Script Canvas editor to create a graph file with enter/exit nodelings<br> * Place complex logic or entity behavior between the enter/exit nodelings. <br> * Give the graph file a unique recognizable name and save it<br> * Call the user function from another graph by finding it in the node palette or right click context menu <br> <br> <b>Example Functions: </b><br>  Two color parameters and returns a blended color<br> Entity parameter and returns the number of child entities <br> No parameters or output but triggers behavior. | * Recursive functions are <b>NOT</b> supported at the moment<br> * Modifications to the user function file should require scripts calling the function to also be modified.                                                               |
-| Generate and modify translation data                                              | * Generate translation data for nodes.<br> * Modify the translation data and verify that the modifications are reflected in Script Canvas editor.<br>                                                                                                                                                                                                                                                                                                                                                                                                   | * Generating translation data does not cause performance dips.<br> *Non-english characters render properly in SC graph. <br> *                                                                                                            |
-| Use groupings and annotations to organize a graph.                                | * Place groupings on a graph.<br> * Add and remove nodes to the groupings. <br> * Place annotations on the graph. <br> * Change the size and positions of groupings and annotations. <br> * Use Node Inspector to modify the test and format of groupings and annotations.                                                                                                                                                                                                                                                                              | * Groupings and annotations not rendering when placed on the graph. <br> * Nodes not "Sticking" to a grouping when size or position is changed. <br> * Modifications to groups and annotations not maintained when graph is saved/loaded. |
+| Workflow                                                                                                                                                                                                | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Things to Watch For                                                                                                                                                                                                                                         |
+|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Create a user function and verify its input/output when called from another graph<br> ![Controls for entry/exit nodelings highlighted. Basic user function example.](SCeditor_basic_userFunction00.png) | * Use Script Canvas editor to create a graph file with enter/exit nodelings<br> * Place complex logic or entity behavior between the enter/exit nodelings. <br> * Give the graph file a unique recognizable name and save it<br> * Call the user function from another graph by finding it in the node palette or right click context menu <br> <br> <b>Example Functions: </b><br>  Two color parameters and returns a blended color<br> Entity parameter and returns the number of child entities <br> No parameters or output but triggers behavior. | ![Calling a user function from another graph](SCeditor_basic_userFunction01.png)* Recursive functions are <b>NOT</b> supported at the moment<br> * Modifications to the user function file should require scripts calling the function to also be modified. |
+| Generate and modify translation data                                                                                                                                                                    | * Generate translation data for nodes.<br> * Modify the translation data and verify that the modifications are reflected in Script Canvas editor.<br>                                                                                                                                                                                                                                                                                                                                                                                                   | * Generating translation data does not cause performance dips.<br> *Non-english characters render properly in SC graph. <br> *                                                                                                                              |
+| Use groupings and annotations to organize a graph.                                                                                                                                                      | * Place groupings on a graph.<br> * Add and remove nodes to the groupings. <br> * Place annotations on the graph. <br> * Change the size and positions of groupings and annotations. <br> * Use Node Inspector to modify the test and format of groupings and annotations.                                                                                                                                                                                                                                                                              | * Groupings and annotations not rendering when placed on the graph. <br> * Nodes not "Sticking" to a grouping when size or position is changed. <br> * Modifications to groups and annotations not maintained when graph is saved/loaded.                   |