Commit Graph

71 Commits

Author SHA1 Message Date
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
ryan schmidt
4061f31c7c ModelingTools: Add IMeshDescriptionProvider::GetMeshDescriptionLOD() which returns current LOD for a ToolTarget. Implement in StaticMesh Tool Targets. Add UE::ToolTarget::GetTargetMeshDescriptionLOD() which wraps this function
#rb jimmy.andrews
#preflight 646631103660522200164f0c

[CL 25529470 by ryan schmidt in ue5-main branch]
2023-05-18 13:52:35 -04:00
semion piskarev
582964265a MeshModelingTools: Harden tool targets against underlying objects being replaced via blueprints and/or garbage collected.
#rb Lonnie.Li, Jimmy.Andrews
#jira UE-184401
#preflight 64525c58743c256cd692d59e

[CL 25334286 by semion piskarev in ue5-main branch]
2023-05-04 09:51:24 -04:00
lonnie li
b393b59cd5 GeometryScript: Fixed issue where CreateSkeletalMeshAssetFromMesh was not correctly assigning materials.
#rb none

[CL 25309487 by lonnie li in ue5-main branch]
2023-05-02 18:17:06 -04:00
lonnie li
398b472a8f GeometryScript: Fixed issue where CreateSkeletalMeshAssetFromMesh was not correctly assigning materials.
#rb none

[CL 25304257 by lonnie li in ue5-main branch]
2023-05-02 13:25:29 -04:00
semion piskarev
0c5f39f96a MeshModelingTools: Don't transact static mesh asset creation because we are not able to undo it properly anyway.
#rb Jimmy.Andrews
#jira UE-107276, UE-183012, UE-159769
#preflight 644a8f396b589f8b36f2e171

[CL 25219834 by semion piskarev in ue5-main branch]
2023-04-27 14:06:09 -04:00
ryan schmidt
2f30bc1c16 ModelingMode: updates to selection system.
Selection enable/disable can now be toggled dynamically via mode settings popup, toolbar will hide/show based on current setting state.
GeometrySelectionManager is now always created. New Mode function GetMeshElementSelectionSystemEnabled() indicates whether selection is currently enabled, when disabled active targets will not be tracked.
Selection Toolbar icons now are disabled while in a Tool (as selection system is not active then)
New Static Mesh Assets and Volumes created using Modeling Tools now default to unlocked, via new functions on StaticMeshSelector / Volume Selector.
Unlocked Asset/Volume sets are cleared on level change
Added cvars modeling.Selection.EnableStaticMeshLocking and modeling.Selection.EnableVolumeLocking which can be used to fully disable lock-ability of StaticMesh/Volume (default true)
shortened some names of tool group tabs, as labels are now shown and long names make the bar wider
Added a few toast notifications for when setting state changes require a mode or editor restart.
#rb none
#preflight 64426fabb14f1faacff6921d

[CL 25149511 by ryan schmidt in ue5-main branch]
2023-04-21 14:04:50 -04:00
david hill
1660860437 Mesh Modeling - Static Mesh and Static Mesh Component Tool Targets.
Update Can Build Target to distinguish generated LODs.   Tools shouldn't edit generated LODs.

#jira UE-183213
#preflight 64415b4e9566b614506456f5
#rb Rinat.Abdrashitov

[CL 25132341 by david hill in ue5-main branch]
2023-04-20 14:18:49 -04:00
jimmy andrews
e5b9310407 add support for querying LOD support in a mesh description provider, and use this to add an option to apply Bake Transform and Pivot tools to all LODs
#jira UE-182339
#rb ryan.schmidt
#preflight 6439a35c8e019684483b37dd

[CL 25068419 by jimmy andrews in ue5-main branch]
2023-04-17 11:09:56 -04:00
michael balzer
78239f01ef ModelingMode: Use actor factory when creating volumes
#jira UE-182670
#preflight 642f9cc7df6c5c78fcdf77d1
#rb ryan.schmidt

[CL 24984018 by michael balzer in ue5-main branch]
2023-04-10 17:10:01 -04:00
ryan schmidt
d83ee312b8 ModelingMode: bring back in-viewport selection toolbar. Add concept of Locking to IGeometrySelector, have StaticMeshSelector and VolumeSelector default to locked. Add util functions to check/manipulate locking state to UGeometrySelectionManager. Add locked-state indicator/button to selection toolbar.
#preflight 642df231c6769c608209676a
#rnx

[CL 24979045 by ryan schmidt in ue5-main branch]
2023-04-10 12:36:37 -04:00
nathan mitchell
6eb4eda6a2 ModelingComponents: Restore check for SourceModel existence during CanBuild in static mesh tool targets.
#rb Ryan.Schmidt
#preflight 642dde0f8f078cc7031a149c

[CL 24951829 by nathan mitchell in ue5-main branch]
2023-04-06 14:59:42 -04:00
ryan schmidt
0718e0382f ModelingToolset: rewrite material setup in UE::AssetUtils::CreateStaticMeshAsset to not call UStaticMesh::SetMaterial(), which forces a PostEditChange() on each call. Instead build and set a list of FStaticMaterial, which shouldn't result in spurious ddc builds.
#rb rinat.abdrashitov
#preflight 642dbafe4d26bcd1eb1bae8d

[CL 24938086 by ryan schmidt in ue5-main branch]
2023-04-05 17:59:55 -04:00
alexis matte
3374b5028f [Backout] - CL24910510
[FYI] Alexis.Matte
Original CL Desc
-----------------------------------------------------------------
Reorder the hires mesh to fit the LOD 0 in all workflow

#jira
#rb ryan.schmidt
#rnx
#preflight 642c2665ce01db47ac208f69

