Ryan Schmidt
01714fc88e
ModelingTools: fix incorrect handling of polygroups on Accept in EditMeshPolygonsTool
...
#rb semion.piskarev
#rnx
#jira none
[CL 16669469 by Ryan Schmidt in ue5-main branch]
2021-06-15 00:25:58 -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
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
fdf11b67d2
ModelingComponents: Clean up DynamicMeshComponent API. Update Component and Proxy handling of Tangents to use Attribute Overlay if available. Update affected Tools and also convert most of the affected Tools to use UE::ToolTarget helper functions.
...
- Add UE::ToolTarget::CommitMaterialSetUpdate() and ::CommitDynamicMeshUpdate(). ::GetDynamicMeshCopy() can now return tangents if requested.
- Add IMeshDescriptionProvider::CalculateAutoGeneratedAttributes(). Default implementation does nothing, UStaticMeshComponentToolTarget implementation initializes auto-generated MeshDescription attributes. Used in ::GetDynamicMeshCopy() to get tangents (but requires a MeshDescription copy).
- Clean up handling of Tangents in Simple/OctreeDynamicMeshComponent. Add local MakeTangentsFunc() to generate the Tangents lambda, handle different cases and no-tangents fallbacks consistently.
- UDynamicMesh: add optional info arguments to EditMesh() and ChangeInfo struct. Add support for deferring change events from Edit funcs.
- Remove UBaseDynamicMeshComponent::InitializeMesh(), ::Bake() APIs, and add ::SetMesh(). Implement in Simple/Octree implementations, update all Tools that used those APIs.
- Add USimpleDynamicMeshComponent::ProcessMesh(), EditMesh(). These are now the preferred ways to read/write mesh.
- Update USimpleDynamicMeshComponent tangents handling. Externally-computed tangents are now taken directly from the FDynamicMesh3 attribute set. Autogenerated tangents are still computed and stored in an internal FMeshTangentsf, but this is no longer exposed for external updates.
- Remove UPreviewMesh pass-through functions for Tangents access, InitializeMesh() and Bake(). Add ProcessMesh()
- Update all affected Tools. In most cases these Tools have also been converted to use ModelingToolTargetUtil functions, instead of direct ToolTarget interface casting.
#rb none
#rnx
#jira none
#preflight 60c3e71d3e1b3c00015668af
[CL 16650666 by Ryan Schmidt in ue5-main branch]
2021-06-11 22:39:18 -04:00
lonnie li
febb75cece
ModelingTools: Fix post op selection for TriEdit: Extrude, Offset, Cut Faces & Duplicate.
...
#rb michael.balzer
#rnx
#jira UE-114975
#preflight 60baa85f2c42ea0001d65f32
[CL 16562738 by lonnie li in ue5-main branch]
2021-06-04 19:26:45 -04:00
lonnie li
56cb500376
ModelingTools: Fix selection after fill hole op in TriEd.
...
#rb jimmy.andrews
#rnx
#jira UE-114975
#preflight 60ad791a1d78490001f018b9
[CL 16458580 by lonnie li in ue5-main branch]
2021-05-25 19:29:53 -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
ebb5a89ce3
PolyEdit: add Duplicate operation
...
#rb jimmy.andrews
#rnx
#jira none
#preflight 60a6e28aa5fa6d00018453de
[CL 16412745 by Ryan Schmidt in ue5-main branch]
2021-05-20 19:44:37 -04:00
Ryan Schmidt
c0ba0d5235
ModelingMode: Add support for selection-focus and point-focus at Tool level.
...
- New UInteractiveToolCameraFocusAPI UInterface defines functions a Tool can implement to publish its ability to provide a focus-box and focus-point
- ModelingMode uses this API to customize behavior. Box-focus (f hotkey) will now always focus on Tool-provided focus-box if available. Point-focus (c hotkey) will focus on nearer of world-hit and Tool focus-point.
- Default implementations for PrimitiveComponentToolTarget in SingleSelectionTool and MultiSelectionTool
- Custom focus-box implementations for PolyEdit-derived and TriSelect-derived tools, to focus on active selection if available
- Custom focus-point implementations for MeshSurfacePointTool
#rnx
#jira none
[CL 16246252 by Ryan Schmidt in ue5-main branch]
2021-05-10 01:17:30 -04:00
semion piskarev
12e1230cfc
MeshModelingTools: Making some PolyEdit properties disable themselves when they would not do anything, and making them work more predictably.
...
#rb David.Hill
#rnx
#jira none
[CL 16127948 by semion piskarev in ue5-main branch]
2021-04-27 11:08:23 -04:00
ryan schmidt
a965e7113c
ModelingTools: properly save ROI of Decompose and Merge operations in PolyEdit. Also handle case of deleting entire mesh in PolyEdit and TriSelect tools (not allowed).
...
#rb none
#rnx
#jira UE-112687, UE-112400
#ROBOMERGE-SOURCE: CL 15919748 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
[CL 15921228 by ryan schmidt in ue5-main branch]
2021-04-05 15:05:51 -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
semion piskarev
9afaec475c
MeshModelingTools: Made it possible to use delete key in TriEdit, PolyEdit, and draw and revolve. Also corrected transaction names in PolyEdit.
...
#rb Jimmy.Andrews
#jira UETOOL-3115, UE-110262
#rnx
#ROBOMERGE-SOURCE: CL 15801836 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)
[CL 15808012 by semion piskarev in ue5-main branch]
2021-03-24 16:38:48 -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
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
semion piskarev
74138797e4
MeshModelingTools: Added to tool descriptions. Fixed snap drag mode in Transform tool. Added missing shutdown in Transform tool.
...
#rb Jimmy.Andrews
#rnx
#jira none
#ROBOMERGE-SOURCE: CL 15536524 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15536541 by semion piskarev in ue5-main branch]
2021-02-25 20:04:21 -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
semion piskarev
30aeed7a1f
MeshModelingTools: Added ability for gizmo to be repositioned using middle mouse, and used it iin Transform and PolyEdit tools. Added ability for gizmo to snap to nearby geometry when pressing Ctrl, and used it in Transform and PolyEdit tools.
...
#rb Ryan.Schmidt
#jira none
#rnx
[CL 15098499 by semion piskarev in ue5-main branch]
2021-01-14 19:07:52 -04:00
Ryan Schmidt
7b6236c2da
ModelingTools: early-out in PolyEdit Weld Edges when we have 2 selected edges but one is invalid for welding
...
#rb none
#rnx
#jira UE-104124
[CL 15001006 by Ryan Schmidt in ue5-main branch]
2021-01-06 14:23:56 -04:00
Ryan Schmidt
55a3fc17a9
ModelingMode: add PolyModel tab with experimental refactor of PolyEdit selection and operation tools
...
#rb none
#rnx
#jira none
#fyi semion.piskarev
[CL 14770660 by Ryan Schmidt in ue5-main branch]
2020-11-18 00:42:35 -04:00
semion piskarev
bdf43a29db
MeshModelingToolset: Added a way to store tool selections between tool invocations and used it in PolyEdit tool.
...
#rb Ryan.Schmidt
#jira UETOOL-2372
#rnx
[CL 14745200 by semion piskarev in ue5-main branch]
2020-11-13 14:07:30 -04:00
semion piskarev
ddeea7059e
MeshModelingTools: Added marquee select of vertices and edges in PolyEdit tool. Also refactored the selection mechanic to handle its own behaviors and adusted the using tools.
...
#rb Jimmy.Andrews, Tyson.Brochu
#jira UETOOL-2393
#rnx
[CL 14744531 by semion piskarev in ue5-main branch]
2020-11-13 12:09:55 -04:00
Marc Audy
68150e0be7
Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
...
This represents UE4/Main @ 14594913
[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marc Audy
4c1bb11c29
Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
...
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck
[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00