Commit Graph

17 Commits

Author SHA1 Message Date
Ryan Schmidt
f45388ffbe Rename USimpleDynamicMeshComponent to UDynamicMeshComponent. Move ModelingComponents Components and SceneProxys to /Components subdirectory.
#rb none
#rnx
#jira none
#preflight 60c4451f5c10070001ae0537

[CL 16652187 by Ryan Schmidt in ue5-main branch]
2021-06-12 14:28:52 -04:00
Ryan Schmidt
b62db3ed4d ModelingComponents: Add UDynamicMesh class, wraps FDynamicMesh3 in a UObject. Use as mesh storage inside SimpleDynamicMeshComponent and OctreeDynamicMeshComponent. Clean up SimpleDynamicMeshComponent and BaseDynamicMeshComponent API and headers.
#rb david.hill
#rnx
#jira none
#preflight 60c15e9cc612640001ac7350

[CL 16632323 by Ryan Schmidt in ue5-main branch]
2021-06-10 18:37:34 -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
e577ba63dc ModelingTools: fix backface-hit issues w/ VSculpt and DSculpt. Behavior is now consistent between the tools, and when backface-hit is disabled, the brush will not be able to jump to back-facing surfaces during the stroke. The Nearest-hit is now always computed, and then rejected if it is back-facing, instead of filtering out backfaces during the raycast (which allowed "hidden" front-facing surfaces to still be hit).
#rb none
#rnx
#jira UE-114694
#preflight 609459b04185130001cea0d5

[CL 16227051 by Ryan Schmidt in ue5-main branch]
2021-05-06 18:29:00 -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
lonnie li
e4b41a3d8c ModelingTools: ToolTarget refactor for Sculpt tools
#rb semion.piskarev ryan.schmidt
#jira none
#rnx

[CL 15741814 by lonnie li in ue5-main branch]
2021-03-18 17:20:32 -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
ryan schmidt
1cf7f428cd ModelingMode: add ability to restrict VertexSculpt brush to a single mesh connected-component, or a single polygroup. Expose backface-hits option in GroupPaintTool.
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 15575728 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15575757 by ryan schmidt in ue5-main branch]
2021-03-02 19:23:29 -04:00
tyson brochu
104cb9ceef Fix crash when loading virtual texture to use as alpha in sculpt tool.
#jira UE-108683
#rnx

#ROBOMERGE-SOURCE: CL 15520459 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15520482 by tyson brochu in ue5-main branch]
2021-02-24 16:02:48 -04:00
ryan schmidt
47311d8f7e ModelingTools UX: change tool names so that label now visible in the main viewport corresponds to icon name. Update accept/cancel/complete tooltips and button styles.
#rb none
#rnx
#jira none

#ROBOMERGE-OWNER: ryan.schmidt
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 15348621 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15360215 by ryan schmidt in ue5-main branch]
2021-02-08 17:02:09 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Ryan Schmidt
3ba3a1ae83 ModelingTools: handle some async race conditions in VertexSculptTool that could cause crash on very fast repeated undo/redo. Clean up some lambda captures.
#rb none
#rnx
#jira none

[CL 15290194 by Ryan Schmidt in ue5-main branch]
2021-02-03 02:52:36 -04:00
Ryan Schmidt
fc84f89842 ModelingTools:
Add support for brush alphas to VertexSculptTool. Replace cycle counter instrumentation with insights tags. Perf optimizations for normals computation, additional async refactoring.
MeshSculptToolBase now allows subclasses to override final commit behavior, added support for variable stamp spacing and flow rate, expose various other internal functions to subclasses. Update various brush implementations for new stamp system.
Add support for custom brush stamp Alpha function to FSculptBrushStamp
Add FMeshSculptBrushOp::::SupportsVariableSpacing(), brush stamp impls use this to indicate that they support custom Alphas. Implement support in various Sculpt brushes.
Add various functions to recompute normals for a triangle region to UE::SculptUtil
FMeshVertexChangeBuilder now supports only updating vertex color.
#rb none
#rnx
#jira none

[CL 15267008 by Ryan Schmidt in ue5-main branch]
2021-01-31 20:16:41 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
ryan schmidt
78b6884350 ModelingTools: remove Q/A keybindings in Sculpt tool, problematic interaction w/ WASD navigation
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 13145935 via CL 13145936 via CL 13145937
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13145938 by ryan schmidt in Main branch]
2020-05-03 16:02:33 -04:00
ryan schmidt
f60a6012f3 ModelingTools: Ongoing Sculpting improvements:
- new UMeshSculptBrushOpProps baseclass for per-BrushOp Property Sets, added such a PropertySet for each BrushOp
    - separate Strength/Depth/Falloff for each BrushOp so that they can have different settings. Currently cannot be in a shared base PropSet class because of different UProp Category strings
- UMeshSculptToolBase now supports registering BrushOp factory paired w/ ToolProps, rewrote VertexSculpt to use this to handle switching active BrushOp and visible PropSet
- removed UPlaneBrushProperties, vertex sculpt no longer uses USculptMaxBrushProperties  (still used by dynamic sculpt)
- moved UMeshSurfacePointTool implementation up to UMeshSculptToolBase
- UMeshSculptToolBase now has OnBeginStroke() / OnEndStroke()API for subclasses to use to handle stroke (instead of overriding drag functions)
- Moved some setup to UMeshSculptToolBase. It can now initializes the target Component, can apply to Simple or Octree variants,
- moved Primary/Secondary BrushOp and active Falloff to UMeshSculptToolBase
- Support for various falloff types implemented in StampFalloffs.h, new EMeshSculptFalloffType exposed in VertexSculpt properties
- moved target component Transforms to UMeshSculptToolBase
- moved Brush Frames to UMeshSculptToolBase. Now storing Frames instead of Point+Normal, moved functions to update position for various stamp types
- UMeshSculptToolBase now has API for hit-testing against Sculpt and Base mesh, VertexSculpt implements
- UMeshSculptToolBase now has APIs for accessing transforms, current DMesh and BaseMesh, active stroke Depth/Strength/Falloff properties,
- moved Brush Target Plane (eg for Move), Stamp Plane (eg for Flatten), and StrokePlane (eg for Plane brushes) to UMeshSculptToolBase, and relevant calcuation APIs
- base USculptBrushProperties now has Lazyness parameter, implemented lazy-brush in base sculpt tool
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 13044097 via CL 13044098 via CL 13044099
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048205 by ryan schmidt in Main branch]
2020-04-27 12:51:59 -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