[CL 24937402 by alexis matte in ue5-main branch]
2023-04-05 17:36:59 -04:00
alexis matte
36bd338e11 Reorder the hires mesh to fit the LOD 0 in all workflow
#jira
#rb ryan.schmidt
#rnx
#preflight 642c2665ce01db47ac208f69

[CL 24912837 by alexis matte in ue5-main branch]
2023-04-04 12:40:15 -04:00
benoit gadreau
34e7de0680 - added USkeletalMesh::Get/CommitMeshDescription functions to ease skeletal mesh manipulations thru mesh description
- store RefBasesInvMatrix when transacting as the number of bones serialized with the ref skeleton can vary
- fixed transaction issue with Modify not being called on USkeletalMeshEditorData


#jira UE-181601
#rb halfdan.ingvarsson
#preflight 642be5c0f376ab43d25f537f

[CL 24912623 by benoit gadreau in ue5-main branch]
2023-04-04 12:27:04 -04:00
nathan mitchell
0953ef8eda ModelingMode: Adjusted the conditions used for checking if targets can build dynamic meshes for modeling tools to include proper checks for cooked assets in the editor.
#rb halfdan.ingvarsson
#preflight 6424857d974dfaa53c67ee9c

[CL 24851226 by nathan mitchell in ue5-main branch]
2023-03-30 02:26:50 -04:00
ryan schmidt
9e06e5a009 ModelingMode: harden handling of editor close, explicitly clear selection and shutdown tools to avoid issues with late mode Exit
#rb lonnie.li
#preflight 642445e0974dfaa53c51ae7e

[CL 24839151 by ryan schmidt in ue5-main branch]
2023-03-29 13:03:31 -04:00
ryan schmidt
38dbc18bd6 ModelingComponents: remove code that explicitly sets static meshes to Movable, they should be Static mobility by default, like placed static meshes
#rb lonnie.li
#preflight 642445e0974dfaa53c51ae7e

[CL 24839141 by ryan schmidt in ue5-main branch]
2023-03-29 13:03:00 -04:00
ryan schmidt
c8acfc09b0 ModelingTools: add support for DynamicMeshComponent Simple Collision in Mesh to Collision Tool, Convert Tool, and Transfer Tool.
ModelingComponents: Add ShapeSet member for passing simple collision shapes in FCreateMeshObjectParams, support in relevant functions in UEditorModelingObjectsCreationAPI. Add UE::Geometry::GetCollisionShapes() functions in ComponentCollisionUtil.h, and update various functions to support DynamicMeshComponent

DynamicMeshComponent: change signature of GetSimpleCollisionShapes() to return const ref

#rb david.hill
#preflight 6421ca54973e609670a408c7

[CL 24819452 by ryan schmidt in ue5-main branch]
2023-03-28 11:19:32 -04:00
ryan schmidt
3880554a59 ModelingMode: preliminary support for selection transform visualization for Volumes and Static Meshes, and other minor improvements.
Add IGeometrySelectionTransformer::PreviewRender() API, for rendering info during selection transforms. Currently being called by  UGeometrySelectionManager::DebugRender() for active transforms.
FBasicDynamicMeshSelectionTransformer implements PreviewRender, draws selected mesh edges (tris as edges) and vertices, as well as affected edge ROI.
FDynamicMeshPolygroupTransformer overrides this behavior and draws polygroup edges/verts and edge ROI

FStaticMeshSelector and FVolumeSelector now create FDynamicMeshPolygroupTransformer for polygroup selections

FBasicDynamicMeshSelectionTransformer::bEnableSelectionTransformDrawing flag controls whether this edge drawing is enabled. Disabled on DynamicMeshComponent, enabled on StaticMesh and Volume.

Add Normals recomputation during tri and polygroup transforms in FBasicDynamicMeshSelectionTransformer and FDynamicMeshPolygroupTransformer

Add FGroupTopologyDeformer::EnumerateROIEdges() util function to support above

#rb none
#preflight 641cd27bc44ce895fc62f724

[CL 24780655 by ryan schmidt in ue5-main branch]
2023-03-24 12:08:43 -04:00
jimmy andrews
143d4cd0c4 add generated light map option to the modeling tools mesh creation settings + make the settings more consistently used by default
also, when creating a static mesh with lightmap enabled via modeling components, also set the lightmap channel and resolution to match the build settings values, to better match the importer results

#jira UE-143961
#8929
#rb ryan.schmidt
#preflight 6406adbf0c7df1967f461e2d

[CL 24542092 by jimmy andrews in ue5-main branch]
2023-03-07 12:04:54 -05:00
semion piskarev
6dd5376acb MeshModelingTools: Fix volumes always having per-triangle normals when not going through volume to mesh tool.
#rb Jimmy.Andrews
#jira UE-152032
#preflight 63f78bb0ae54ee4ce9599a84

[CL 24432234 by semion piskarev in ue5-main branch]
2023-02-27 16:25:17 -05:00
matija kecman
c52fb72f6b Improve the documentation of options in the SubDiv tool
#jira UE-171088
#preflight 63de28a6af610ffb8b5fcbba
#rb jimmy.andrews

[CL 24042071 by matija kecman in ue5-main branch]
2023-02-06 19:14:40 -05:00
semion piskarev
39c64dc365 MeshModelingTools: Fix static mesh mode-level edits (via selector) not being properly undoable until passing through some other tool.
#rb Jimmy.Andrews
#jira UE-174649
#preflight 63dbccc5323e7eaa3065e43a

[CL 23972765 by semion piskarev in ue5-main branch]
2023-02-02 13:25:42 -05:00