Commit Graph

22 Commits

Author SHA1 Message Date
ryan schmidt
f47bb8f710 GeometryScripting: add support for reading from Volumes in SceneUtilityFunctions::CopyMeshFromComponent()
#rb lonnie.li
#rnx
#jira none
#preflight 61a149bef70a9e92dba305e4

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

[CL 18302010 by ryan schmidt in ue5-release-engine-test branch]
2021-11-26 16:20:30 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
jimmy andrews
fd07763a78 remove UE::Geometry::TRay3 and replace usages with UE::Math::TRay
#rb tyson.brochu
#rnx
#preflight 6195872476668b37001d1141

#ushell-cherrypick of 18231220 by Jimmy.Andrews

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18232491 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)

[CL 18232527 by jimmy andrews in ue5-release-engine-test branch]
2021-11-17 21:06:46 -05:00
michael balzer
b8a1c9b6cf GeometryCore: Remove ExplicitUseGeometryMathTypes.h
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18227685 in //UE5/Release-5.0/... via CL 18229350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18231457 by michael balzer in ue5-release-engine-test branch]
2021-11-17 19:02:44 -05:00
ryan schmidt
7bd74ffee4 GeometryProcessing: add basic UV calculation and materialID support to MeshBevel. Add PolyEditingUVUtil file for UV computation utility functions in Poly-editing. Currently only ComputeArbitraryTrianglePatchUVs() function which uses expmap to compute UVs and (approximately) scales UVs to match UV scale on surrounding border triangles.
GeometryScript: add ApplyMeshPolygroupBevel operation
#rb none
#rnx
#jira none
#preflight 618434449249220001a944df

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18065452 in //UE5/Release-5.0/... via CL 18065478
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18065511 by ryan schmidt in ue5-release-engine-test branch]
2021-11-04 18:24:07 -04:00
ryan schmidt
70e6e58111 GeometryScript: replace usage of TArray input/output params for index/vector/color/triangle lists with custom list UStructs that contain a TSharedPtr to a TArray (FGeometryScriptIndexList, FGeometryScriptTriangleList, FGeometryScriptVectorList, FGeometryScriptUVList, FGeometryScriptColorList). This makes it safe(r) to work with large lists and will allow for future changes to list representation (like using DynamicVector / etc).
- add ListUtilityFunctions with length/lastindex/item and convert to/from array
- Updated various existing functions that were using a TArray as input/output
- Added GetAllTriangleIDs, GetAllTriangleIndices, GetAllVertexIDs, updated GetAllVertexPositions to support optionally skipping invalid vertices
#rb none
#rnx
#jira none
#preflight 6182e2c492492200018502ee

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

[CL 18055989 by ryan schmidt in ue5-release-engine-test branch]
2021-11-04 09:57:01 -04:00
ryan schmidt
0f0d8cfe49 GeometryScript: fix bug where wrong size was being used to pre-allocate array
#rb none
#rnx
#jira none

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

[CL 18033988 by ryan schmidt in ue5-release-engine-test branch]
2021-11-03 10:46:37 -04:00
ryan schmidt
a9ad42a3dd GeometryScript: add ConvertComponentsToPolygroups, GetTrianglePolygroupID, DeleteTrianglesInPolygroup, SetPolygroupMaterialID functions
#rb none
#rnx
#jira none
#preflight 61820ffc33e4450001ed1cad

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

[CL 18033503 by ryan schmidt in ue5-release-engine-test branch]
2021-11-03 10:18:42 -04:00
ryan schmidt
16e7016a26 GeometryScript: add linear and curved stair generation functions
#rb lonnie.li
#rnx
#jira none
#preflight 6179756c0fb8310001af1319

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

[CL 17955632 by ryan schmidt in ue5-release-engine-test branch]
2021-10-27 20:19:00 -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
7ac8bd6a78 GeometryScript: fix uninitialized ustruct errors
#rb none
#rnx
#jira none
#preflight 615b57dfb37025000172cce8

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

[CL 17713317 by ryan schmidt in ue5-release-engine-test branch]
2021-10-04 16:29:17 -04:00
ryan schmidt
f78421bedc GeometryScript: Add functions for setting simple collision on StaticMesh and DynamicMeshComponent
#rb none
#rnx
#jira none
#preflight 614509e9c2c190000156cc1c

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

