Commit Graph

117 Commits

Author SHA1 Message Date
rinat abdrashitov
70cf962f41 Renaming AdaptiveTessellate to SelectiveTessellate to better reflect its actual functionality.
#rb jimmy.andrews
#jira none
#rnx
#preflight 6306859ac85b7fef22c52811

[CL 21551697 by rinat abdrashitov in ue5-main branch]
2022-08-24 16:46:15 -04:00
rinat abdrashitov
d72efac889 Remove options for the tessellation patterns that haven't been implemented yet.
#rb trivial
#rnx
#jira none
#preflight 6306562a0061f895d046c0ea

[CL 21544825 by rinat abdrashitov in ue5-main branch]
2022-08-24 13:18:11 -04:00
Jimmy Andrews
443e248108 expose 2D voronoi diagram generation to geometryscript
#rb Ryan.Schmidt
#preflight 630534a4c85b7fef228cf2df

[CL 21518855 by Jimmy Andrews in ue5-main branch]
2022-08-23 16:22:55 -04:00
Ryan Schmidt
2a47ed9730 GeometryScript: add InvertMeshSelection
GeometrySelectionUtil: add FindByTopologyID function, to search a Selection for selected element with matching TopologyID but ignoring GeometryID. Update FGeometryScriptMeshSelection::CombineSelectionInPlace() to use this, as it was not properly combining Polygroup selections.
#rb none
#preflight 630501435a5d4e462428af90

[CL 21516930 by Ryan Schmidt in ue5-main branch]
2022-08-23 15:23:52 -04:00
Ryan Schmidt
c55dd6a6e2 DynamicMesh: fix VertexNormals mode in FOffsetMeshRegion. It was not properly handling the case where input mesh did not have VertexNormals attribute, the FMeshNormals being computed and passed to ::ApplyOffset() were never used.
GeometryScript: add ApplyMeshOffsetFaces and ApplyMeshInsetOutsetFaces
#rb none
#preflight 6303f6440061f895d0f67450

[CL 21510656 by Ryan Schmidt in ue5-main branch]
2022-08-23 12:31:21 -04:00
Ryan Schmidt
95e6008325 GeometryScript: add support for optional SetMeshUVsFromBoxProjection, Selection argument to TranslateMeshUVs, ScaleMeshUVs, RotateMeshUVs, SetMeshUVsFromPlanarProjection, SetMeshUVsFromBoxProjection, SetMeshUVsFromCylinderProjection, RecomputeMeshUVs. Add new GetMeshUVSizeInfo function that can be used to get UV Area/Bounds, and 3D Area/Bounds, for a given selection. All these functions fall back to using the full mesh if no Selection is provided.
#rb none
#preflight 6303d77b0061f895d0e6559e

[CL 21490171 by Ryan Schmidt in ue5-main branch]
2022-08-22 15:29:59 -04:00
Ryan Schmidt
fe17133b36 GeometryScript: add ExpandContractMeshSelection. Add option to fallback to full mesh processing for FGeometryScriptMeshSelection::ProcessByTriangleID() and ProcessByVertexID(), to simplify handling "empty selection is full mesh" cases
GeometryProcessing: add basic implementation of FMeshVertexSelection::ContractByBorderVertices()
#rb none
#preflight 6303d587a45b007ea248b387

[CL 21489854 by Ryan Schmidt in ue5-main branch]
2022-08-22 15:21:45 -04:00
Ryan Schmidt
f3f44f9dfd GeometryCore: make FDynamicMesh3::GetMeshInfoString() const
GeometryScript: add SplitMeshBowties, RepairMeshDegenerateGeometry, and GetMeshInfoString functions
#rb none
#preflight 630387dec85b7fef224a1dcd

[CL 21483407 by Ryan Schmidt in ue5-main branch]
2022-08-22 10:38:15 -04:00
Ryan Schmidt
71e80a4004 GeometryScript: add new ComputePolygroupsFromPolygonDetection function that exposes new polygroups-from-polygon-detector algorithm
#rb none
#preflight 62ffe9c633729407e835b7a5

[CL 21464184 by Ryan Schmidt in ue5-main branch]
2022-08-19 16:15:32 -04:00
Ryan Schmidt
47069b8e68 GeometryScript:
Add optional Selection to ApplyPerlinNoiseToMesh, ApplyIterativeSmoothingToMesh, ApplyDisplaceFromTextureMap, ApplyDisplaceFromPerVertexVectors.
Add new functions ApplyMeshDisconnectFaces and ApplyMeshDuplicateFaces
Add new ApplyMeshLinearExtrudeFaces function, supports linear extrusion of entire mesh or selection. Redirect previous ApplyMeshExtrude function to ApplyMeshExtrude_Compatibility_5p0
Add new ApplyMeshBevelSelection function, supports various ways to interpret mesh selection as set of faces or edges to bevel
#rb none
#preflight 62ffe702c85b7fef22fa393a

[CL 21463343 by Ryan Schmidt in ue5-main branch]
2022-08-19 15:51:06 -04:00
Ryan Schmidt
c52de9c4de GeometryScript: add support for input selection to ComputeMeshConvexHull. Add ComputeMeshConvexDecomposition that exposes new FConvexDecomposition3 algorithm, via FMeshSimpleShapeApproximation
#rb none
#preflight 62ffdacbfc3d0e6817237abf

