Selaa lähdekoodia

Merge pull request #122 from LB-JaroslawGaweda/Viewport

Adding Viewport Workflow
Tom Hulton-Harrop 2 vuotta sitten
vanhempi
commit
65920ffd4e

+ 89 - 0
testing-guidance/workflow-tests/Viewport/viewport-workflow-tests.md

@@ -0,0 +1,89 @@
+# Viewport Workflow Tests
+​
+Testing in this area should focus on basic Viewport functionality.
+​
+## 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
+​
+### Platforms:​
+
+- Windows
+- Linux​
+​
+### Documentation pages:​
+
+* [Working with the 3D Viewport](https://www.o3de.org/docs/user-guide/editor/Viewport/)
+* [Reference Spaces](https://www.o3de.org/docs/user-guide/editor/Viewport/reference-spaces/)
+* [Group Selection](https://www.o3de.org/docs/user-guide/editor/Viewport/group-selection/)
+* [Advanced 3D Viewport Operations](https://www.o3de.org/docs/user-guide/editor/Viewport/advanced-operations/)​
+​
+### Workflow 1: Camera control 
+​
+**Product:** 
+A Level with multiple entities with a mesh component and assigned shaderball model asset.
+​
+**Suggested Time Box:** 5-10 mins
+
+| Workflow                                                               | Requests																																																																						   | Things to Watch For                                                                                                                                                          |
+|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Navigate level with camera controls									 | <ol><li>Select the Viewport.</li><li>Navigate the camera with `W`, `A`, `S`, `D`, `Q`, `E`. Hold `shift` for fast move.</li><li>`Right-click and drag` to rotate the camera.</li><li>Press `MMB and drag` to pan up and down.</li><li>Scroll up and down using the `MMB`, to zoom in and out.</li><li>`ALT+LMB` to orbit.</li><li>`ALT+MMB` or `ALT+Scroll` to Pan.</li><li>`ALT+RMB` to Dolly.</li></ol>| <ul><li>Testing clicking in and out of the Viewport while moving the camera</li></ul>|
+| Be this camera option													 | <ol><li>Select the camera entity or create one.</li><li>In the Entity Inspector, press the `Be this camera` button.</li><li>Move the camera around.</li><li>Press the Return to default editor camera button.</li></ol>																		   | 																																											  |
+| Match Viewport														 | <ol><li>Select the camera entity or create one.</li><li>In the Entity Inspector, press the `Match Viewport` button.</li><li>Move the camera around.</li><li>Press the Return to default editor camera button.</li></ol>																		   |																																											  |
+| Viewport camera selector												 | <ol><li>Open the Viewport Camera Selector (Tools > Viewport > Viewport Camera Selector).</li><li>`Right-click` in the Viewport and select "Create camera entity from view".</li><li>Navigate to a different location in the Viewport and create another camera.</li><li>Navigate through the available cameras in the Viewport Camera Selector while monitoring the Viewport.</li></ol>|																						  |
+---
+
+### Workflow 2: Viewport options  
+​
+**Product:** 
+A Level with multiple entities with a mesh component and assigned shaderball model asset.
+​
+**Suggested Time Box:** 20 mins
+
+| Workflow                                                               | Requests																																																																						   | Things to Watch For                                                                                                                                                          |
+|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Hide/Unhide															 | <ol><li>Select an entity with mesh component in the Entity Outliner and press the `eye` icon.</li><li>Select the Show All menu option (Edit > Show All).</li><li>Select the entity in the Viewport.</li><li>Press `H` to hide the entity.</li><li>Press `Ctrl+SHIFT+H` to unhide the entity.</li></ol>|<ul><li>Correct entity Hide/Unhide functionality.</li><li>Shortcut functionality.</li></ul>																			  |
+| Lock/Unlock															 | <ol><li>Select an entity with mesh component in the Entity Outliner, press the `lock` icon.</li><li>Attempt to select the entity in the Viewport.</li><li>Select the Unlock All menu option (Edit > Unlock All).</li><li>Select the entity in the Viewport and press `L` to lock the entity.</li><li>Press `Ctrl+SHIFT+L` to unlock all entities.</li></ol>|<ul><li>Correct entity Lock/Unlock functionality.</li><li>Shortcut functionality.</li></ul>						  |
+| Go to position														 | <ol><li>Select View > Viewport > Go to Position...</li><li>Input coordinates.</li></ol>																																																		   | <ul><li>Camera responds as expected to the used control actions.</li></ul>																									  |
+| Find selected entities in Viewport									 | <ol><li>Select an entity and move the camera away from it.</li><li>Select View > Viewport > Find selected entities in Viewport or use the `Z` key.</li></ol>																																	   | <ul><li>Position on the selected entity.</li></ul>																															  |
+| Save Location/Go to location											 | <ol><li>Select View > Viewport > Save Location > Save location 1.</li><li>Move the camera around.</li><li>Select View > Viewport > Go to location > Go to location 1.</li><li>Use `Ctrl+F<1-12>` to save multiple bookmarks and load them with `Shift+F<1-12>`.</li></ol>					   | <ul><li>Saving and loading bookmarked locations.</li></ul>																													  |
+| Component Mode Switcher												 | <ol><li>Select an entity and add multiple components with component mode(e.g. Spline, PhysX collider, WhiteBox).</li><li>Enter the component mode through the switcher in the upper left corner of the Viewport.</li><li>Switch between component modes using the switcher.</li></ol>		   | <ul><li>Switchers added to the Viewport and functioning.</li></ul>																											  |
+| Stress test															 | <ol><li>Select an entity with mesh component and duplicate it (`Ctrl+D`) so you will have around 200 entities.</li><li>Select all entities in the level and manipulate them using the Transform mode widgets.</li></ol>																		   | <ul><li>Any drops in Editor stability, errors or framerate drops.</li></ul>																								  |
+| Field of View/Camera speed scale 										 | <ol><li>Select dropdown menu next to the camera icon on the Viewport Toolbar and change the value of the Field of view.</li><li>Look around with the camera.</li><li>Select the camera speed scale under the FOV, change the value and move the camera around.</li></ol>						   | <ul><li>FOV and camera speed adjusting.</li></ul>																															  |
+| Toggle between states													 | <ol><li>Select dropdown menu next to the bug icon on the Viewport Toolbar and select Full.</li><li>Switch between all of the modes.</li><li>Press the bug icon multiple times to switch between the modes.</li></ol>																			   |																																											  |
+| Show Helpers															 | <ol><li>Select dropdown menu next to the eye icon on the Viewport Toolbar and select show icons (or use `Ctrl+space`).</li><li>Select an entity and from the dropdown menu, select Show helpers for selected entity.</li><li>Switch to hide helpers.</li></ol>								   |																																											  |
+| Viewport Size															 | <ol><li>Select dropdown menu next to the double rectangle icon on the Viewport Toolbar > Ratio and switch between the ratios.</li><li>From the ratio menu select Custom... and input custom ratio values.</li><li>Select Resolution menu and switch between all of the resolutions in the menu.</li><li>Select Resolution > Custom... and input custom resolution values.</li></ol> |																						  |
+| Grid/Angle snapping													 | <ol><li>Select dropdown menu next to the triple bar icon on the Viewport Toolbar and select Show Grid.</li><li>Select the Grid snapping option and change the Grid snapping size to 5.</li><li>Select an entity and using the translate mode, move it around.</li><li>Select the Angle Snapping option and change the Angle snapping size value to 60.</li><li>Select an entity and using the rotate mode, turn the entity around.</li></ol> | <ul><li>Grid displaying around the entity</li></ul>|
+| Viewport  global preferences											 | <ol><li>Select Edit > Editor Settings > Global Preferences and select the Viewport tab.</li><li>Change FOV value and press `OK`.</li><li>Observe the changes in the Viewport.</li><li>Return to the Preferences menu, modify any other option, confirm and observe the changes.</li></ol>       | <ul><li>After restarting the Editor the aved changes should persist.</li></ul>																								  |
+---
+
+### Workflow 3: Entity manipulation 
+
+**Product:** 
+A Level with multiple entities with a mesh component and assigned shaderball model asset.
+​
+**Suggested Time Box:** 30 mins
+
+| Workflow                                                               | Requests																																																																						   | Things to Watch For                                                                                                                                                          |
+|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Manipulate the entity                                                  | <ol><li>Select an entity and use the Transform mode widgets to manipulate it.</li><li>Switch between translate, rotate and scale modes (`1`, `2` and `3` key accordingly).</li></ol>																												   | <ul><li>Shortcuts functionality.</li><li>Correct entity manipulation.</li></ul>																						  |
+| Undo/Redo																 | <ol><li>While using the Transform mode widgets to manipulate an entity select Edit > Undo/Redo.</li><li>Manipulate the entity and use the shortcuts for Undo - `Ctrl+Z` and Redo `Ctrl+Shift+Z`.</li></ol>																							| <ul><li>Shortcuts functionality.</li></ul>																															      |
+| Reference space widget                                                 | <ol><li>Select an entity and assign a child entity to it.</li><li>Select the child entity, move it around the Viewport and switch between the Reference spaces.</li></ol>																													   | <ul><li>Correct Translate and Rotate coordinates.</li><li>Correct entity manipulation.</li></ul>															     			  |
+| Pivots																 | <ol><li>Select an entity with a three-dimensional shape.</li><li>Switch between pivots (`P` key) and manipulate the entity.</li></ol>																																							   | <ul><li>Schortcuts functionality.</li><li>Correct entity manipulation.</li></ul>																						  |
+| Creating a custom reference spaces									 | <ol><li>Select an entity and select translation manipulator mode.</li><li>Press and hold `Ctrl+Alt` and select a target entity in the Viewport with `LMB`.</li><li>Use the manipulator to modify the entity.</li></ol>																		       | <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																	  |
+| Selecting a group of entities											 | <ol><li>Select multiple entities by using `LMB` and drag.</li><li>Deselect multiple entities by holding `Ctrl+LMB` and dragging in the Viewport.</li><li>Add and remove an entity from the selection by holding `Ctrl` and `left-clicking` a target entity.</li></ol>					                   | <ul><li>Correct entity selection.</li></ul>																														  |
+| Selecting a reference space for a group								 | <ol><li>With a group of entities selected, press and hold `Ctrl+Alt` and `left-click` a target entity.</li><li>Use the manipulator to modify the entities.</li></ol>																															       | <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																	  |
+| Creating a custom reference space for a group							 | <ol><li>With a group of entities selected, press and hold `Ctrl`, and move the manipulator in the Viewport.</li></ol>																																											   | <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																	  |
+| Parent reference spaces												 | <ol><li>Select multiple child entities of the same parent entity and use the manipulator to modify them.</li></ol>																																											   | <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																		  |
+| Using individual influence in a group								     | <ol><li>Press and hold `Alt` while modifying a group of selected entities to modify the entities in the local space.</li><li>Select child entities from different parent entities and press and hold `Alt`.</li><li>Press and release Alt to dynamically change the manipulator influence.</li></ol>| <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																	  |
+| Reset an entity's transform, rotation, or scale						 | <ol><li>In the Viewport, select an entity or group of entities and press `R`.</li><li>Switch the manipulator mode and attempt to reset them.</li></ol>																																			   | <ul><li>Correct entity default location, rotation, and scale.</li></ul>																							      |
+| Modifying manipulators												 | <ol><li>Select multiple entities.</li><li>Select the transform mode of the manipulator you want to modify.</li><li>Press and hold `Ctrl+LMB` and drag the manipulator to modify its location, rotation, or scale.</li></ol>														               | <ul><li>Correct manipulator match to the translation or orientation of the target entity.</li></ul>																		  |
+| Reset a manipulator's transform, rotation, or scale					 | <ol><li>Reset a manipulator to its default location, rotation, or scale by pressing `Ctrl+R` while the related manipulator is active.</li></ol>																																				   | <ul><li>Correct manipulator default location, rotation, and scale.</li></ul>																								  |
+| Matching entity transforms											 | <ol><li>Select an entity.</li><li>Press and hold `Ctrl` and press the middle mouse button as you hover over a target entity. After the target is selected, the current selection transform matches that of the target.</li><li>Do this with location, rotation, or scale.</li></ol>			   | <ul><li>Correct matching location, rotation, and scale values.</li></ul>																									  |
+| Ditto a group selection											     | <ol><li>Select a group of entities.</li><li>Press and hold `Ctrl` and press the `middle mouse button` as you hover over a target entity to match the group's transform data to the target's data.</li><li>Do this with location, rotation, or scale.</li></ol>									   | <ul><li>Correct matching location, rotation, and scale values.</li></ul>																								  |
+| Ditto a group selection to local space								 | <ol><li>Select a group of entities.</li><li>Press and hold `Ctrl+Alt` and press the `middle mouse button` as you hover over a target entity. This sets the local space of each entity in the selected group to the target entity that you specified.</li></ol>								       | <ul><li>Correct matching location, rotation, and scale values.</li></ul>																								  | 
+---
+