Commit Graph

46 Commits

Author SHA1 Message Date
Ryan Schmidt
7393d0f0f5 ModelingTools: Fix various issues related to Tangents. FDynamicMeshEditor was using hardcoded 0 index instead of loop-variable NormalLayerIndex in several places. FDynamicMeshTangents did not handle invalid overlay triangles. UEditorModelingObjectsCreationAPI::CreateDynamicMeshActor() was not enabling Tangents on new DynamicMeshComponents. UDynamicMeshComponentToolTarget was not transferring tangents between FDynamicMesh3 and FMeshDescription when converting.
#rb none
#rnx
#jira none
preflight 60d25e9678c3b000012438cc

[CL 16751529 by Ryan Schmidt in ue5-main branch]
2021-06-22 19:34:47 -04:00
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
6783e1ee61 GeometryProcessing:
Add FDynamicMeshEditor::AppendMesh() variant that takes a TTriangleMeshAdapter<double>
Add FMeshDescriptionMeshAdapterd that wraps FMeshDescriptionTriangleMeshAdapter in TTriangleMeshAdapter<double> API
Add TTransform3::HasNonUniformScale()
#rb david.hill
#rnx
#jira none
#preflight 609a0a570ba7b600013cce27

[CL 16278551 by Ryan Schmidt in ue5-main branch]
2021-05-11 15:50:30 -04:00
halfdan ingvarsson
b170b32087 Add support for converting mesh description with skin weights to/from dynamic mesh and topological editing of dynamic meshes, with skin weights that properly handle weight distribution under split/collapse.
#jira UE-93689
#rb jimmy.andrews, david.hill
#preflight 6092079559592e00013e4aed
#rnx

[CL 16202781 by halfdan ingvarsson in ue5-main branch]
2021-05-04 23:49:23 -04:00
David Hill
8024b85b42 Geometry Processing: Add Color Overlay as FVector4f to the default Dynamic Mesh Attribute Set. This should be used in place the mesh vertex color as it mirrors the wedge-instance granularity of MeshDescription used in static meshes, and the SkeletalMeshLODModel used in skeletal meshes. Also fix up the mesh conversion code to support this, as well as the undo system, and previous clients of the mesh vertex color.
#rb jimmy.andews, tyson.brochu
#preflight 607d8c95d7af9b00011d0244

[CL 16050860 by David Hill in ue5-main branch]
2021-04-19 10:47:52 -04:00
Ryan Schmidt
196be0f6d1 GeometryProcessing: replace UE::Geometry::FVector3d/FVector3f with UE Core versions based on TVector<T>. FVector3<T> is now an extension of TVector<T>. Update all affected call sites.
#rb none
#rnx
#jira none

[CL 15870068 by Ryan Schmidt in ue5-main branch]
2021-03-30 21:25:22 -04:00
Ryan Schmidt
6db97af132 GeometryProcessing: FVector2/3/4 refactoring. Move various member functions to standalone functions in UE::Geometry:: namespace, to simplify upcoming conversion to core vector types. Update all call sites.
#rb tyson.brochu, semion.piskarev
#rnx
#jira none

[CL 15732208 by Ryan Schmidt in ue5-main branch]
2021-03-17 19:32:44 -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
David Hill
ca34f99bc5 Geometry Tools: Allow DynamicMeshAttributeSet to have more than one "Normal" Attribute. This is flushing out the stubs of code that was already there.
#jira none
#rb jimmy.andrews
#rnx

[CL 15038409 by David Hill in ue5-main branch]
2021-01-11 12:43:33 -04:00
David Hill
da4b98cc63 DynamicMeshEditor - Check that the meshes have attribute layers before trying to copy the extended attributes.
#rnx
#rb jimmy.andrews
#jira none

[CL 14829383 by David Hill in ue5-main branch]
2020-12-01 13:49:59 -04:00
Jimmy Andrews
172e2060d6 fix append of generic attributes to only happen once, not once-per-triangle!
#rb david.hill
#rnx

