Commit Graph

93 Commits

Author SHA1 Message Date
semion piskarev
8c3bb7ea9a MeshModelingTools: Allow user to set specific extrude distance in PolyEd.
#rb Rinat.Abdrashitov, Jimmy.Andrews
#jira none
#preflight 622b6e420a614dcb0cfb8e0d

[CL 19355551 by semion piskarev in ue5-main branch]
2022-03-11 11:01:04 -05:00
semion piskarev
8f0169fb91 MeshModelingTools: CubeGrid improvements.
- Fix bugs with how the tool deals with materials.
- Make UV's always stay aligned in the same orientation.
- Make UV's be contiguous when performing multiple steps with the same selection.
- Make sides maintain same groups with repeated steps of the same selection.
- Add support for scaling UV's.
- Add support for focus hotkey.
Also change how frame is chosen when subtracting to avoid some weird flipping logic.

#rb Matija.Kecman, Lonnie.Li
#jira none
#preflight 622b58e032749f363c82087b

[CL 19353955 by semion piskarev in ue5-main branch]
2022-03-11 09:28:29 -05:00
ryan schmidt
1db3f2bad8 ModelingComponents: pass visibility filter to SpatialCache query in ModelingSceneSnappingManager snap query, so that hidden objects are not included in the set of valid targets
#rb tyson.brochu
#jira UE-145161
#preflight 62278878671c913c051ec8c6
#rnx
#lockdown simon.tourangeau

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19305700 in //UE5/Release-5.0/... via CL 19306610
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347211 by ryan schmidt in ue5-main branch]
2022-03-10 21:07:11 -05:00
lonnie li
8ed8a29e69 GeometryScript: Added CreateNewTexture2DAsset function
#rb semion.piskarev
#jira none
#preflight 62278b28e83598518f37e7b2

[CL 19309284 by lonnie li in ue5-main branch]
2022-03-08 15:11:38 -05:00
ryan schmidt
250bc3a820 Re-add a few symbol exports that were lost in UE5 branching.
#rb tyson.brochu
#preflight 62211dad4e07145cce561fd4
#jira none
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19252433 in //UE5/Release-5.0/... via CL 19252680
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263458 by ryan schmidt in ue5-main branch]
2022-03-04 03:42:23 -05:00
semion piskarev
b3d2f4c811 MeshModelingTools: Fix infinite loop crash in CubeGrid tool when cell size is set to 0.
#rb Rinat.Abdrashitov
#rnx
#jira UE-144218
#preflight 621e30cab20446f11c615210

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 19199179 in //UE5/Release-5.0/... via CL 19200495
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19214872 by semion piskarev in ue5-main branch]
2022-03-01 21:06:13 -05:00
semion piskarev
50dc6daa40 MeshModelingTools: Add a little helper struct to convert lists/sets of eids into stable identifiers and back.
#rb Jimmy.Andrews, Ryan.Schmidt
#jira UE-143789
#preflight 621cef98037be0078ca30b2c

[CL 19175025 by semion piskarev in ue5-main branch]
2022-02-28 11:35:13 -05:00
semion piskarev
36e35bdaac MeshModelingTools: Fix crash when hitting delete and marquee selecting at the same time in PolyEdit.
#rb Jimmy.Andrews
#rnx
#jira UE-143243
#preflight 6210193fad11de9431d2afa4


