Commit Graph

28 Commits

Author SHA1 Message Date
tyson brochu
a108c5605c AutoLOD: if node computation is cancelled, do not update the cached outputs
#jira UE-140251
#rnx
#rb rinat.abdrashitov
#preflight 61f47b8274510448a68f54cf

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18780378 in //UE5/Release-5.0/... via CL 18780942 via CL 18781364
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18781666 by tyson brochu in ue5-main branch]
2022-01-28 19:49:26 -05:00
tyson brochu
69f82207ef AutoLOD: the FProgressCancel object wasn't being passed to mesh simplification functions
#jira UE-137923
#rnx
#rb jimmy.andrews
#preflight 61d71f8c81634832b00d9785

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

[CL 18534100 by tyson brochu in ue5-release-engine-test branch]
2022-01-06 14:15:50 -05:00
tyson brochu
3c7af3d0bd AutoLOD: Pass EvaluationInfo to node ProcessMesh functions. Make GenerateUVs and GenerateConvexHullMesh cancellable.
#rnx
#rb rinat.abdrashitov
#preflight 614cb58d88dbdb000179f1cf

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 17611355 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17611364 by tyson brochu in ue5-release-engine-test branch]
2021-09-23 14:25:03 -04:00
tyson brochu
530606f6e1 Add Convex Hull mesh generator option to AutoLOD
#jira UETOOL-2871
#rb jimmy.andrews
#preflight 61450a4a11925a00011c4043

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 17560267 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17560272 by tyson brochu in ue5-release-engine-test branch]
2021-09-17 19:31:36 -04:00
ryan schmidt
07419075da AutoLOD: make mesh computation type configurable using new GeometryFlow Switch node, and expose Normals calculation settings in Graph/Process/Tool
GeometryFlow:
Add TSwitchNode node, uses internal integer to select one of N inputs (N is currently defined in template type, so number of inputs is fixed). Add custom util function UpdateSwitchNodeInputIndex() to simplify changing switch integer.
Add FMeshMakeCleanGeometryNode/Settings, strips out undesired attribute sets and fills small holes, to create better input mesh for simplification
Add FSimpleInPlaceProcessMeshBaseNode, just runs some basic geometry operation, makes it easier to make new nodes. Converted FComputeMeshPerVertexOverlayNormalsNode to this base class and added FComputeMeshPerVertexNormalsNode.
Fixed attribute set handling issue in FSimplifyMeshNode

MeshLODToolset:
Added ECoreMeshGeneratorMode enum to FGenerateMeshLODGraph. This setting drives a Switch node that picks between Vox, Vox+Closure, and Simplify-only mesh generation paths.
Added SourceMeshHint to BuildGraph, allows for variable graph construction. Use to skip MaterialID transfer in single-material case.
Change default collision type to aligned boxes (fast and low visual complexity)
Exposed top-level Mesh Generation type, Normals settings in Graph/Process/Tool, minor UI and default changes

#rb tyson.brochu
#rnx
#jira none
#preflight 61391fa89c40ec00012ddec0

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

[CL 17466805 by ryan schmidt in ue5-release-engine-test branch]
2021-09-08 21:45:23 -04:00
ryan schmidt
b418c91538 AutoLOD: add support for PatchBuilder UVs and Simplification based on geometric deviation tolerance, split up settings into separate structs so that settings panel is more organized
#rb tyson.brochu
#rnx
#jira none
#preflight 6131919c1a52e20001c3686e

#ROBOMERGE-SOURCE: CL 17424385 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17424388 by ryan schmidt in ue5-release-engine-test branch]
2021-09-03 13:47:00 -04:00
ryan schmidt
001b7d5e63 GeometryProcessing: remove forwarding headers used in GeometryCore transition, and update all affected includes.
#rb none
#rnx
#jira none
#preflight 60c52c5db9446100014da02d

#ROBOMERGE-SOURCE: CL 16653115 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16653121 by ryan schmidt in ue5-release-engine-test branch]
2021-06-13 00:36:02 -04:00
tyson brochu
3fe1bc14c0 Add multi-texture baking to AutoLOD
#jira UETOOL-3071
#rb

#ROBOMERGE-SOURCE: CL 16334835 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16334876 by tyson brochu in ue5-release-engine-test branch]
2021-05-14 16:12:51 -04:00
tyson brochu
ba52f4e1c3 Remove standalone generate convex hull node -- this is a subset of the functionality in GenerateSimpleCollisionNode.
#rnx
#rb ryan.schmidt

[CL 16063333 by tyson brochu in ue5-main branch]
2021-04-20 13:21:09 -04:00
tyson brochu
8ec7d9f922 Minor code and UI changes for AutoLOD.
- DebugDumpGraph was being called before texture baking nodes were in the graph
- Fix some capitalization of tool properties
- Added some code comments
- If morphology distance is zero, don't apply it

#rnx
#rb jimmy.andrews

[CL 16055366 by tyson brochu in ue5-main branch]
2021-04-19 17:18:09 -04:00
tyson brochu
4b5196db79 - AutoLOD: pop up notifications when input assets might not work as expected
- Add our own log categories for geometry flow and LOD toolset modules to avoid spamming LogTemp

#jira UETOOL-3200
#rnx
#lockdown simon.tourangeau
#rb jimmy.andrews

#ROBOMERGE-OWNER: tyson.brochu
#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 15958824 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15978978 by tyson brochu in ue5-main branch]
2021-04-12 12:37:05 -04:00
tyson brochu
b65346fc8d AutoLOD: turn on convex hull subsampling by default. Add a "None" option to collision geometry.
#rnx
#rb jimmy.andrews