[CL 21462222 by Ryan Schmidt in ue5-main branch]
2022-08-19 15:04:19 -04:00
Ryan Schmidt
e579178cda ModelingComponents: refactor conversion code from ExtractCollisionGeometryTool into static functions ConvertSimpleCollisionToMeshes() and ConvertComplexCollisionToMeshes()
GeometryScript: add CopyCollisionMeshesFromObject function, extracts meshed collision shapes or complex collision from various object types as a UDynamicMesh
#rb none
#preflight 62ffc256c85b7fef22f671cc

[CL 21460263 by Ryan Schmidt in ue5-main branch]
2022-08-19 13:20:33 -04:00
Ryan Schmidt
ae346d2de6 GeometryScript: improve runtime support and error handling in CopyMeshFromStaticMesh
#rb none
#preflight 62fe85e43f75602b2f1448a0

[CL 21447828 by Ryan Schmidt in ue5-main branch]
2022-08-18 15:06:40 -04:00
Ryan Schmidt
47c999094a GeometryScript: add ResolveMeshTJunctions function
#rb none
#preflight 62fe85a60601ad0504921dda

[CL 21447553 by Ryan Schmidt in ue5-main branch]
2022-08-18 14:59:15 -04:00
Ryan Schmidt
9cbe007e84 GeometryCore: add support for custom per-path-point frames and scaling to FGeneralizedCylinderGenerator
GeometryScript: add new AppendSweepPolygon function, similar to AppendSimpleSweptPolygon but takes the sweep path as a list of FTransform instead of FVector, giving the caller more control over rotation and scaling along the sweep.
#rb rinat.abdrashitov
#preflight 62fd623087319bacfb1eec6d

[CL 21445763 by Ryan Schmidt in ue5-main branch]
2022-08-18 13:46:18 -04:00
Ryan Schmidt
f9e50b0619 GeometryScript: add SampleSplineToTransforms function, produces full FTransforms based on sampling a USplineComponent, instead of just positions.
#rb none
#preflight 62fd61f5542a7a8d75c49a65

[CL 21432642 by Ryan Schmidt in ue5-main branch]
2022-08-17 17:51:47 -04:00
Ryan Schmidt
a1ca3c40e4 GeometryScript: add SetMeshSelectionVertexColor function, sets vertex color on selected faces/vertices, optionally creating a "crease" in the vertex color overlay
#rb none
#preflight 62fd6013542a7a8d75c480ba

[CL 21432355 by Ryan Schmidt in ue5-main branch]
2022-08-17 17:44:02 -04:00
Ryan Schmidt
dee823fcab GeometryScript: add AppendMeshTransformed function that appends N copies of a mesh to another mesh, with a custom Transform applied for each
#rb none
#preflight 62fd5e37086f90bbc481d872

[CL 21432249 by Ryan Schmidt in ue5-main branch]
2022-08-17 17:38:11 -04:00
Ryan Schmidt
ede8654d85 work around loctext issue
#rb none
#preflight skip

[CL 21228114 by Ryan Schmidt in ue5-main branch]
2022-07-22 15:53:15 -04:00
lonnie li
1b9bbb3599 BakeVertex: Fixed identity bakes w/ VertexColor output type returning black.
#rb none
#jira none
#preflight 62daf5c2bc175ec68cd16f08

[CL 21227905 by lonnie li in ue5-main branch]
2022-07-22 15:45:30 -04:00
Ryan Schmidt
5bd18d73de GeometryScript: replace usage of IndexList with new MeshSelection in ApplyAdaptiveTessellation
#rb rinat.abdrashitov
#preflight 62dae2f93122bf80ae482482

[CL 21226482 by Ryan Schmidt in ue5-main branch]
2022-07-22 14:47:32 -04:00
Ryan Schmidt
2b9ff5f5ea GeometryScript: add enum to be used to indicate how operations should behave when input Selection is empty
#rb none
#preflight 62dab2a3ac71f3a225ab7fe5

[CL 21220760 by Ryan Schmidt in ue5-main branch]
2022-07-22 10:41:16 -04:00
lonnie li
e9703c9d53 GeometryScript: Added vertex color transformation functions (SRGBToLinear, LinearToSRGB) for dynamic meshes.
#rb ryan.schmidt
#jira none
#preflight 62d5e0dadc4397d384e4742f

[CL 21220618 by lonnie li in ue5-main branch]
2022-07-22 10:33:21 -04:00
lonnie li
49a65749d1 ModelingTools: Add VertexColor output type support to BakeVertex tool and geometry script function.
#rb jimmy.andrews
#jira none
#preflight 62d5e1dbaf68cd745b394bcd

[CL 21220607 by lonnie li in ue5-main branch]
2022-07-22 10:32:53 -04:00
Ryan Schmidt
7b0448455e GeometryScript: resolve LOCTEXT conflict
#rb none
#preflight skip

[CL 21212085 by Ryan Schmidt in ue5-main branch]
2022-07-21 19:17:43 -04:00