#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 19093207 via CL 19093826 via CL 19094601 via CL 19096102 via CL 19105343
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146652 by semion piskarev in ue5-main branch]
2022-02-25 09:43:15 -05:00
ryan schmidt
7c983b8d45 GeometryCore: clean up issues that block non-LWC builds
#rb david.hill
#preflight 620ff48d53204823ae859ccb

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19064974 via CL 19076437 via CL 19077315 via CL 19078956
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19122734 by ryan schmidt in ue5-main branch]
2022-02-24 15:01:41 -05:00
ryan schmidt
2df20e1435 ModelingTools: fix issue in MeshSceneAdapter introduced by recent refactor. FActorChildMesh::MeshSpatial was being always initialized to nullptr, and only updated if the mesh was decomposed. Add code to catch this case in future, and a bit of header documentation explaining the connections between the various data structures.
#rb sebastien.lussier
#jira UE-142577
#preflight 620ab73d6e5d06a542a3e7fa
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18985112 in //UE5/Release-5.0/... via CL 18986186 via CL 18987704
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18988058 by ryan schmidt in ue5-main branch]
2022-02-14 18:33:21 -05:00
ryan schmidt
f5d5ecc309 ModelingTools: fix LWC issues in scene snapping and AddPrimitiveTool. Convert MeshDebugDraw grid-drawing functions to use double instead of float, and update call sites.
#rb jimmy.andrews
#jira UE-142391
#preflight 620ab60d583261b0a665cdc2
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18985048 in //UE5/Release-5.0/... via CL 18985896 via CL 18987678
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18988038 by ryan schmidt in ue5-main branch]
2022-02-14 18:32:46 -05:00
lonnie li
5d135d0aa8 ModelingTools: Fixed race condition when setting override render material on preview mesh in BakeTexture & BakeAll.
#rb jimmy.andrews
#rnx
#jira UE-142326
#preflight 62075a203a5afc57e3bbf75c
#lockdown aurel.cordonnier

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18980712 in //UE5/Release-5.0/... via CL 18980929 via CL 18981207
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18981374 by lonnie li in ue5-main branch]
2022-02-14 12:20:58 -05:00
ryan schmidt
c8374ef04e ModelingTools: fix static analysis issue
#rb jimmy.andrews
#jira none
#preflight 62072ff7ab22f3d80a6045e9
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18980668 in //UE5/Release-5.0/... via CL 18980919 via CL 18981194
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18981368 by ryan schmidt in ue5-main branch]
2022-02-14 12:20:25 -05:00
ryan schmidt
b4814d732d ApproximateActors: reduce memory footprint by using compressed or lower-resolution LOD0 meshes
- add FStaticMeshLODResourcesAdapter in MeshConversions module, wrapper that presents StaticMesh LODResources mesh (ie Section buffers) with an API compatible with GeometryCore mesh templates
- add TMeshWrapperAdapterd in GeometryCore, this is a shim for getting any template-API-compatible mesh into a FTriangleMeshAdapterd specifically (required to call some non-template mesh processing functions)

- add support for using StaticMesh LODResources meshes in FMeshSceneAdapter instead of source meshes, controlled by build options flag
- add FMeshSceneAdapter build options flags specifying whether UV/Normal queries are required (default true)
  - when not required, the loaded MeshDescriptions and created DynamicMeshes are packed into FColliderMesh which has a smaller memory footprint, allowing the larger meshes to be freed

- to support above, the SpatialWrappers in MeshSceneAdapter.cpp have been refactored extensively
  - added FCompressedMeshSpatialWrapper which Builds from a temporary FDynamicMesh3 into a FColliderMesh, supports all the same options as FDynamicMeshSpatialWrapper (so a drop-in replacement with less memory usage, but no UV/Normal queries)
  - added FBaseMeshSpatialWrapper, base class for existing FDynamicMeshSpatialWrapper and new FCompressedMeshSpatialWrapper that has shared config settings (can more more here in the future)
  - added FStaticMeshLODResourcesMeshSurfaceAdapter, similar toFMeshDescriptionTriangleMeshSurfaceAdapter, a mesh adapter that filters out any geo that doesn't have a Surface-domain material
  - refactored TStaticMeshSpatialWrapper into TStaticMeshSpatialWrapperBase and subclasses FStaticMeshSourceDataSpatialWrapper and FStaticMeshRenderDataSpatialWrapper, for source mesh vs render mesh
  - added FCompressedStaticMeshSpatialWrapper, variant of FStaticMeshSourceDataSpatialWrapper that stores to a FColliderMesh and releases the source MeshDescription
  - SpatialWrapperFactory() now has logic to build from render mesh vs source mesh vs compressed source mesh
  - moved initial SpatialWrapper construction from AddActors() phase to Build() phase, because now it depends on build settings

- add EMeshDataSourceLODPolicy to IGeometryProcessing::FOptions, with LOD0 Source and LOD0 RenderMesh options
- ApproximateActorsImpl now provides/handles this policy setting, and configures FMeshSceneAdapter to not need UV/Normal queries (not required in this context)
- add bUseRenderLODMeshes option in FMeshApproximationSettings to expose render vs source mesh control at user level