#ROBOMERGE-SOURCE: CL 15715638 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15718690 by tyson brochu in ue5-main branch]
2021-03-17 04:51:06 -04:00
Ryan Schmidt
ffe3b401cd GeometryProcessing: move all public types in GeometryProcessing plugin into UE::Geometry:: namespace, as well as some code in MeshModelingToolset. Fix fallout in Water, Paint Mode, ChaosEditor, DataPrep, Text3D, Unit Tests, internal projects.
#rb jimmy.andrews, semion.piskarev
#jira none

[CL 15661651 by Ryan Schmidt in ue5-main branch]
2021-03-09 19:33:56 -04:00
ryan schmidt
f9810df402 GeometryProcessing: Added FMeshAttributeTransfer class, currently supports transferring triangle material IDs from one mesh to another, via nearest-point queries
GeometryFlow: Added FCompactMeshNode, FComputeMeshPerVertexOverlayNormalsNode (convenient), and FTransferMeshMaterialIDsNode that applies FMeshAttributeTransfer based on two input meshes. Graph InferConnection() now is more clever and can infer connections in cases where a potentially-ambiguous connection is resolved based on what is already connected (ie if two mesh inputs, and one is assigned, infer that second one is intended)

LODToolset: LODGraph now transfers materials and computes per-vertex normals before Simplify node, and Compacts afterwards (required for other downstream processes).
LODProcess now handles multiple materials, and can re-use input materials if they do not require a baked texture or normal map. In repeat applications, previously-auto-generated StaticMesh Materials are detected and removed from the material set. Normals and Tangents are explicitly computed for stored HiRes source and LOD0, and build settings updated appropriately.

#rb none
#rnx
#jira none
[FYI] tyson.brochu

#ROBOMERGE-SOURCE: CL 15470041 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15470044 by ryan schmidt in ue5-main branch]
2021-02-19 01:48:21 -04:00
tyson brochu
49d64a7e11 Add a Thicken node to GeometryFlow. Accepts vertex weights and a scalar and moves vertices in the normal direction accordingly.
#jira UETOOL-2943
#rb jimmy.andrews

#ROBOMERGE-OWNER: tyson.brochu
#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 15424119 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15426283 by tyson brochu in ue5-main branch]
2021-02-16 19:58:02 -04:00
tyson brochu
a1e18ff827 Move AutoLOD computation to background thread(s). Make GeometryFlow graph execution cancellable.
#jira UETOOL-2947 UETOOL-2979
#rnx

[CL 15273200 by tyson brochu in ue5-main branch]
2021-02-01 14:43:20 -04:00
tyson brochu
e95131662c Enable default values on Node inputs. AddInput now takes an additional optional parameter for the default value.
#jira UETOOL-2791
#rnx
#rb ryan.schmidt

[CL 15166169 by tyson brochu in ue5-main branch]
2021-01-22 15:38:32 -04:00
tyson brochu
47b3d19da3 Add support for multiple group layers to MakeTriangleSetsNode. Retrieve the IndexSets for a given group layer by passing in the layer's name.
#jira UETOOL-2941
#rnx
#rb david.hill

[CL 15136616 by tyson brochu in ue5-main branch]
2021-01-19 12:17:27 -04:00
tyson brochu
6d80f98f09 Add SweptConvex and MinVolume options to the simple collision generator node.
#jira UETOOL-2869
#rnx
#rb david.hill

[CL 15133106 by tyson brochu in ue5-main branch]
2021-01-18 18:59:25 -04:00
tyson brochu
6aebdc39ae Add support for convex hulls and triangle sets to FGenerateSimpleCollisionNode. Make this the default collision geometry generation node to replace the GenerateConvexCollisionNode.
#jira UETOOL-2869
#rnx
#rb ryan.schmidt

[CL 15090749 by tyson brochu in ue5-main branch]
2021-01-14 15:06:29 -04:00
tyson brochu
baa9bc54cc Initial implementation of simple collision geometry generator node. Just wraps FMeshSimpleShapeApproximation. The only option right now is which type of geometric primitive will be produced. Does not support ConvexHull, as there is a separate node for that.
#jira UETOOL-2869
#rnx
#rb jimmy.andrews

[CL 15041449 by tyson brochu in ue5-main branch]
2021-01-11 15:35:10 -04:00
tyson brochu
7b1d5cb4aa GeometryFlow: add vertex weight map data type, and a node for getting a set of triangles from a mesh and weight map.
#jira UETOOL-2782 UETOOL-2783
#rnx
#rb jimmy.andrews

[CL 15012063 by tyson brochu in ue5-main branch]
2021-01-07 13:15:38 -04:00
tyson brochu
a1f236ac4d Geometry Flow: Add a node to get index sets from connected mesh components.
#jira UETOOL-2778
#rnx
#rb jimmy.andrews

[CL 14952673 by tyson brochu in ue5-main branch]
2020-12-17 19:38:28 -04:00
tyson brochu
e70f34f410 Add an option to pre-filter mesh vertices before computing convex hull. Result is not a convex hull in general, but might be faster to compute.
#jira UETOOL-2786
#rnx
#rb jimmy.andrews

[CL 14942978 by tyson brochu in ue5-main branch]
2020-12-16 18:35:29 -04:00
tyson brochu
73b66dadad Geometry flow: add a normal flow remesher node
#jira UETOOL-2811
#rnx
#rb ryan.schmidt

[CL 14919711 by tyson brochu in ue5-main branch]
2020-12-14 15:51:14 -04:00