Commit Graph

14 Commits

Author SHA1 Message Date
Ryan Schmidt
34e50c3aa1 GeometryFramework: move UDynamicMesh and DynamicMeshComponent to new Runtime/Experimental/GeometryFramework module
#rb none
#rnx
#jira none
#preflight 60d16e6ca81904000135e6d4

[CL 16744295 by Ryan Schmidt in ue5-main branch]
2021-06-22 12:10:24 -04:00
Ryan Schmidt
c3c459d75d ModelingComponents: Move SubdividePoly to ModelingComponentsEditorOnly. Need this to be able to apply SubD in other contexts.
#rb tyson.brochu
#rnx
#jira none
#preflight 60be56c8883e7f00015ed9ad

[CL 16577012 by Ryan Schmidt in ue5-main branch]
2021-06-07 16:29:48 -04:00
Ryan Schmidt
75a21c9bb9 ModelingTools: add support for creating Volumes directly from DrawPolygon, DrawRevolve, DrawPolyPath, and AddPrimitive, CombineMeshes, CutMeshWithMesh, PlaneCut, BaseCreateFromSelected Tools. Improve support for Editing volumes, eg handling mesh/volume interactions, and add configurable auto-simplification for volumes to avoid painful Editor hangs.
- Move ToolTarget implementations, DynamicMeshToVolume to ModelingComponentsEditorOnly module
- move VolumeToDynamicMesh, DynamicMeshProvider/Commiter interfaces to ModelingComponents module
- Add UCreateMeshObjectTypeProperties property set to expose mesh/volume options
- Add FCreateMeshObjectParams::TypeHintClass to allow AVolume type (or other UClass hints) to be passed to creation APIs
- Add UE::ToolTarget::ConfigureCreateMeshObjectParams() util function in ModelingToolTargetUtil, tries to determine output type in a FCreateMeshObjectParams based on input ToolTarget
- Add UEditorModelingObjectsCreationAPI::CreateVolume() implementation
- Add UEditorModelingObjectsCreationAPI::FilterMaterials() that strips out any internal materials and replaces with WorldGridMaterial. This occurs when (eg) subtracting a Volume from a StaticMesh, because the temporary volume mesh gets assigned internal materials, but the Tools don't know this. Use in EditorModelingObjectsCreationAPI when creating new objects. UStaticMeshComponentToolTarget also does this filtering in ::CommitMaterialSetUpdate().
- Add ::ComponentTypeSupportsCollision() function to ComponentCollisionUtil, use to avoid checks/ensures for Volume targets
- Add support for automatic mesh simplification in DynamicMeshToVolume. Add CVar to VolumeDynamicMeshToolTarget.h to control max triangle count (default 500). Apply auto-simplify when creating or updating an AVolume. This prevents the Editor from blocking for long periods on meshes that are too high-res for volumes (even 500 is quite high).
- DynamicMeshToVolume now emits polygroup-faces that contain holes (ie multiple boundary loops) as a set of triangles, rather than emitting separate overlapping faces for each boundary loop

#rb none
#rnx
#jira none
#preflight 60ba50632c42ea0001cb54c5

[CL 16561742 by Ryan Schmidt in ue5-main branch]
2021-06-04 16:04:03 -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
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
ryan schmidt
24b1919528 GeometryProcessing and MeshModelingToolset: remove UE4 comment/enum references
#rb none
#rnx
#jira UE-111136

#ROBOMERGE-SOURCE: CL 15781714 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15789800 by ryan schmidt in ue5-main branch]
2021-03-23 21:26:05 -04:00
tyson brochu
f615af570a Add a prototype Subdivide tool that converts a Group Topology into a smooth mesh.
#jira UETOOL-2408
#rb jimmy.andrews ryan.schmidt
#rnx

[CL 14720377 by tyson brochu in ue5-main branch]
2020-11-11 12:24:31 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
brooke hubert
48113fc77e Adding EditorFramework to build.cs files
#rnx
#Jira UE-96448
#rb chris.gagnon

[CL 14114839 by brooke hubert in ue5-main branch]
2020-08-14 13:24:16 -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
76437e3798 GeometryProcessing: merge MeshSolverUtilities module into DynamicMesh module. Update Build.cs references, test code.
Most of the code moved to /Private/Solvers/Internal, except:
- MeshElementLinearization.h split into /GeometricObjects/Util/ElementLinearization.h (not mesh-specific) and /DynamicMesh/Solvers/MeshLinearization.h for vtx/tri subclasses
- ELaplacianWeightScheme and a few util functions moved to /DynamicMesh/Solvers/MeshLaplacian.h
- IConstrainedMeshOperator renamed to IConstrainedMeshSolver and moved to /DynamicMesh/Solvers/
- MeshSolverUtilities.h API functions moved to /DynamicMesh/Solvers/MeshSmoothing.h, ConstrainedMeshDeformer.h, ConstrainedMeshSmoother.h
- Laplacian matrix assembly refactored out of LaplacianOperators.cpp and moved to /DynamicMesh/Solvers/LaplacianMatrixAssembly. LaplacianOperator functions are now wrappers around those functions.
- most of FSOAPositions refactored into TVector3Arrays<T>, which it now subclasses. The arrays are now TArray<T> and Eigen::Map is used to pass them to/from Eigen code. Moved to FSparseMatrixD.h

#rb none
#rnx

#ROBOMERGE-SOURCE: CL 13045456 via CL 13045457 via CL 13045458
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048356 by ryan schmidt in Main branch]
2020-04-27 12:58:07 -04:00
JeanMichel Dignard
84facd6d15 Copy from dev-enterprise cl 11097196
#rb none
#rnx

[CL 11099277 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-23 16:28:59 -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
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00