Commit Graph

29 Commits

Author SHA1 Message Date
Yuriy ODonnell
49e1679b77 Remove few unnecessary includes from BaseDynamicMeshSceneProxy.h
#rb none (trivial)
#preflight 627138b2cb7b2a06138a0c75

[CL 20025424 by Yuriy ODonnell in ue5-main branch]
2022-05-03 10:31:45 -04:00
Yuriy ODonnell
1cee85ad1e Move implementations of FBaseDynamicMeshSceneProxy virtual methods from a public header to a private .cpp file
#rb Christopher.Waters
#preflight 62705226220f89f0ad57aa29

[CL 20017815 by Yuriy ODonnell in ue5-main branch]
2022-05-02 19:01:55 -04:00
Jimmy Andrews
85aa3a058b Add an async physics build for dynamic mesh component
To support this, adds an AggGeom to the dynamic mesh component, which collision update functions should update instead of the one on the current BodySetup. This ensures new collision changes are not overwritten by an async build replacing the BodySetup.

#rb rinat.abdrashitov
#rb ryan.schmidt
#preflight 622c179f902b7ca699efb24a

[CL 19366917 by Jimmy Andrews in ue5-main branch]
2022-03-11 23:38:07 -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
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
andrew davidson
8e95b10069 Fix FVector2D variant casts - Runtime
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8729a5a026d2d19bb9ca6
#preflight 61f87a025a026d2d19be76ed

#ROBOMERGE-OWNER: andrew.davidson
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18802361 in //UE5/Release-5.0/... via CL 18802891 via CL 18821557
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821641 by andrew davidson in ue5-main branch]
2022-02-02 01:47:07 -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
6d2a97d252 Propagate CustomPrimitiveData to FDynamicPrimitiveUniformBuffer in FProceduralMeshSceneProxy and FBaseDynamicMeshSceneProxy.
#rb kevin.ortegren michael.balzer
#rnx
#jira UE-137763
#preflight 61e9722c963d324152ef6af6

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18674178 in //UE5/Release-5.0/... via CL 18674185 via CL 18674201
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18679670 by lonnie li in ue5-main branch]
2022-01-20 15:19:58 -05:00
tyson brochu
e3e53104c1 [Backout] - CL18520624
#rb ryan.schmidt

Original CL Desc
-----------------------------------------------------------------
UDynamicMesh: Add a bEnforceAttributeInvariants flag to the EditMesh function. If it's false, don't try to enable all required mesh attributes after the edit occurs.

Modify the DiscardMeshAttributes function in Geometry Script to not enforce attribute invariants -- otherwise the function does nothing.

#rnx
#rb aurel.cordonnier
#preflight 61d5d3f32e0e436c726cacd8
#preflight 61e1db6e00246899a94e9baf

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18622813 in //UE5/Release-5.0/... via CL 18622818 via CL 18622830
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18622849 by tyson brochu in ue5-main branch]
2022-01-14 15:39:06 -05:00
semion piskarev
129b2f567c MeshModelingTools: Fix DynamicMeshSceneProxy fast UV update not updating all UV channels.
#rb Lonnie.Li, Ryan.Schmidt
#rnx
#jira UE-138287
#preflight 61d8949c322ebb01f71c70c9

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18549516 in //UE5/Release-5.0/... via CL 18549549
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18549588 by semion piskarev in ue5-release-engine-test branch]
2022-01-07 14:48:09 -05:00
tyson brochu
7269e170f3 UDynamicMesh: Add a bEnforceAttributeInvariants flag to the EditMesh function. If it's false, don't try to enable all required mesh attributes after the edit occurs.
Modify the DiscardMeshAttributes function in Geometry Script to not enforce attribute invariants -- otherwise the function does nothing.

