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
90913525bc
Remove previous parallel executor for AutoLOD. FGraph now uses a Async/Future system by default, which is typically faster and more flexible.
...
#jira UETOOL-3022
#rnx
#preflight 605378741965b60001ec30e4
#ROBOMERGE-SOURCE: CL 15739130 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
[CL 15739142 by tyson brochu in ue5-main branch]
2021-03-18 12:53:01 -04:00
Ryan Schmidt
df497aa095
GeometryProcessing: move FVector2/3/4/f/d back out of UE::Geometry:: namespace
...
#rb none
#rnx
#jira none
[CL 15733915 by Ryan Schmidt in ue5-main branch]
2021-03-17 21:45:29 -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
tyson brochu
5f2df008ae
GeometryFlowGraph: detect when trying to connect to an input that already has an incoming connection.
...
#jira UETOOL-2962
#rnx
#rb jimmy.andrews
#ROBOMERGE-SOURCE: CL 15531740 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15532097 by tyson brochu in ue5-main branch]
2021-02-25 15:26:34 -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
dc4f180417
Alternate parallel execution for GeometryFlow graphs. Starting from the desired output, recursively kick off upstream nodes with Async. Wait for the upstream nodes to finish and then execute the node.
...
#jira UETOOL-2978
#rnx
#rb jimmy.andrews
[CL 15323311 by tyson brochu in ue5-main branch]
2021-02-04 18:26:38 -04:00
tyson brochu
d330d59b32
Fix GeometryFlow unit tests after adding ProgressCancel and removing DebugNodeExecutionLog from the Executor in CL 15273200.
...
#rnx
[CL 15275496 by tyson brochu in ue5-main branch]
2021-02-01 17:57:14 -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
5cac9a8ad1
Add debug dump of graph connectivity (node-to-node only, not input-to-output). Allows for graph visualization in third party applications.
...
#rnx
#rb jimmy.andrews
[CL 14933712 by tyson brochu in ue5-main branch]
2020-12-15 15:34:09 -04:00
tyson brochu
8556d50519
GeometryProcessingUnitTests: default to multithreaded mode, use --no-mt for single threaded. Detect and skip tests that would crash with no multithreading.
...
#jira none
#rnx
#rb ryan.schmidt
[CL 14899326 by tyson brochu in ue5-main branch]
2020-12-10 13:53:15 -04:00
tyson brochu
2f89b553cd
GeometryFlowExecutor: Fix stealing outputs from nodes when using parallel execution. This change also effectively adds a second API to the parallel executor -- the user can now call a single synchronous function to get outputs, or they can call a function to kick off the multithreaded process, and then wait for individual outputs.
...
#jira none
#rb ryan.schmidt
#rnx
[CL 14890519 by tyson brochu in ue5-main branch]
2020-12-09 14:50:06 -04:00
Ryan Schmidt
264bf0acf6
MeshLODToolset: FGenerateMeshLODGraph now has API for updating parameters on various internal nodes. Added FGenerateStaticMeshLODProcessSettings which contains subset of those parameters that we want to expose to user. Make that available via UGenerateStaticMeshLODAssetToolProperties in AutoGenLODTool. Add necessary watchers and recompute notifications. Add collision data visualization.
...
#rb none
#rnx
#jira none
#fyi tyson.brochu
[CL 14858813 by Ryan Schmidt in ue5-main branch]
2020-12-04 16:20:14 -04:00
tyson brochu
19e506ef12
Parallel executor for GeometryFlow based on TaskGraph. Unit tests for GeometryFlow.
...
#jira UETOOL-2780
#rnx
#rb ryan.schmidt
[CL 14851448 by tyson brochu in ue5-main branch]
2020-12-03 19:56:06 -04:00
Ryan Schmidt
029115b18f
GeometryProcessing: add new prototype GeometryFlow plugin for implementing expensive geometry processing operations in a node-graph style. Add MeshLODToolset plugin that implements a GeometryFlow graph for processing a high-resolution source mesh+materials into a game-ready staticmesh asset + material instances + collision geometry. GenerateStaticMeshLODAssetTool exposes this process in a Modeling Mode tool.
...
#rb none
#rnx
#jira none
[CL 14808819 by Ryan Schmidt in ue5-main branch]
2020-11-24 01:17:27 -04:00