Commit Graph

200 Commits

Author SHA1 Message Date
Jimmy Andrews
27f33f7704 minor typo fix in modeling mode toolkit toolbar comments
#rb trivial
#jira none

[CL 27632950 by Jimmy Andrews in ue5-main branch]
2023-09-06 09:58:13 -04:00
ryan schmidt
5471ec5671 ModelingMode: add new Harvest Instances Tool, which can be used to gather static mesh components/instances from multiple Actors into new InstancedStaticMeshComponents under one or more new Actors.
#rb none

[CL 26786877 by ryan schmidt in ue5-main branch]
2023-08-02 16:39:01 -04:00
nickolas drake
17f8dc82ec ModelingToolsEditorMode: Updated tool icons.
Added icons for the Revolve Spline, Mesh Splines, and ISM Editor tools. Updated the icons for Revolve Boundary and Revolve Path.

#rb lonnie.li

[CL 26774010 by nickolas drake in ue5-main branch]
2023-08-02 11:17:41 -04:00
nathan mitchell
a7d92eb30f ToolPresets: Adjust handling of text display in preset dialogs and menus to prevent egregious widget overflow across the screen.
#rb Ryan.Schmidt
#jira UE-185676

[CL 26747821 by nathan mitchell in ue5-main branch]
2023-08-01 14:25:41 -04:00
nathan mitchell
303731454c ModelingMode: Fix crash issue with the Interactive Tool Presets where non-property set data could get loaded and cause internal tool data structures to become corrupted.
#rb Ryan.Schmidt
#jira UE-185238

[CL 26747144 by nathan mitchell in ue5-main branch]
2023-08-01 14:12:52 -04:00
nathan mitchell
8620759ea8 ModelingMode: Fixes the Vertex Sculpt tool to properly update it's detail panel customizations when falloff types and alpha textures are loaded from presets.
#rb Ryan.Schmidt
#jira UE-188153

[CL 26747129 by nathan mitchell in ue5-main branch]
2023-08-01 14:12:42 -04:00
george rolfe
c0c950c05c [ToolPresets] Renamed the modules to match the plugin name
#jira UE-190093
#rb jimmy.andrews
#rb nathan.mitchell

[CL 26499890 by george rolfe in ue5-main branch]
2023-07-20 18:29:58 -04:00
semion piskarev
13517cb3d6 MeshModelingTools: Let clicking the currently active category re-show the tool buttons that are hidden when a tool is open.
#rb Karen.Jirak

[CL 26330115 by semion piskarev in ue5-main branch]
2023-06-29 18:01:35 -04:00
nathan mitchell
afbfb78df1 Tool Presets: Fixes a number of UI adjustments and fixes for the Preset feature in modeling tools.
* Provides support for displaying asset names in the asset picker flyout's tile view.
* Reworks Preset manager moderately to have more streamlined controls and use of context menus to handle deletion and renaming
* Fixes the asset picker to display preset collections regardless if the user has configured the editor to show plugin/editor content
* Alters some language around the preset system for clarity

#rb Jimmy.Andrews
#jira UE-183734

[CL 26326674 by nathan mitchell in ue5-main branch]
2023-06-29 16:22:55 -04:00
tyson brochu
f605a439af Mesh Topology Selection Mechanic: enable/disable different selection modes in the details customization
#rb semion.piskarev

[CL 26319136 by tyson brochu in ue5-main branch]
2023-06-29 13:27:16 -04:00
benoit gadreau
2a03c8dae2 Skeleleton Editing Tools icons
#jira UE-183608
#jira UE-183931
#rb kiaran.ritchie

[CL 26261433 by benoit gadreau in ue5-main branch]
2023-06-27 12:38:45 -04:00
ryan schmidt
826eb71a04 ModelingMode: selection system bugfixes & improvements.
Add DynamicMeshSelector::UpdateAfterGeometryEdit API. StaticMeshSelector implementation updates static mesh after an Edit instead of emitting MeshChange on temporary DynamicMesh.
Delete and Retriangulate Commands now use this API instead of directly emitting transaction, so now these commands work properly on Static Meshes.

FStaticMeshComponentSelectorFactory::CanBuildForTarget now only allows UStaticMeshComponent specifically, filtering out subclasses. This is not ideal but I don't know what else we can do for now, there are many subclasses like ISMC, SplineMeshComponent, etc, that will not work w/ the Selection system. Also now filtering out Engine assets and cooked assets.

ModelingToolsEditorMode now listens for blueprint pre-compiles, and when this occurs, clears the active selection and selection targets. This is necessary because if the selection Component was part of a BP, on recompile it is re-instanced and the old pointer goes stale. Possibly can handle this better or at a more granular level, but clearing the selection is safest. This currently results in things not being undoable because the FChange transactions are on the "old" UDynamicMesh that no longer exists.

UModelingToolsEditorMode::UpdateSelectionManagerOnEditorSelectionChange now does a more thorough job of inspecting the current Actor/Component selection to find Components that could work w/ the selection system.

#rb lonnie.li

[CL 26133067 by ryan schmidt in ue5-main branch]
2023-06-20 16:23:43 -04:00
nathan mitchell
d742271d4d ModelingMode: Add missing icons to several new tools.
#rb Ryan.Schmidt
#jira UE-187508

[CL 26068376 by nathan mitchell in ue5-main branch]
2023-06-16 16:21:33 -04:00
nathan mitchell
7399c9bb75 Modeling Mode: Added a new tool to assist with the editing of simple collision primitives for static and dynamic meshes.
This tool mostly encapsulates the basic collision editing behaviors found within the Static Mesh Editor, but exists as a tool within Modeling Mode to work along side existing collision tools, such as Collision to Mesh and Mesh to Collision.

Initial features include:

