Commit Graph

11 Commits

Author SHA1 Message Date
ryan schmidt
8550cb705b GeometryScript: undo deprecation of nanite settings fields in create and update static mesh functions, as it breaks Lyra blueprints
#rb
#preflight 6356b718cb31f106ce9cb92a
#jira UE-168116

[CL 22783366 by ryan schmidt in ue5-main branch]
2022-10-26 13:06:30 -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
ryan schmidt
2570102ec2 Various improvements to (Generated)DynamicMeshActor. Harden registration/unregistration of GeneratedDynamicMeshActor with GeometryGen Subsystem, to avoid recomputing procedural mesh blueprints in objects duplicated for PIE and other temporary object copies. Add support for built-in "frozen" flag on GeneratedDynamicMeshActor, when toggled on, OnRebuildGeneratedMesh event will not be fired (ie mesh is "frozen" in it's current state). Add ability for GeneratedDynamicMeshActor to start a SlowTask dialog during long mesh recomputes, and provide a few functions that a BP can use to update the progress.
#rb jimmy.andrews
#preflight 6323576b63312bbbbb06fa21
#jira UE-155683

[CL 22041549 by ryan schmidt in ue5-main branch]
2022-09-15 19:35:13 -04: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
a7feb795f8 GeometryFramework: add BP-exposed functions to GeneratedDynamicMeshActor to copy properties to/from a StaticMeshActor. This allows for preserving Actor settings like data layer/etc when swapping between Generated and Static meshes. Also can copy Material assignment.
#rb none
#rnx
#preflight 61b4dd2b751db498ec8c9149

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18439240 in //UE5/Release-5.0/... via CL 18444749
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18444893 by ryan schmidt in ue5-release-engine-test branch]
2021-12-13 13:17:10 -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
48a48f9cfa GeometryScript: add CreateUniqueNewAssetPathName Function
#rb none
#rnx
#preflight 616770c0bf7be80001eec475

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17810762 in //UE5/Release-5.0/... via CL 17810769
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17810777 by ryan schmidt in ue5-release-engine-test branch]
2021-10-13 21:45:08 -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
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
ryan schmidt
560c182750 GeometryScripting: ongoing evolution
- CopyMeshToStaticMesh now supports control of relevant build options on output, prefers to save incoming normals/tangents by default
- added ApplyMeshPlaneSlice
- added ApplyMathWarpToMesh (only sin waves currently), ApplyPerlinNoiseToMesh, ApplyIterativeSmoothingToMesh, ApplyDisplaceFromTextureMap
- added ComputeTangents
- added GetHasPolygroups, GetNumExtendedPolygroupLayers, EnablePolygroups, SetNumExtendedPolygroupLayers, ClearPolygroups, CopyPolygroupsLayer, ConvertUVIslandsToPolygroups, ComputePolygroupsFromAngleThreshold
- added AppendRevolvePath, converted various Primitive box/box2d inputs to separate floats, added Origin option to relevant primitives
- added ApplyRecursivePNTessellation, ApplyPolygroupCatmullClarkSubD, ApplyTriangleLoopSubD
- added SetMeshConstantVertexColor
- added CopyUVSet, SetMeshUVsFromCylinderProjection, RecomputeMeshUVs, AutoGeneratePatchBuilderMeshUVs, AutoGenerateXAtlasMeshUVs
#rb none
#rnx
#jira none
#preflight 614421964778fa000186f97a

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

[CL 17551472 by ryan schmidt in ue5-release-engine-test branch]
2021-09-17 09:45:26 -04:00
ryan schmidt
99711dbae8 GeometryScript: continue building out library (still at the trivial-wrappers stage)
- ComputeMeshConvexHull, ComputeMeshSweptHull
- CreateNewVolumeFromMesh, CreateNewStaticMeshAssetFromMesh
- DeleteVerticesFromMesh, DeleteTrianglesFromMesh, AppendBuffersToMesh
- AppendSimpleExtrudePolygon, AppendTriangulatedPolygon, hole parameter for Append Disc (to make punctured disc)
- IsSameMeshAs, MeasureDistancesBetweenMeshes, IsIntersectingMesh
- SplitMeshByComponents, SplitMeshByMaterialIDs, GetSubMeshFromMesh, CopyMeshToMesh
- ApplyFlareWarpToMesh, changed other warps to use FTransform for orientation instead of multiple axis parameters
- GetHasMaterialIDs, GetMaxMaterialID, EnableMaterialIDs, ClearMaterialIDs, RemapMaterialIDs, GetTriangleMaterialID, GetAllTriangleMaterialIDs, SetTriangleMaterialID, SetAllTriangleMaterialIDs
- SetNumUVSets, TranslateMeshUVs, ScaleMeshUVs, RotateMeshUVs, SetMeshUVsFromPlanarProjection, SetMeshUVsFromBoxProjection, RepackMeshUVs
- GetNumConnectedComponents, GetAllVertexPositions
- aded FGeometryScriptDynamicMeshBVH wrapper for AABBTree & FWNTree. Somewhat risky but avoids a UObject wrapper, and these objects are (currently) intended to have a lifetime that does not extend outside a single BP
- BuildBVHForMesh, IsBVHValidForMesh, RebuildBVHForMesh, FindNearestPointOnMesh, FindNearestRayIntersectionWithMesh, IsPointInsideMesh

#rb none
#rnx
#jira none
#preflight 6142c4d4599fd8000183db48

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

[CL 17537531 by ryan schmidt in ue5-release-engine-test branch]
2021-09-16 08:29:36 -04:00