Converts the ad-hoc design of the Material Editor to utilize the same inspector interface as most everything else does.

- Overhauls the material editor to simplify and streamline the logic behind it since the inspector does most of the work
- Tweak a few order positions of materialdefinition fields to work better
- Sets AO, Rough and Metal channel fields to use an enum type for human readability
- Updates the MaterialPreview gui control to work with assetIds
- MatEd now supports setting of parent material to inherit from
- Creating a new material now can prompt selecting an existing material to inherit from
- Can now edit the mapTo value of a material in the matEd
- New standalone Composite Texture Editor window for convering AO, Roughness and Metalness maps in a material to an ORMMap
- Can also star the creation of a composite texture via RMB context menu in AB on an image asset
- Moved logic of CubemapEditor from MatEd to it's own stuff
- Made ImageAsset fields now be more clear when they have nothing assigned, and also have a clear button to empty the field's value so it's consistent across the board
- Reorganized the layout of the gui and image files for the MatEd to be easier to navigate
- MaterialEditor now overlays the EditorGUI instead of being forcefully embedded in it, allowing easy editing of the MatEd Gui via the Gui editor
This commit is contained in:
JeffR 2025-08-03 12:03:02 -05:00
parent 8e93753b15
commit f3cad0d77e
173 changed files with 3713 additions and 6977 deletions

View file

@ -47,6 +47,7 @@ function initializeWorldEditor()
exec("./gui/probeBakeDlg.gui" );
exec("tools/gui/cubemapEditor.gui" );
exec("tools/gui/compositeTextureEditor.gui" );
exec("tools/gui/postFxEditor.gui" );
// Load Scripts.
@ -71,6 +72,8 @@ function initializeWorldEditor()
exec("./scripts/visibility/probeViz." @ $TorqueScriptFileExtension);
exec("./scripts/buttonPalette." @ $TorqueScriptFileExtension);
exec("tools/gui/cubemapEditor." @ $TorqueScriptFileExtension );
exec("tools/gui/compositeTextureEditor." @ $TorqueScriptFileExtension );
exec("tools/gui/postFxEditor." @ $TorqueScriptFileExtension );
exec("tools/gui/renderTargetVisualizer.ed." @ $TorqueScriptFileExtension);

View file

@ -671,7 +671,7 @@ function EditorGui::updateSideBar(%this)
case "ForestEditorPlugin ":
ForestEditorPalleteWindow.onMouseDragged();
case "MaterialEditorPlugin":
MaterialEditorPreviewWindow.onMouseDragged();
MaterialEditorGuiWindow.onMouseDragged();
case "MeshRoadEditorPlugin":
MeshRoadEditorTreeWindow.onMouseDragged();
case "MissionAreaEditorPlugin":

View file

@ -43,7 +43,7 @@ function WorldEditor::onSelect( %this, %obj )
// Used to help the Material Editor( the M.E doesn't utilize its own TS control )
// so this dirty extension is used to fake it
if ( MaterialEditorPreviewWindow.isVisible() )
if ( MaterialEditorGui.isVisible() )
MaterialEditorGui.prepareActiveObject();
// Update the Transform Selection window