#rnx
#rb aurel.cordonnier
#preflight 61d5d3f32e0e436c726cacd8

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18520624 in //UE5/Release-5.0/... via CL 18520630
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18520641 by tyson brochu in ue5-release-engine-test branch]
2022-01-05 12:27:52 -05:00
semion piskarev
bfc2ab9eb3 MeshModelingTools: Fix fast update UV path for dynamic mesh proxy crashing when some UV's are unset.
#rb Jimmy.Andrews, Ryan.Schmidt
#rnx
#jira
#preflight 61b0c896ee6e47a827fea6c9

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18406009 in //UE5/Release-5.0/... via CL 18406039
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18406060 by semion piskarev in ue5-release-engine-test branch]
2021-12-08 10:26:23 -05:00
ryan schmidt
f0828c943b Expose component/asset physics data via a ToolTarget interface
ToolsFramework:
- add PhysicsDataSource ToolTarget Interface, that exposes UBodySetup and CollisionDataProvider interfaces
ModelingComponents:
- Add tooltarget accessor/utility functions in UE::ToolTarget namespace.
- Implement PhysicsDataSource for StaticMeshComponentToolTarget and DynamicMeshCompnentToolTarget.
- Update FPhysicsDataCollection::InitializeFromComponent() to support DynamicMeshComponent and BrushComponent.
ModelingTools:
- update ExtractCollisionGeometryTool and PhysicsInspectorTool

#rb lonnie.li
#rnx
#jira none
#preflight 61a150004803629015d5a09b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18302043 in //UE5/Release-5.0/... via CL 18302049
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18302051 by ryan schmidt in ue5-release-engine-test branch]
2021-11-26 16:37:25 -05:00
ryan schmidt
517754bf03 GeometryFramework: expose View Mode Overrides flag as a setting on BaseDynamicMeshComponent. This flag controls how the mesh is drawn in different Editor View Modes, eg in Wireframe mode, if view mode overrides are disabled, the mesh will be drawn to the Z buffer to remove hidden lines. It also effects the various lighting-only modes. This change defaults the overrides to enabled, ie changing the previous behavior which disabled them, as otherwise DynamicMeshActor meshes are opaque in the standard Editor Wireframe mode.
#rb tyson.brochu
#rnx
#jira none
#preflight 619fe6b4ee100b68fa51fcf4

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18297199 in //UE5/Release-5.0/... via CL 18297201
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18297209 by ryan schmidt in ue5-release-engine-test branch]
2021-11-25 17:01:03 -05:00
ryan schmidt
a3624c42d3 GeometryFramework:
- add DynamicMeshComponent::SetComplexAsSimpleCollisionEnabled(), SetDeferredCollisionUpdatesEnabled() to handle some common component variable configuration in BP.
- expose DynamicMeshComponent::UpdateCollision()
GeometryScripting:
- pass UDynamicMesh TargetMesh as parameter to GeneratedDynamicMeshActor::OnRebuildGeneratedMesh(), to simplify BPs and leave open the possibility of updating a compute mesh separate from the actual Component mesh
- Automatically enable (then disable) deferred collision updates on DynamicMeshComponent in AGeneratedDynamicMeshActor::ExecuteRebuildGeneratedMeshIfPending, otherwise every GeometryScript node will rebuild collision (!)
#rb none
#rnx
#jira none
#preflight 6182abf261c9270001790212

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18056478 in //UE5/Release-5.0/... via CL 18056493
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18056503 by ryan schmidt in ue5-release-engine-test branch]
2021-11-04 10:22:38 -04:00
ryan schmidt
12f074e656 ModelingTools: optional path tracing support inside Modeling Tools
- Add new UModelingComponentsSettings which has settings for in-tool preview mesh rendering and emitted new mesh objects
- Add ToolSetupUtil::ApplyRenderingConfigurationToPreview() utility functions, most Tools now call this function to configure UPreviewMesh/DynamicMeshComponents they create for mesh editing preview rendering (uses Settings to make setup decisions like RT on/off)
- add PreviewMesh::NotifyWorldPathTracedOutputInvalidated(), forces invalidation of current path tracing result, call from various PreviewMesh internal functions
- UCreateMeshObjectTypeProperties::ConfigureCreateMeshObjectParams() now configures new-mesh-object parameters with RT and Collision from UModelingComponentsSettings
- DynamicMeshComponent now defaults to raytracing-enabled, usage in Editor is controlled by above settings