* Support for selecting and transforming collision primitives, including primitive aware transforms (such as explicit length and radius controls on capsule shapes).
* Adding new simple shapes (spheres, boxes, and capsules)
* Duplicating existing shapes
* Deleting some or all collision geometry

#rb Ryan.Schmidt
#jira UE-182341

[CL 26066042 by nathan mitchell in ue5-main branch]
2023-06-16 15:31:59 -04:00
kiaran ritchie
52161663e5 Swapping Skeletal Mesh Editing tools to use toolkit builder UI.
New default tab layout for skeletal mesh editor.
Skel Mesh tools activate immediately when opening editor.

#rb benoit.gadreau
#JIRA https://jira.it.epicgames.com/browse/UE-183091
#fyi halfdan.ingvarsson

[CL 26024811 by kiaran ritchie in ue5-main branch]
2023-06-15 16:27:50 -04:00
steve robb
7f33f7f85b Lambda capture fixes ahead of perfect forwarding of lambda Execute*() arguments.
#rb devin.doucette

[CL 26019339 by steve robb in ue5-main branch]
2023-06-15 13:44:32 -04:00
semion piskarev
b4529d4548 MeshModelingTools: Create Draw Spline Tool for drawing splines and spline-based blueprints.
#rb Jimmy.Andrews
#jira UE-182356

[CL 25991352 by semion piskarev in ue5-main branch]
2023-06-14 15:47:10 -04:00
matija kecman
85b013fc3d Render Capture Baking: Re-enable the BakeRC tool in restrictive mode to make it work in UEFN
#rb michael.balzer,eric.knapik
#preflight 6470e798b23e10183d134ac5

[CL 25651465 by matija kecman in ue5-main branch]
2023-05-26 15:48:37 -04:00
semion piskarev
95f425885f MeshModelingTools: Conditionally turn the accept/cancel overlay opaque to draw on top of level instance editing overlay. Also fix minor memory leak in the way we did custom section colors in the old palette.
#rb Jimmy.Andrews
#preflight 6470ced0f370d0faccd3dfb9

[CL 25649466 by semion piskarev in ue5-main branch]
2023-05-26 13:55:56 -04:00
michael balzer
472ec578bb MeshModelingToolset: Re-enable ISM tools in Restrictive Mode
#preflight none

[CL 25645551 by michael balzer in ue5-main branch]
2023-05-26 12:22:18 -04:00
nathan mitchell
7f7edb798d Tool Presets: Fix handling of tool preset collection selection to properly display collections after switching back and forth from no collection selection to a specific collection selected.
#preflight 64656234f033744ae6c08744
#rb Jimmy.Andrews
#jira UE-185495

[CL 25615139 by nathan mitchell in ue5-main branch]
2023-05-24 19:52:01 -04:00
nathan mitchell
455021df94 Tool Presets: Handle scenario when the user provides a blank label and tooltip during preset creation better.
#preflight 646548d0317ee2d9d18383e2
#rb Jimmy.Andrews
#jira UE-183807

[CL 25614929 by nathan mitchell in ue5-main branch]
2023-05-24 19:28:56 -04:00
nathan mitchell
add67e8096 Tool Presets: Adjust handling of the preset label and tooltip fields to cap character counts that are more reasonable and don't break integration into menus.
#preflight 64654873c34c2e1212b5e7fa
#rb Jimmy.Andrews
#jira UE-185676

[CL 25614635 by nathan mitchell in ue5-main branch]
2023-05-24 19:07:52 -04:00
ryan schmidt
3a37357aa3 ModelingTools: add new Vertex Painting Tool
Add UMeshVertexPaintTool, subclass of UMeshSculptToolBase. Paints Mesh Vertex Colors (ie Asset colors, not instance colors). Provides many interactions similar to GroupPaintTool (ie brush paint, click-to-fill, poly-lasso, volumetric vs connected brush ROI, UV/Normal seams, visibility filter, etc. Supports painting split-vertex colors, or smooth per-vertex colors (bHardEdges setting). Supports various brush types (paint, smooth, "blend" = average split values). Painting supports custom color-blend modes (ie "over" mode, does stroke compositing like pixel painting tools). Can show vertex color under cursor. Supports showing vertex color or original materials. Ability to filter channels for visibility/painting. Actions buttons to fill current-color/black/white. "Utility" panel for common operations (blend all seams, fill channels, invert channels, copy channel to channel, swap channels, copy from weight map, copy to all/single LOD).

Internally supports seam painting by splitting all colors on startup (ie to create per-triangle-vertex color) and then welding on shutdown.

Current auto-RGBA conversions are inverted, internally the tool works in Linear colors, preview DynamicMeshComponent is configured to convert to SRGB in color buffers (similar to static mesh).

Vertex color brush ops added in MeshVertexPaintBrushOps.h, deriving from new FMeshVertexColorBrushOp. Various color-blending functions implemented there, should be moved to centralized place eventually.

Expose MeshVertexPaintTool in ModelingMode
Add FModelingToolsColorChannelFilter, for toggling R/G/B/A filtering state, and a details customization that shows these four checkboxes in a horizontal row. Use in MeshVertexPaintTool, Register in Modeling Mode.

#rb none
#preflight 646cfc50205f5d23d53f80f1

[CL 25592458 by ryan schmidt in ue5-main branch]
2023-05-23 18:18:39 -04:00
matija kecman
ae026188f8 Render Capture Baking: Make BakeRC tool output a new material configured with the generated textures
This change also extends UModelingObjectsCreationAPI to support materials by duplicating a given material

#rb ryan.schmidt
#jira UE-182349
#preflight 6467649a573c1da15838e005

[CL 25548119 by matija kecman in ue5-main branch]
2023-05-19 13:50:08 -04:00