Commit Graph

80 Commits (c2abd2d74f67880305abede3973666d618c9853e)

Author SHA1 Message Date
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.
5 years ago
mnaumov 7342e62680 Hiding "Open Material" when material asset is assigned 5 years ago
guthadam 1dda6dabe4 Added support for expanding/collapsing material inspector groups by name
Saving/restoring material inspector group expansion state
5 years ago
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
5 years ago
guthadam 6b1f0c53a5 Injecting --activateWindow every time new process sends command line
Updated comments
5 years ago
guthadam 80f692118b ATOM-15451 always bring material editor and foreground when launching
Bus, command line option, and handler to activate material editor window
Made sure that material editor action in Ly tools menu is not checked/checkable
Ly editor pushes command line option to use the same RHI

https://jira.agscollab.com/browse/LYN-2610
https://jira.agscollab.com/browse/ATOM-15451
https://jira.agscollab.com/browse/ATOM-13742
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
lumberyard-employee-dm 3dec5d3b71
LYN-2537 engine assets (#254)
* LYN-2537 Moved the Engine and Editor folder to be within the EngineAssets folder

* Fixed Documentation in bootstrap.cfg to correct the path to the user project specific registry file

* Adding a newline to the output of AssetCatalog 'Registering asset..., but type is not set' message

* Updating the AssetProcessorPlatformConfig.setreg Scan Folder to detect
the @ENGINEROOT@/EngineAssets/Engine path for engine runtime assets and
@ENGINEROOT@/EngineAssets/Editor path for engine tool assets

* Updating references to Icons and other assets to account for moving the
Engine and Editor folder under a single EngineAssets folder

* Moving the Engine Settings Registry folder from Engine/Registry -> Registry

* Removed the LY_PROJECT_CMAKE_PATH define as it is not portable to other locations. It is hard coded to the project location that was used for the CMake configuration. Furthermore it paths with backslashes within it are treated as escape characters and not a path separator

* Updated the LyTestTools asset_processor.py script to copy the exclude.filetag from the EngineAssets/Engine directory now

* Fixed Atom Shader Preprocessing when running using an External Project

* Updated the TSGenerateAction.cpp to fix the build error with using a renamed variable

* Updated the Install_Common.cmake ly_setup_others function to install the
EngineAssets directory and the each of the Gem's Assets directory while
maintaining the relative directory structure to the Engine Root
Also updated the install step to install the Registry folder at the
engine root

* Fixed the copying of the Registry folder to be in the install root, instead of under a second 'Registry' folder

* Moving the AssetProcessorPlatformConfig.setreg file over to the Registry folder

* Updated the LyTestTools and C++ code to point that the new location of
the AssetProcessorPlatformConfig.setreg file inside of the Registry
folder

* Renamed Test AssetProcessor*Config.ini files to have the .setreg extension

* Converted the AssetProcessor test setreg files from ini format to json
format using the SerializeContextTools convert-ini command

* Updated the AssetProcessor CMakeLists.txt to copy over the test setreg files to the build folder

* Updated the assetprocessor test file list to point at the renamed AsssetProcessor*Config setreg filenames

* Removed the Output Prefix code from the AssetProcessor. The complexity that it brought to the AP code is not needed, as users can replicate the behavior by just moving there assets underneath a another folder, underneath the scan folder

* Adding back support to read the AssetProcessorPlatformConfig.setreg file from the asset root. This is only needed for C++ UnitTests as they run in an environment where the accessing the Engine Settings Registry is not available

* Updating the Install_common.cmake logic to copy any "Assets" folder to
the install layout.
The Script has also been updated to copy over the "Assets" folder in the
Engine Root to the install layout instead of an "EngineAssets" folder

* Updating References to EngineAssets source asset folder in code to be the Assets source folder

* Moved the Engine Source Asset folder of 'EngineAssets' to a new folder name of 'Assets'. This is inline with the naming scheme we use for Gem asset folders

* Adding the EngineFinder.cmake to the AutomatedTesting project to allow it to work in a project centric manner

* Updating the LyTestTools copy_assets_to_project function to be able to copy assets with folders to the temporary project root
Fixed an issue in LyTestTools where the temporary log directory could have shutil.rmtree being called twice on it leading to an exception which fails an automated test

Updated the asset_procesor_gui_tests_2 AddScanFolder test to not use the
output prefix, but instead place the source asset root into a
subdirectory

* Correct the AssetProcessorPlatformConfig Scan Folders for the EngineAssets directory to point at the Assets directory

* Updated the asset procesor batch dependency test scan folder to point at the 'Assets' folder instead of 'EngineAssets'
5 years ago
Guthrie Adams 518c6cb760
Merge pull request #385 from aws-lumberyard-dev/Atom/guthadam/ATOM-14003
ATOM-14003 adding image thumbnails to material inspector properties
5 years ago
Guthrie Adams 167b7f36a6
Merge pull request #373 from aws-lumberyard-dev/Atom/guthadam/ATOM-15370
ATOM-15370 Fix thumbnail scaling and sizing issues
5 years ago
guthadam 5cac07b4c1 ATOM-14003 adding image thumbnails to material inspector properties
https://jira.agscollab.com/browse/ATOM-14003
5 years ago
guthadam eeafb5eaa3 ATOM-15370 Fix thumbnail scaling and sizing issues
TLDR
Thumbnails size will be removed from the system.
Each thumbnail class is responsible for determining its stored size.
Images and other thumbnail types can be scaled up or down within reason without blurring.

The thumbnail system uses the concept of context and size organize thumbnails by size based on their intended use.  However, most of the thumbnail classes do not respect or use the specified size, which is 16 by 16 pixels and really only usable for small icons.

The thumbnails are currently being used in the asset browser tree control, the larger asset browser previews, the material component property asset controls, the material component inspector for the large preview, and other places.  Each of these places use completely different sizes, some of which are large and change dynamically. Whenever the thumbnails are painted they are scaled to the desired size.

Material and mesh thumbnails were always being captured at 512x512 regardless of what the rest of the thumbnail system said.  Source, product, and folder thumbnails would be stored at the original asset size.  The loading movie thumbnail was always drawn at 16 by 16 and scale up so it was always blurry.  Image thumbnails were always scaled down to 16 by 16 and scale up for larger previews.

Rather than worrying about the size of each context, each thumbnail class will store the image at whenever it deems to be a large enough size that can be scaled down when used.

This may eliminate the need for multiple thumbnail contexts which are not being used anyway.

https://jira.agscollab.com/browse/ATOM-15370
5 years ago
mnaumov daea5e93b2 Adding groupname to material instance 5 years ago
mnaumov 30458bc1be PR feedback 5 years ago
mnaumov b215d1c098 Enlarged thumbnails on hover 5 years ago
mnaumov af00191e82 merge from main 5 years ago
mnaumov db9b0f141f Double click launches Material Editor 5 years ago
AMZN-mnaumov 5ef212624f
Merge pull request #53 from aws-lumberyard-dev/Atom/mnaumov/ATOM-5659
[ATOM-5659] Adding "Open Material Editor" action to Material Component slot context
5 years ago
guthadam 48e53ac66b Correctingtypo 5 years ago
guthadam 2baa0db2de Standardizing dialog button boxes across material editor and component
Making dialogs modal

https://jira.agscollab.com/browse/ATOM-15173

https://jira.agscollab.com/browse/ATOM-15174
5 years ago
mnaumov a23a2fba65 PR feedback 5 years ago
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 5 years ago
mnaumov 5050de2604 Adding "Open Material Editor" action to Material Component slot context menu 5 years ago
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 5 years ago
alexpete c2cbd430fe Integrating up through commit 90f050496 5 years ago
alexpete 36c4e827bd Integrating latest from github/staging
Integrating up through commit 5e1bdae
5 years ago
alexpete 75dc720198 Integrating latest 47acbe8 5 years ago
alexpete a10351f38d Initial commit 5 years ago