#rb rinat.abdrashitov
#rnx
#jira none
#preflight 615f376bf0ee840001cab0fc

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17753416 in //UE5/Release-5.0/... via CL 17758212
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758266 by ryan schmidt in ue5-release-engine-test branch]
2021-10-07 22:25:54 -04:00
ryan schmidt
21cd57289b GeometryScript: automatically clear mesh before rebuild in GeneratedDynamicMeshActor. Expose ADynamicMeshActor members. Bump up size of "empty" mesh bounding box in DynamicMeshComponent to prevent log spam.
#rb none
#rnx
#preflight 615b2a842554620001ff5546

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17724133 in //UE5/Release-5.0/... via CL 17724136
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17724146 by ryan schmidt in ue5-release-engine-test branch]
2021-10-05 13:22:31 -04:00
ryan schmidt
48b8603f29 GeometryScript: fix up python name collision
#rb none
#rnx
#jira none
#preflight 615c5514ed17cd00018fd081

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17722350 in //UE5/Release-5.0/... via CL 17722357
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17722361 by ryan schmidt in ue5-release-engine-test branch]
2021-10-05 11:42:16 -04:00
ryan schmidt
de4cbc3b55 GeometryFramework: remove ensure that will always be hit before DynamicMeshComponent RT geomety is initialized
#rb none
#rnx
#jira none

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17720622 in //UE5/Release-5.0/... via CL 17720636
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17720647 by ryan schmidt in ue5-release-engine-test branch]
2021-10-05 09:42:50 -04:00
ryan schmidt
88f6b02bc3 GeometryFramework: Add Raytracing support for Base/DynamicMeshComponent.
- add FRayTracingGeometry structures to FMeshRenderBufferSet for primary and secondary triangle indices
- add UpdateRaytracingGeometryIfEnabled() function which rebuilds these raytracing data structures. This does a full rebuild, not clear if any kind of incremental update is possible currently, to revisit in future.
- call the above in the various places where we modify the existing index/vertex buffers.
- add UPrimitiveComponent::GetDynamicRayTracingInstances() implementation, mirrors GetDynamicMeshElements() implementation, uses new DrawRayTracingBatch() function

#rb juan.canada
#rnx
#jira none
#preflight 6157507e2363e400012ed95f

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17696127 in //UE5/Release-5.0/... via CL 17696138
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17696156 by ryan schmidt in ue5-release-engine-test branch]
2021-10-01 16:01:41 -04:00
ryan schmidt
d4ff6d0195 GeometryScripting: move in-editor generated-mesh functionality from DynamicMeshActor to a subclass GeneratedDynamicMeshActor in experimental GeometryScriptingEditor module. Add EditorGeometryGenerationSubsystem to provide tick for mesh regeneration, instead of relying on Actor tick-in-Editor, which can be throttled by slate interaction (and is generally problematic).
#rb none
#rnx
#jira none
#preflight 6156250b9dc4c500012f56eb

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17685256 in //UE5/Release-5.0/... via CL 17685594
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17685601 by ryan schmidt in ue5-release-engine-test branch]
2021-09-30 20:07:42 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
ryan schmidt
f52e84de3f GeometryFramework: add support for in-Editor deferred mesh regeneration for BP procedural mesh generators built with DynamicMeshActor
#rb none
#rnx
#jira none
#preflight 614910f211925a000172fc66

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17578679 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17578683 by ryan schmidt in ue5-release-engine-test branch]
2021-09-20 22:17:00 -04:00
ryan schmidt
39261ded6a GeometryFramework: add BP-exposed UDynamicMeshComponent::EnableComplexAsSimpleCollision() function
#rb none
#rnx
#jira none
#preflight 6143c0c44778fa00017926b9

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17546414 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17546422 by ryan schmidt in ue5-release-engine-test branch]
2021-09-16 20:16:44 -04:00
ryan schmidt
3cbc795fda GeometryFramework:
- UDynamicMesh Reset() functions now return themselves, configured as BP output pin, helps to make BP wiring cleaner
- added DynamicMeshComponent::ConfigureMaterialSet() and ::ValidateMaterials(), to allow material set to be updated from BP
- added BaseDynamicMeshComponent::SetNumMaterials() to support above
#rb none
#rnx
#jira none
#preflight 614271263c7c670001ae4afd

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17531959 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17531972 by ryan schmidt in ue5-release-engine-test branch]
2021-09-15 21:24:22 -04:00