Commit Graph

51 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
2cd7a4943d AutoLOD: don't run UV packing if the input mesh is empty
#jira UE-139236
#rnx
#rb ryan.schmidt
#preflight 61e1f70200246899a950be81

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18624665 in //UE5/Release-5.0/... via CL 18624697 via CL 18624731
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18624746 by tyson brochu in ue5-main branch]
2022-01-14 17:54:30 -05:00
tyson brochu
d4e84148eb AutoLOD: prevent a hard crash if a node input mesh doesn't have attributes
#rnx
#rb ryan.schmidt
#preflight 61df6677ff67b6fe7ac81ca9

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18592140 in //UE5/Release-5.0/... via CL 18592157 via CL 18592170
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18592176 by tyson brochu in ue5-main branch]
2022-01-12 19:14:04 -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
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
tyson brochu
d88c2c5f41 Fix a crash when shutting down editor after cancelling AutoLOD tool:
- Added a lock in EvaluateResult -- the FGraph destructor can't run until EvaluateResult is finished
- Hold on to shared node locks locally, just in case the FGraph object gets deleted while a node is running

#jira UETOOL-4290
#rnx
#rb michael.balzer
#ushell-cherrypick of 17585656 by tyson.brochu
#preflight 61520955d0edce00010199e8

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

[CL 17635585 by tyson brochu in ue5-release-engine-test branch]
2021-09-27 15:59:40 -04: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
michael balzer
cf402dace4 GeometryFlow: Resolve PVS-Studio warnings in FMeshMakeCleanGeometry
#jira UE-126635
#rb trivial

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17505807 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17505813 by michael balzer in ue5-release-engine-test branch]
2021-09-14 12:29:21 -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
b364eb0465 ModelingTools: Clean up AutoUV Tools and add support for Polygroup Layers.
- Refactor recompute-UVs-for-groups/islands out of ParameterizeMeshOp/Tool into RecomputeUVsOp/Tool. RecomputeUVsTool supports selection of active PolygroupLayer when applicable. Add support for auto-repacking.
- Clean up ParameterizeMeshOp/Tool, remove functionality related to recomputation that was moved to Recompute tool, add separate property sets for UVAtlas and XAtlas
- Add FDynamicMeshUVEditor::QuickPack() function to compute UV layout
- Add support for Polygroup Layer selection in SetCollisionGeometryTool, if only one source object is in use

#rb none
#rnx
#jira none
#preflight 60ced4b0be81e800012cc135

#ROBOMERGE-SOURCE: CL 16724375 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16724383 by ryan schmidt in ue5-release-engine-test branch]
2021-06-20 17:01:49 -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
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
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
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