Commit Graph

46 Commits

Author SHA1 Message Date
tyson brochu
819b7b59cf If a ToolTarget's MeshComponent has no MeshDescription, return an empty but valid one. Harden various tools to not crash on empty meshes.
#jira UE-135710
#rnx
#rb jimmy.andrews
#preflight 61b24e173d544d1a435f6792

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18422162 in //UE5/Release-5.0/... via CL 18423015
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18423313 by tyson brochu in ue5-release-engine-test branch]
2021-12-09 15:02:36 -05:00
michael balzer
a31e8002f6 MeshModelingToolset: Cleanup Tangents tool
#preflight 61b162aba746977eaccd1dec

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18421479 in //UE5/Release-5.0/... via CL 18422966
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18423272 by michael balzer in ue5-release-engine-test branch]
2021-12-09 15:01:41 -05:00
ryan schmidt
17cefb1dd1 ModelingTools:
Reduce surface area of MeshDescriptionProvider/Committer, replace with UE::ToolTarget:: calls where possible.

Add new UE::ToolTarget::CommitMeshDescriptionUpdateViaDynamicMesh() function. This is being used for now to avoid potential regressions as UE::ToolTarget::CommitDynamicMeshUpdate will preferentially use DynamicMeshCommitter, and I am not certain it is functionally equivalent in all cases.
Add new UE::ToolTarget::CommitDynamicMeshNormalsUpdate(), similar to existing UV version
Add new Move-variant of UE::ToolTarget::CommitMeshDescriptionUpdate(), uses new Move-variant of IMeshDescriptionCommitter::CommitMeshDescription.
Make existing IMeshDescriptionCommitter::CommitMeshDescription callback interface protected, to prevent usage of this function at public API level (will be removed in future).

Tool updates should not change, just using cleaner APIs.
EditNormalsTool now uses CommitDynamicMeshNormalsUpdate(), which does go via DynamicMeshCommitter preferentially, where it previously went via MeshDescriptionCommitter. In light testing the results appear equivalent.
AttributeEditorTool now operates on MeshDescription copies in various update functions. These are not performance-critical.

#rb rinat.abdrashitov
#rnx
#preflight 61ae45998358693a22c28d1b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18384350 in //UE5/Release-5.0/... via CL 18384361
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18384373 by ryan schmidt in ue5-release-engine-test branch]
2021-12-06 12:42:19 -05:00
tyson brochu
4db31647fd Subdivide tool: optionally create new polygroups for refined output faces
#jira UETOOL-2668
#rnx
#preflight 61a8fd92245256036a03e0d2

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18353998 in //UE5/Release-5.0/... via CL 18354019
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18354032 by tyson brochu in ue5-release-engine-test branch]
2021-12-02 12:21:36 -05:00
tyson brochu
1193651ae0 Attribute editor tool: when adding a new attribute, or undoing the deletion of an attribute, set the selected attribute in the UI to the name of new attribute.
#jira UE-132477
#rnx
#preflight 61a0104c801b361978ec0361

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18297345 in //UE5/Release-5.0/... via CL 18297347
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18297351 by tyson brochu in ue5-release-engine-test branch]
2021-11-25 17:57:43 -05:00
ryan schmidt
88665f21e6 ModelingTools: do a planar-simplification pass in MeshToVolumeTool when using minimal polygons. This removes spurious vertices when the input mesh is more tessellated than strictly necessary.
#rb tyson.brochu
#rnx
#jira none
#preflight 619fb35daa4521f9e7e28a59

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18295970 in //UE5/Release-5.0/... via CL 18295984
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18296005 by ryan schmidt in ue5-release-engine-test branch]
2021-11-25 13:33:25 -05:00
lonnie li
6584198283 InteractiveToolsFramework: Remove unnecessary target interface functions from MultiSelectionTool.
ModelingTools: Add UMultiSelectionMeshEditingTool to hold common interface requirements and functions that pertain to modeling mode MultiSelectionTools.

#rb semion.piskarev
#rnx
#jira none
#preflight 619c66d5c3287aab27e12c73

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18269697 in //UE5/Release-5.0/... via CL 18269713
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18269717 by lonnie li in ue5-release-engine-test branch]
2021-11-23 09:42:40 -05:00
lonnie li
e08222e97a InteractiveToolFramework: Remove unnecessary tool target interface requirements for MeshSurfacePointTool.
ModelingTools: Add MeshSurfacePointMeshEditingToolBuilder with common mesh editing requirements.
Update MeshSurfacePointTool modeling tools to use MeshSurfacePointMeshEditingToolBuilder

#rb semion.piskarev
#rnx
#jira none
#preflight 6196d1bbb22f9e02b57b7438

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18269233 in //UE5/Release-5.0/... via CL 18269267
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18269272 by lonnie li in ue5-release-engine-test branch]
2021-11-23 08:55:40 -05:00
michael balzer
946b1c5d63 MeshModelingToolset: Cleanup UV Layout tool
#rb jimmy.andrews
#preflight 6196f777880616feb156f236

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18247882 in //UE5/Release-5.0/... via CL 18247896
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18247903 by michael balzer in ue5-release-engine-test branch]
2021-11-18 20:41:17 -05:00
tyson brochu
f6e0b02dbc Mesh Attribute Editor: update the visible attribute lists when undoing/redoing adding and deleting attributes
#jira UE-132477
#rnx
#rb jimmy.andrews
#preflight 619698607c5a3437f35dc815