#rb sebastien.lussier, rinat.abdrashitov
#jira UE-141256
#preflight 6206db44054c2e38c473be5d
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18963126 in //UE5/Release-5.0/... via CL 18963829 via CL 18964587
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18964607 by ryan schmidt in ue5-main branch]
2022-02-11 18:11:49 -05:00
ryan schmidt
ccde341d7d update FTransform3d to FTransformSRT3d
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18952618 via CL 18953740 via CL 18954339
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18954439 by ryan schmidt in ue5-main branch]
2022-02-11 12:19:59 -05:00
ryan schmidt
4d673ed7f5 ApproximateActors: explicitly release any allocated MeshDescriptions on destruction of TStaticMeshSpatialWrapper in FMeshSceneAdapter. This reduces memory usage peaks in Approximate Actors generation (Merge Actors and HLOD).
#rb sebastien.lussier
#jira UE-141256
#preflight 62015db29144319e2013b9fe
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18892767 in //UE5/Release-5.0/... via CL 18893087 via CL 18893506
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18893541 by ryan schmidt in ue5-main branch]
2022-02-07 16:33:45 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
michael balzer
b7e8ab50b9 MeshModelingToolset: Clean-up module dependencies
#preflight 61f87e13a6632a34f35f9604

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18802939 in //UE5/Release-5.0/... via CL 18802947 via CL 18821568
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821648 by michael balzer in ue5-main branch]
2022-02-02 01:48:09 -05:00
andrew davidson
60a1fa84a7 Fix FVector2D variant casts - Plugins
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f86c4ca6632a34f35dfbca

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18800855 in //UE5/Release-5.0/... via CL 18802061 via CL 18802724
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18810177 by andrew davidson in ue5-main branch]
2022-02-01 12:08:54 -05:00
semion piskarev
e0d63c57d2 MeshModelingTools: Add SelectAll and InvertSelection actions to PolyEd.
#rb Lonnie.Li
#rnx
#jira none
#preflight 61f94857a6632a34f371a9b9

[CL 18808632 by semion piskarev in ue5-main branch]
2022-02-01 10:16:18 -05:00
ryan schmidt
6ad26b69f0 rename UE::Geometry::TTransform3 to TTransformSRT3, update references
#rb none
#rnx
#jira UE-139757
#preflight 61f572d9e52a8a4a910990f1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18784197 in //UE5/Release-5.0/... via CL 18784203 via CL 18784222
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18784226 by ryan schmidt in ue5-main branch]
2022-01-29 14:37:53 -05:00
lonnie li
4afd669dcb ModelingTools: Clear TargetWorld member during Shutdown of SingleSelectionMeshEditingTool and MultiSelectionMeshEditingTool
#rb ryan.schmidt michael.balzer
#rnx
#jira none
#preflight 61f435dd74510448a6865d14

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18777332 in //UE5/Release-5.0/... via CL 18780413 via CL 18780555
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18780558 by lonnie li in ue5-main branch]
2022-01-28 18:40:54 -05:00
lonnie li
e1c7ca927e Fix non-unity error in SingleSelectionMeshEditingTool & MultiSelectionMeshEditingTool
#rb trivial
#rnx
#jira none
#preflight 61f421f76b5aea38e5bd90fb

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18773159 in //UE5/Release-5.0/... via CL 18773298 via CL 18773779
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18773785 by lonnie li in ue5-main branch]
2022-01-28 12:44:22 -05:00
semion piskarev
04dbf52cb8 MeshModelingTools: Reorder selection filter in PolyEd to have vertices before faces.
#rb Rinat.Abdrashitov
#rnx
#jira
#preflight 61f316c4801201ab386c4556

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18771230 in //UE5/Release-5.0/... via CL 18771248 via CL 18771364
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771419 by semion piskarev in ue5-main branch]
2022-01-28 10:23:09 -05:00
lonnie li
d041f2273b ModelingTools: Fix crash when reloading levels during an AutoLOD compute
#rb ryan.schmidt
#rnx
#jira UE-139485
#preflight 61f38478da54035207ecae9b

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18771194 in //UE5/Release-5.0/... via CL 18771204 via CL 18771302
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771314 by lonnie li in ue5-main branch]
2022-01-28 10:18:10 -05:00