Commit Graph

39 Commits

Author SHA1 Message Date
Tom Hulton-Harrop 50f5976e59 Rename and move ModernViewportCameraController (#866)
* rename ModernViewportCameraController to ModularViewportCameraController and move to AtomToolsFramework

* update names and includes after file moves
2021-05-25 17:28:51 +01:00
Chris Santora 70c8ef99ef Updates in response to code review, from gadams3.
Cleaned up code around MaterialFunctor's QueryMaterialPropertyMetadata and QueryMaterialPropertyGroupMetadata.
Removed unnecessary "groupHeader->setObjectName(...)"
Simplified code in MaterialInspector::OnDocumentPropertyGroupVisibilityChanged.
2021-05-13 09:39:01 -07:00
Chris Santora e429c8e06a Fixed issues after merging latest main, as well as some edge cases I didn't notice before.
The structure of InspectorWidget::m_groups changed, so I had to update my new code accordingly.
Updated the InspectorWidget::m_groups code a bit to be more readable.
Discovered the initial property group visiblity state wasn't being set correctly when a material was first opened, so groups weren't initially hidden when they should have been. This had to be fixed in different ways for MaterialEditor's inspector and MaterialComponent's inspector.

ATOM-14688 Disable Individual Layers
2021-05-12 23:28:05 -07:00
Chris Santora 37a1b77d50 Merge branch 'main' into Atom/santorac/NewLayeringWorkflow 2021-05-12 17:45:28 -07:00
Chris Santora 53188a12da Made StandardMultilayerPBR hide a layer's property groups when that layer is disabled.
ATOM-14688 Disable Individual Layers

- Added new SetMaterialPropertyGroupVisibility functions to the material functors.
- Updated the MaterialFunctor::EditorContext to include parameters for handling material property group metadata.
- Updated the material inspector(s) to apply the property group visiblity changes from the material functor, to hide or show the property groups.
- Moved some code from MaterialPropertyDescriptor.h/cpp to a new MaterialDynamicMetadata.h/cpp, since these aren't really related to the MaterialPropertyDescriptor code. It's more for material functors to use.
- Also fixed the casing for the "GetMaterialPropertyValue_Image" lua function, since I was already in this code (ATOM-14793 "Fix Inconsistent Casing For LuaMaterialFunctorRuntimeContext")

Tested in MaterialEditor and in in the main Editor's MaterialComponent property override inspector.
2021-05-12 17:06:57 -07:00
Guthrie Adams ff9d8f7a87 Merge pull request #660 from aws-lumberyard-dev/Atom/guthadam/ATOM-15486
ATOM-15486 Material Editor: Implement layout and user settings
2021-05-11 13:09:39 -05:00
Tom Hulton-Harrop b2523217c3 Update snapping settings to be stored in the Settings Registry (#646)
* add overload to ActionManager to support capturing an AZStd::function

* move snapping settings to new settings registry

* remove unneeded reference in ViewportSettings

* move viewport setting function implementations to .cpp file

* add more sensible default values for snapping

* fix variable name for angle snapping

* remove const from function prototype value parameters

* add import/export api for free functions

* change from std::bind to a lambda

* remove redundant const for constexpr string_view

* add AZStd alias for std::abs
2021-05-10 18:40:32 +01:00
guthadam 1dda6dabe4 Added support for expanding/collapsing material inspector groups by name
Saving/restoring material inspector group expansion state
2021-05-08 00:57:16 -05:00
guthadam 9de3071e21 Merge branch 'main' into Atom/guthadam/ATOM-15486 2021-05-07 20:20:17 -05:00
guthadam e9165ed911 Added save state keys to most of the RPEs in the material editor and component to save expand/collapse state
Saving main window fancy docking state so all of the dock widgets save/restore visibly and positioning

Added window decoration wrapper inside material editor main window for saving/restoring window position, size, state

Added object names to several QT widgets so that their state could be captured and restored
2021-05-07 20:16:05 -05:00
Tom Hulton-Harrop c5a06b8953 Restore grid and angle snapping (#640)
Restore grid and angle snapping (LYN-3367)
2021-05-07 17:21:12 +01:00
AMZN-mnaumov 5fb923738e Merge pull request #614 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15474
[ATOM-15474] Material Editor camera controller zoom respects viewport boundary
2021-05-06 17:45:47 -07:00
mnaumov dfd0cbb0fd Material Editor camera controller zoom respects viewport boundary 2021-05-06 13:10:55 -07:00
guthadam eb847ce9fa ATOM-15473 added context menu to material inspector group header with expand and collapse actions
https://jira.agscollab.com/browse/ATOM-15473
2021-05-05 16:35:32 -05:00
hultonha a206896074 remove QPoint from lower-level interfaces, switch to use AzFramework::ScreenPoint 2021-05-04 17:32:47 +01:00
Guthrie Adams eb25e0bd33 Merge pull request #504 from aws-lumberyard-dev/Atom/guthadam/ATOM-15439
ATOM-15439 Implement basic local socket and server for IPC in material editor and other tools
2021-05-03 15:32:28 -05:00
guthadam 9d0f9e9e3a ATOM-14065 fix problems with material editor details group property descriptions
Moved the code that automatically appended a script variable name to a property description out of the dynamic property class and into the material property conversion utility functions.

Added proper descriptions for the material type and parent material placeholder properties

https://jira.agscollab.com/browse/ATOM-14065
2021-05-03 00:13:45 -05:00
guthadam fae33e9235 ATOM-15439 Implement basic local socket and server for IPC in material editor and other tools
This replaces grid hub usage in the material editor. It allows material editor and other tools to intercommunicate on the local host.  This will allow enforcing that there is only one instance of the material editor running.  Opening a second instance will forward command line options to the first instance running a local server.

https://jira.agscollab.com/browse/ATOM-15439
https://jira.agscollab.com/browse/ATOM-13742
2021-05-02 17:08:21 -05:00
Nicholas Van Sickle 3c5c692148 Merge pull request #411 from aws-lumberyard-dev/nvsickle/FixBoxSelect
Fix viewport box selection
2021-04-29 11:19:28 -07:00
AMZN-koppersr 5e4094b258 Revamped AzFramework::Scene (#332)
Updated AzFramework::Scene to allow it to serve as the one-stop location for localized singletons. Localized singletons in this case are instance that can only occur once in an environment but multiple times within an application. As an example, this allows settings up a single camera per viewport for instance.

Highlights of changes:

Replaced the original ebuses with interfaces and events for easy of use and performance.
Removed the Entity Context specific code and moved that to new locations within the Entity Context itself.
Allowed basic inheritance. If a subsystem isn't found in a scene the parent can optionally be searched.
Scenes can enter a zombie state and avoid immediately being deleted. This is needed for situations where subsystems can't be destroyed until async calls have been completed.
2021-04-29 08:50:48 -07:00
nvsickle 9311dc4cb9 Fix RenderViewportWidget::ViewportWorldToScreen, which fixes box selection 2021-04-28 17:42:43 -07:00
guthadam 5cac07b4c1 ATOM-14003 adding image thumbnails to material inspector properties
https://jira.agscollab.com/browse/ATOM-14003
2021-04-28 00:17:58 -05:00
mnaumov 5f33337fec Merge main 2021-04-27 11:05:22 -07:00
mnaumov 91f027a05c PR feedback 2021-04-26 17:42:49 -07:00
nvsickle fb2ca8e02c Fix Editor crash in test teardown calling set_view_pane_layout
If Atom isn't initialized and able to produce a ViewportContext, the Editor would crash. This attempts to make the initialization fail a bit more gracefully and fixes the crash in the cases I've tested.
2021-04-23 00:26:09 -07:00
mnaumov 09a0676b9c Adding custom title to PropertyAssetCtrl 2021-04-22 16:56:56 -07:00
guthadam 215931a1ae Updating trace recorder to allow limiting the number of messages stored 2021-04-21 19:45:53 -05:00
guthadam 0e6fea21fc ATOM-15221 Material Editor: Capturing trace warnings and errors to display in error message boxes
https://jira.agscollab.com/browse/ATOM-15221
2021-04-21 19:45:19 -05:00
nvsickle dd7334471f Fix comment punctuation 2021-04-19 15:13:08 -07:00
nvsickle d2fadcb0e3 Fix context menu handling in multi-viewport scenarios (the logic bugs here were many and nuanced, but we're narrowing in on something robust).
Specifically this:
-Ensures key/mouse up event propagation works across multiple viewports
-Ensures that mouse up events for manipulators only get delivered if there's a corresponding mouse down event
-Also tidies up the "are we done processing events this tick?" logic in ViewportManipulatorController
2021-04-19 15:13:06 -07:00
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 2021-04-13 17:18:57 -07:00
Alex Peterson 921eb742d4 Merge branch 'main' into github/staging 2021-04-13 09:46:26 -07:00
nvsickle 1dabb39b98 Migrate fixes from CodeCommit branch 2021-04-09 12:40:43 -07:00
alexpete c5b955d281 Integrating github/staging through commit b0dd7ed 2021-04-09 12:03:26 -07:00
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 2021-04-09 11:27:37 -07:00
alexpete c2cbd430fe Integrating up through commit 90f050496 2021-04-07 14:03:29 -07:00
alexpete 36c4e827bd Integrating latest from github/staging
Integrating up through commit 5e1bdae
2021-03-26 14:32:02 -07:00
alexpete 75dc720198 Integrating latest 47acbe8 2021-03-25 13:57:57 -07:00
alexpete a10351f38d Initial commit 2021-03-08 14:30:57 -08:00