[CL 14823208 by Jimmy Andrews in ue5-main branch]
2020-11-30 16:26:23 -04:00
Ryan Schmidt
58ce644f06 GeometryProcessing: add support for additional Polygroup layers in DynamicMeshAttributeSet.
- add Name FName to TDynamicAttributeBase, update Copy functions in various subclasses to copy this name
- add PolygroupLayers array to FDynamicMeshAttributeSet, add code get/set, call update functions where necessary. Also move some existing function implementations to cpp file
- update TDynamicMeshAttributeChange, DynamicMeshEditor to handle these new attributes
- AttributeEditorTool now creates polygroup layers as Triangle attributes
- MeshDescriptionToDynamicMesh now creates PolygroupLayer attributes from any non-reserved Triangle int32 attributes
- DynamicMeshToMeshDescription now syncs PolygroupLayer attributes with MeshDescription in new ConvertPolygonGroupLayers() function
- add TSet variant of FMeshConnectedComponents::GrowToConnectedTriangles

#rb jimmy.andrews
#rnx
#jira none

[CL 14816587 by Ryan Schmidt in ue5-main branch]
2020-11-26 20:12:25 -04:00
Jimmy Andrews
77ef0d5486 split fracture results into disconnected pieces as needed
+ fix proximity-finding method to not use triangle group IDs (since those change on mesh append, which happens during mesh booleans)

#rb ryan.schmidt

[CL 14810346 by Jimmy Andrews in ue5-main branch]
2020-11-24 14:10:15 -04:00
Jimmy Andrews
3a4220d058 Fix vertex UVs and other attributes getting lost on fracture
#jira UESP-4139
#rb tyson.brochu

[CL 14756171 by Jimmy Andrews in ue5-main branch]
2020-11-16 13:32:59 -04:00
Jimmy Andrews
d7255d8ac3 add min area and min tri count filters for jacketing tool, to help remove isolated floating tris from output
#rb tyson.brochu

[CL 14712401 by Jimmy Andrews in ue5-main branch]
2020-11-10 17:04:15 -04:00
Jimmy Andrews
038fc1b8af change the way generic attributes are handled so that we can preserve generic attributes across mesheditor AppendMesh operations
+ a couple minor helpful additions to DynamicMeshEditor: add a cleanup function for removing unreferenced vertices, and add a parameter for StitchSparselyCorrespondedVertexLoops to optionally reverse its triangle orientations

#rb ryan.schmidt tyson.brochu
#rnx

[CL 14626245 by Jimmy Andrews in ue5-main branch]
2020-11-01 22:12:11 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ryan schmidt
e7f3baf1ca Edigrate Dev-Editor updates to InteractiveToolsFramework, GeometryProcessing, MeshModelingToolset, and ModelingTools Editor Mode Plugins. Update a few files in new MeshPaint Plugin for UInteractiveTool rename of ::Tick() to ::OnTick().
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12908995 via CL 12908996 via CL 12909001
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12909003 by ryan schmidt in Main branch]
2020-04-18 18:42:59 -04:00
jimmy andrews
3b3a2172f7 propagate MeshRegionBoundaryLoops failure cases up to caller, via return value and flag, rather than just check()ing on them
Handle this and related failures more consistently upstream.

Also don't rely on triangle orientation for edge walk direction after the first edge.

#jira UE-88576
#rb ryan.schmidt
#rnx

#ROBOMERGE-SOURCE: CL 11452305 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11452320 by jimmy andrews in 4.25-Plus branch]
2020-02-14 18:50:11 -05:00
jimmy andrews
d03d9f1985 fix remesher crashing on mesh with duplicate triangles by refusing to append duplicate triangles + add test coverage and checkvalidity flags to support testing
#jira UE-88572
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 11452101 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11452103 by jimmy andrews in 4.25-Plus branch]
2020-02-14 18:31:22 -05:00
Max Chen
b4881d8bf8 Copying //UE4/Dev-Editor to Dev-Tools-Staging (//UE4/Dev-Tools-Staging) @11123875
#rb none
#jira none

[CL 11123880 by Max Chen in Dev-Tools-Staging branch]
2020-01-27 20:11:15 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
Marc Audy
360d078ca3 Second batch of remaining Engine copyright updates.
#rnx
#rb none

[CL 10871248 by Marc Audy in Main branch]
2019-12-27 09:26:59 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00