Commit Graph

80 Commits

Author SHA1 Message Date
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
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
joe pribele
0574fc6d7a removed usage of TObjectPtr.IsNull and IsNullNoResolve
#rb zousar.shaker
#p4v-preflight-copy 22193787

[CL 22361481 by joe pribele in ue5-main branch]
2022-10-05 15:34:23 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
ryan schmidt
4ffc24f96e Modify various interfaces in ModelingComponents and GeometryScripting to use the engine FMeshNaniteSettings instead of just a "nanite proxy percentage" parameter or custom nanite settings struct. Update affected callers and Lyra assets.
This change does break existing Blueprints that have used the now-deprecated pins/properties. There is no way to gracefully handle this as deprecating the uproperty requires that it no longer be editable in the Blueprint.

#rb jimmy.andrews
#preflight 632b846e10030508061417a9
#jira UE-151882

[CL 22145808 by ryan schmidt in ue5-main branch]
2022-09-22 17:36:58 -04:00
michael balzer
2483495b86 ModelingMode: Use actor factory when creating static mesh assets
#preflight 63213620506f1a33e08bbaf9
#rb graeme.thornton, rex.hill, david.hill

[CL 22020648 by michael balzer in ue5-main branch]
2022-09-14 20:14:40 -04:00
bryan sefcik
0eeac455e0 Pass 3 on cleaning up build.cs files.
#jira
#preflight 631b9c15d31788ea3ab0f27b

[CL 21935601 by bryan sefcik in ue5-main branch]
2022-09-10 00:02:58 -04:00
kriss gossart
0422ca7705 Skeletal Mesh - Replace the newly created GetSkeletalMesh function by GetSkeletalMeshAsset so it matches the setter SetSkeletalMeshAsset function (which itself couldn't be named SetSkeletalMesh due to the function already existing and doing something else).
#rb Josie.Yang
#preflight 62fa2afeae3edb54c979492e
#jira none

[CL 21385959 by kriss gossart in ue5-main branch]
2022-08-15 09:26:50 -04:00