[CL 17562138 by ryan schmidt in ue5-release-engine-test branch]
2021-09-18 01:06:41 -04:00
ryan schmidt
65d8a03b5a GeometryScript: add Shell, Offset, and Extrude modeling operations
#rb none
#rnx
#jira none
#preflight 6144e14659380f0001109ba8

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

[CL 17558083 by ryan schmidt in ue5-release-engine-test branch]
2021-09-17 16:46:01 -04:00
ryan schmidt
9bbf39f565 GeometryScript: fix duplicate localization namespaces
#rb none
#rnx
#jira none

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

[CL 17556199 by ryan schmidt in ue5-release-engine-test branch]
2021-09-17 14:50:19 -04:00
ryan schmidt
372f62e938 GeometryScripting: make RevolvePolygon and Torus support extended revolve options, add SpiralRevolvePolygon
GeometryCore: add RevolveGenerator, generates surface-of-revolution meshes for open and closed profiles, the latter w/ spirals. Port of more general code in CurveSweepOp/RevolveProperties to expose at lower levels (needs further code cleanup)
#rb none
#rnx
#jira none
#preflight 6144ca01c2c19000014c9463

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

[CL 17555838 by ryan schmidt in ue5-release-engine-test branch]
2021-09-17 14:29:35 -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
david hill
f3524db9ce Modeling Operators - FlareMeshOp, this adds linear flare option, trig-simplifiied some existing math, and replaces bSmoothEnds UI selection with a pull down that allows the user to select between the three different profile options.
#preflight 61439fe7599fd80001a035fc
#rb rinat.abdrashitov

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17546624 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17546638 by david hill in ue5-release-engine-test branch]
2021-09-16 20:58:43 -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
ryan schmidt
82321efd40 GeometryScript: add ScriptMethod meta tags to simplify Python usage
#rb none
#rnx
#jira none
#preflight 613fa10b1bca920001a4a346

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

[CL 17496721 by ryan schmidt in ue5-release-engine-test branch]
2021-09-13 17:15:06 -04:00
ryan schmidt
57acc489b2 GeometryScripting: add ScriptNames to the various BP libraries to make using Python more pleasant
#rb none
#rnx
#jira none
#preflight 613f68df92b32b00016c386a

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

[CL 17494674 by ryan schmidt in ue5-release-engine-test branch]
2021-09-13 14:25:56 -04:00
ryan schmidt
c5b0f6262b GeometryScripting: fix LWC FVector cast issue
#rb none
#rnx
#jira none
#preflight 613ebb5b92b32b000153e727

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

[CL 17489136 by ryan schmidt in ue5-release-engine-test branch]
2021-09-13 00:07:26 -04:00
ryan schmidt
68beb2f492 GeometryScripting: initial checkin of Experimental GeometryScripting plugin, enables manipulation of UDynamicMesh mesh objects via ufunctions/blueprints. These functions are generally wrappers around functions from the GeometryProcessing plugin.
MeshAssetFunctions: read/write from StaticMesh Assets
MeshBasicEditFunctions: low-level mesh operations, eg append vertex/triangle, append mesh, etc
MeshBooleanFunctions: Mesh Boolean, Self-Union, Plane Cut, Mirror
MeshDeformFunctions: Bend and Twist warps
MeshNormalsFunctions: Various methods to calculate normals, Flip, Autorepair
MeshPrimitiveFunctions: append standard geometric primitive meshes
MeshQueryFunctions: variety of queries for mesh information
MeshRepairFunctions: Compact, Weld, Fill Holes, remove hidden triangles
MeshSimplifyFunctions: various mesh simplification strategies
MeshTransformFunctions: apply various geometric transformations
MeshUVFunctions: set mesh UVs
MeshVertexColorFunctions: set mesh vertex colors
MeshVoxelFunctions: voxel/sdf-based solidify and morphology operations
SceneUtilityFunctions: helper functions to simplify reading mesh from Actors/Components

#rb none
#rnx
#jira none

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

[CL 17488921 by ryan schmidt in ue5-release-engine-test branch]
2021-09-12 22:05:47 -04:00