#ROBOMERGE-AUTHOR: tyson.brochu
#ROBOMERGE-SOURCE: CL 18241310 in //UE5/Release-5.0/... via CL 18241319
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18242952 by tyson brochu in ue5-release-engine-test branch]
2021-11-18 15:24:28 -05:00
lonnie li
8af971ee51 InteractiveToolsFramework: Remove GetTargetRequirements from UInteractiveToolBuilder.
#rb rinat.abdrashitov
#rnx
#jira none
#preflight 619683b2c6791caccf5f1f8e

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18240428 in //UE5/Release-5.0/... via CL 18240485
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18242887 by lonnie li in ue5-release-engine-test branch]
2021-11-18 15:21:56 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
jimmy andrews
fd07763a78 remove UE::Geometry::TRay3 and replace usages with UE::Math::TRay
#rb tyson.brochu
#rnx
#preflight 6195872476668b37001d1141

#ushell-cherrypick of 18231220 by Jimmy.Andrews

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18232491 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)

[CL 18232527 by jimmy andrews in ue5-release-engine-test branch]
2021-11-17 21:06:46 -05:00
michael balzer
b8a1c9b6cf GeometryCore: Remove ExplicitUseGeometryMathTypes.h
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18227685 in //UE5/Release-5.0/... via CL 18229350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18231457 by michael balzer in ue5-release-engine-test branch]
2021-11-17 19:02:44 -05:00
michael balzer
a49c74b915 MeshModelingToolset: Move ModelingOperators and ModelingOperatorsEditorOnly modules out of experimental plugin
#jira UETOOL-3823
#rb lonnie.li
#preflight 617b1aea5794a500014f544a

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17972239 in //UE5/Release-5.0/... via CL 17972248
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17972256 by michael balzer in ue5-release-engine-test branch]
2021-10-28 19:47:45 -04:00
jimmy andrews
d35e160b9a fix polycut w/ degenerate rounded rect (corner ratio = 0) in three different ways:
- prevent parameter from going all the way to zero
 - extend cutting polygon a bit outside the bounding box to avoid creating coplanar cuts that stress the boolean system
 - when finding the initial nearest triangle to check for coplanarity, filter out degenerate triangles w/ zero vector normals

#jira UE-119242
#rb rinat.abdrashitov
#rb david.hill
#rnx

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17822833 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17825035 by jimmy andrews in ue5-release-engine-test branch]
2021-10-14 21:33:35 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ryan schmidt
12f074e656 ModelingTools: optional path tracing support inside Modeling Tools
- Add new UModelingComponentsSettings which has settings for in-tool preview mesh rendering and emitted new mesh objects
- Add ToolSetupUtil::ApplyRenderingConfigurationToPreview() utility functions, most Tools now call this function to configure UPreviewMesh/DynamicMeshComponents they create for mesh editing preview rendering (uses Settings to make setup decisions like RT on/off)
- add PreviewMesh::NotifyWorldPathTracedOutputInvalidated(), forces invalidation of current path tracing result, call from various PreviewMesh internal functions
- UCreateMeshObjectTypeProperties::ConfigureCreateMeshObjectParams() now configures new-mesh-object parameters with RT and Collision from UModelingComponentsSettings
- DynamicMeshComponent now defaults to raytracing-enabled, usage in Editor is controlled by above settings

#rb rinat.abdrashitov
#rnx
#jira none
#preflight 615f376bf0ee840001cab0fc

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17753416 in //UE5/Release-5.0/... via CL 17758212
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758266 by ryan schmidt in ue5-release-engine-test branch]
2021-10-07 22:25:54 -04:00
ryan schmidt
e2eabb50e4 ToolsFramework: Rename TransformGizmo.h to CombinedTransformGizmo.h
#rb none
#rnx
#jira none
#preflight 61552d2d549cbf0001b4dbab

#ushell-cherrypick of 17670370 by Ryan.Schmidt

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17676622 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17676632 by ryan schmidt in ue5-release-engine-test branch]
2021-09-30 08:27:39 -04:00
ryan schmidt
7fbc0f5361 ToolsFramework: rename modeling-mode UTransformGizmo to UCombinedTransformGizmo so that Editor can use this class name, update all usage
#rb none
#rnx
#jira none
#preflight 6154a3e0475173000105df9b

#ushell-cherrypick of 17666089 by Ryan.Schmidt

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17672826 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17672850 by ryan schmidt in ue5-release-engine-test branch]
2021-09-29 23:20:44 -04:00
ryan schmidt
a489e71e69 HairTools: move hair tools from MeshModelingToolset plugin to new experimental HairModelingToolset plugin that is disabled by default. Use Modeling Mode Extension API to add these Tools to Modeling Mode when the plugin is enabled.
#rb michael.balzer
#rnx
#jira none
#preflight 61548b3ff5e4fd0001d7f2b2

#ushell-cherrypick of 17663881 by Ryan.Schmidt

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17671400 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17671421 by ryan schmidt in ue5-release-engine-test branch]
2021-09-29 21:51:58 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
ryan schmidt
6437ecc4a1 GeometryCore: replace all usage of GeometryCore FVector3<T> with TVector<T>, remove FVector3<T> and GVector4<T>
#rb none
#rnx
#jira none
#preflight 614ce33574f7e70001ea822b

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

[CL 17617043 by ryan schmidt in ue5-release-engine-test branch]
2021-09-23 19:38:55 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
jimmy andrews
328ebd2da8 Add polygroup simplifier to simplify tool + improve behavior for angle tolerance w/ smooth turns over many edges
#rb tyson.brochu
#preflight 61450fb859380f0001155c20

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17560328 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17560336 by jimmy andrews in ue5-release-engine-test branch]
2021-09-17 19:39:12 -04:00