Commit Graph

27 Commits

Author SHA1 Message Date
Ryan Schmidt
e196c256e4 GeometryProcessing: remove forwarding headers used in GeometryCore transition, and update all affected includes.
#rb none
#rnx
#jira none
#preflight 60c52c5db9446100014da02d

[CL 16653115 by Ryan Schmidt in ue5-main branch]
2021-06-13 00:35:22 -04:00
Ryan Schmidt
fdb2bab149 GeometryProcessing: Move MeshConversion module from GeometryProcessing plugin to Runtime. Transfer necessary additional files from DynamicMesh to GeometryCore. Move functions from MeshIndexUtil and MeshAdapterUtil namespaces to UE::Geometry namespace.
#rb none
#rnx
#jira none
#preflight 60a7e75e7d6b060001c61f47

[CL 16428413 by Ryan Schmidt in ue5-main branch]
2021-05-22 01:32:46 -04:00
Ryan Schmidt
623e4f96fe GeometryCore: create new GeometryCore Module. Move GeometricObjects code from GeometryProcessing plugin to this new module, as well as core FDynamicMesh3 classes (attributes, aabbtree/octree, change tracking). Update module Build.cs files that reference GeometricObjects.
#rb none
#rnx
#jira none
#preflight 60a713700569f300014a064a

[CL 16415082 by Ryan Schmidt in ue5-main branch]
2021-05-21 01:04:38 -04:00
tyson brochu
2b95145665 Add multi-texture baking to AutoLOD
#jira UETOOL-3071
#rb

[CL 16334835 by tyson brochu in ue5-main branch]
2021-05-14 16:11:23 -04:00
tyson brochu
3c41fe626a Make convex hull cancellable when called from GeometryFlow.
#jira UETOOL-3116
#rnx
#rb jimmy.andrews

[CL 16074529 by tyson brochu in ue5-main branch]
2021-04-21 11:35:00 -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
4d8194b0f9 AutoLOD: if no specific sets of triangles are provided to the convex hull node, just compute the convex hull of the entire mesh.
#jira UETOOL-2852
#rnx
#rb jimmy.andrews

[CL 14981967 by tyson brochu in ue5-main branch]
2021-01-04 15:51:52 -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
799cdb9c44 Fix static analysis by adding ".0f" to a literal.
#rb trivial
#jira UE-104571

[CL 14932134 by tyson brochu in ue5-main branch]
2020-12-15 12:52:30 -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
Ryan Schmidt
f411315813 MeshLODToolset:
- add support for extracting tangents in GenerateMeshLODGraph
- add GenerateStaticMeshLODProcess::UpdateSourceAsset(), writes generated mesh to LOD1, adds material slots for generated materials
- add GeneratedStaticMeshLODProcess::GetDerivedMaterialsPreview(), creates MIDs and temporary UTexture2Ds for generated textures, returns as a set that can be passed to a preview mesh
- add option to UGenerateStaticMeshLODAssetTool to update source asset instead of creating new static mesh
- UGenerateStaticMeshLODAssetTool now initializes result at startup, shows side-by-side preview

#rb none
#rnx
#jira none

[CL 14816227 by Ryan Schmidt in ue5-main branch]
2020-11-26 14:45:37 -04:00