Commit Graph

62 Commits

Author SHA1 Message Date
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
nathan mitchell
a0fc664d78 ModelingMode: Fix the static mesh tool target to not be so aggressive in checking for transaction success when modifying mesh descriptions to prevent a crash from occurring when asset editors are closed with local changes during an asset reload.
#preflight 63d43aa6f626715201a0736e
#rb Jimmy.Andrews
#jira UE-172722

[CL 23922360 by nathan mitchell in ue5-main branch]
2023-01-31 00:54:25 -05:00
christopher waters
7215f7d4ec Fully moving MaterialDomain to its own header.
#jira none
#preflight 639b4dc335203bc7aa695078

[CL 23531533 by christopher waters in ue5-main branch]
2022-12-15 16:01:51 -05:00
ryan schmidt
ec6a90a532 GeometryScript: add MeshCreateBoneWeights function. Fix bug in CreateNewSkeletalMeshAssetFromMesh function where Skeleton was never being passed on to creation function.
ModelingOperators:
Change FSkinBindingOp to use GetOrCreateSkinWeightsAttribute intsead of just directly accessing the SkinWeightAttribute (as it could be nullptr and this was not handled)
Fix various issues in CreateSkeletalMeshAsset(). Register MeshDescription attributes before trying to convert from DynamicMesh. Make sure there is always at least one Material being passed (otherwise ensures are hit in Material UVData check). Actually return created SkeletalMesh (!)


#rb none
#preflight 639382310d013d47ef35de03
[FYI] halfdan.ingvarsson

[CL 23499832 by ryan schmidt in ue5-main branch]
2022-12-13 18:16:43 -05:00
wouter burgers
2c26587512 UEFN / Live Edit: Fixed shutdown crash introduced in #23477312.
#preflight none

[CL 23480892 by wouter burgers in ue5-main branch]
2022-12-12 14:30:42 -05:00
halfdan ingvarsson
694e3702e6 Geometry Scripting: Asset creation and binding functionality for skeletal meshes
#jira UE-168307
#rb ryan.schmidt
#preflight 638ec4b167018b14b5798436

[CL 23421753 by halfdan ingvarsson in ue5-main branch]
2022-12-06 19:47:20 -05:00
alexis matte
4897d11583 Add Absolute criterion to staticmesh FMeshReductionSettings.
#rb brian.karis , jeanluc.corenthin , richard.talbotwatkin
#rnx
#preflight 638e35291776b8c21c32026b

[CL 23399365 by alexis matte in ue5-main branch]
2022-12-05 16:24:30 -05:00
ryan schmidt
74b3c229b3 ModelingMode: Mesh Element Selection system evolution.
Refactor most of FDynamicMeshSelector into FDynamicMeshSelectorBase, FDynamicMeshSelector is now a subclass.
Move the DynamicMeshTransformer from cpp to FBasicDynamicMeshSelectionTransformer in header.
Add FVolumeSelector and FStaticMeshSelector which are derived from FBaseDynamicMeshSelector.
Add ability to filter selection queries/edits by TopologyID in FGeometrySelectionEditor. This is necesary for polygroup and polygroup-edge selections as their encoding includes an arbitrary TriangleID paired w/ the TopologyID.
UGeometrySelectionManager now manages this TopologyID filtering on selection editors it creates/updates
Add concept of "Tracked" selection changes to UGeometrySelectionManager, allows a single selection FChange to be constructed incrementally, eg like with a brush. Add a variant of raycast-selection-update that can be run inside a tracked change.
#rb none
#preflight 6388f0cf4b2f03a7d761ccef

[CL 23361634 by ryan schmidt in ue5-main branch]
2022-12-01 16:11:52 -05:00
matija kecman
693d9f5877 MeshModelingToolset: Fix SaveGeneratedTexture2DAsset not preserving sRGB state when overwriting an exisiting texture asset
#rnx
#rb lonnie.li, ryan.schmidt
#preflight 636a5a79f56cab38c71df202

[CL 23026982 by matija kecman in ue5-main branch]
2022-11-08 08:37:52 -05:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00