Commit Graph

80 Commits

Author SHA1 Message Date
Zousar Shaker
3f4252aa56 ObjectPtr upgrade for engine plugins used from UnrealEditor -allmodules. Automated upgrade process.
#rb none
#preflight 62fe7f270601ad0504910c30

[CL 21447894 by Zousar Shaker in ue5-main branch]
2022-08-18 15:08:49 -04:00
michael balzer
829e1a2c1c MeshModelingToolset: Add Pattern tool icon
#preflight 62f58aabbd746abb9991a630

[CL 21348132 by michael balzer in ue5-main branch]
2022-08-11 19:10:13 -04:00
michael balzer
c7460b0d64 ModelingMode: Replace usage of deprecated function UObjectBaseUtility::GetOutermost() with UObjectBaseUtility::GetPackage()
#preflight 62f41cf8466f8c150dbe6853

[CL 21336616 by michael balzer in ue5-main branch]
2022-08-11 11:08:51 -04:00
Ryan Schmidt
c793d4bfa8 SelectionManager: modify Shutdown() to handle clearing active targets itself, as calling ClearActiveTargets() on editor shutdown can result in error if Component is already destroyed
#rb none
#preflight 62d976e53122bf80ae015983

[CL 21203457 by Ryan Schmidt in ue5-main branch]
2022-07-21 12:52:31 -04:00
Ryan Schmidt
37883ed91e nonunity fix
#rb none
#preflight skip

[CL 21121058 by Ryan Schmidt in ue5-main branch]
2022-07-15 22:06:51 -04:00
Ryan Schmidt
986547914e Move GeometrySelection.h and GeometrySelectionUtil.h to GeometryProcessing plugin. Move types in GeometrySelection.h into UE::Geometry:: namespace. Fix up usage sites.
#rb none
#preflight 62d1c7222e3e5993c351a126

[CL 21117964 by Ryan Schmidt in ue5-main branch]
2022-07-15 17:53:52 -04:00
Ryan Schmidt
6032c02f0e ModelingMode: add Delete command for current Mesh Selection
ToolsFramework:
add UInteractiveCommand and UInteractiveCommandArguments types, base classes for 'interactive commands' which are intended to be used for atomic actions, ie stateless, no user interaction, etc
ModelingComponents:
add UGeometrySelectionEditCommand/Arguments, this is a UInteractiveCommand that uses a FGeometrySelection as an argument
add UGeometrySelectionManager::CanExecuteSelectionCommand() and ExecuteSelectionCommand()

MeshModelingTools:
add UDeleteGeometrySelectionCommand, deletes selected mesh geometry by converting input selection to list of triangles

ModelingToolsEditorMode:
add Delete command to ModelingMode and UI. ModelingToolsEditorMode currently is keeping active command set alive via new UModelingToolsEditorMode::ModelingModeCommands member.

#rb none
#preflight 62d195b9a66919b6701d89a8

[CL 21113757 by Ryan Schmidt in ue5-main branch]
2022-07-15 13:49:13 -04:00
Ryan Schmidt
4a45215891 ModelingMode: fix live coding
#rb tim.smith
#preflight 62ced3e7f30df2b55bf572c9

[CL 21071030 by Ryan Schmidt in ue5-main branch]
2022-07-13 10:44:27 -04:00
Ryan Schmidt
7f760f8995 ModelingTools: add new Pattern Tool and expose in Modeling Mode. Pattern tool tiles input object(s) in linear/grid/radial patterns, with various transform options, and emits new actors in various ways
#rb none
#preflight 62cd8c02e7210cd0bea24b67

[CL 21057112 by Ryan Schmidt in ue5-main branch]
2022-07-12 11:36:32 -04:00
Ryan Schmidt
6c6315d4e5 ModelingMode: add support for new element-level geometry selection system for DynamicMeshComponents
New UModelingSelectionInteraction provides click-to-select and gizmo interactions for current set of mesh objects that support selection, by manipulating the active UGeometrySelectionManager.

ModelingMode now creates a UGeometrySelectionManager and UModelingSelectionInteraction on mode startup, if 'persistent selections' are enabled in the project settings. This replaces the previous persistent selection system/manager, which is no longer created/registered.
UModelingToolsEditorMode::ShouldDrawWidget() and ::ComputeBoundingBoxForViewportFocus() updated to support active Selection.

Functions ::OnToolsContextRender(), ::OnToolPostBuild(), ::GetGeometrySelectionChangesAllowed(), ::TestForEditorGizmoHit(), ::UpdateSelectionManagerOnEditorSelectionChange() added to support selection system.

FModelingToolsEditorModeToolkit will add buttons for selection control if Persistent Selections are enabled. Dynamic updates to Palette based on active selection are initiated by EdMode. Currently the selection-actions palette is empty.

#rb none
#preflight 62c5f20c3c5171c81715f5f4

[CL 20973334 by Ryan Schmidt in ue5-main branch]
2022-07-06 16:54:57 -04:00
Ryan Schmidt
b02bf48b82 ModelingMode: remove the ablity to enable/disable DynamicMeshActor support in Modeling Mode. Always enable.
#rb none
#preflight 62a115d72c15d7fe9f670095

[CL 20570927 by Ryan Schmidt in ue5-main branch]
2022-06-08 23:37:53 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
michael balzer
53f5900d62 MeshModelingToolset: Fall back to interactive save when creating an asset for an unsaved map in restrictive mode
#preflight 627af0bc0a5817c9d9185b95

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 20132710 via CL 20143958 via CL 20145136 via CL 20145973
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20149270 by michael balzer in ue5-main branch]
2022-05-11 16:36:01 -04:00
Jimmy Andrews
7659cb1e0e fix nonunity build error for bake transform tool detail customization
#jira UE-151632
#rb trivial
#preflight skip

[CL 20140727 by Jimmy Andrews in ue5-main branch]
2022-05-11 11:11:12 -04:00
Jimmy Andrews
525173d5ea Prevent BakeRS UI from allowing user to try baking only rotation w/ a rotation+non-uniform scale, as UE transforms don't support this
#jira UE-151507
#rb lonnie.li
#preflight 627af39d0a5817c9d918b1bd

[CL 20132493 by Jimmy Andrews in ue5-main branch]
2022-05-10 20:29:48 -04:00
michael balzer
05dbd1ecc4 MeshModelingToolset: Fix non-unity build error in ModelingModeAssetUtil.cpp
#preflight none
#rb none

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 20107565 via CL 20110431 via CL 20111466 via CL 20111720
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20114337 by michael balzer in ue5-main branch]
2022-05-09 19:52:35 -04:00
andrew grant
ba03722e81 Fixed non-unity compile errors
#preflight skip

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 20105771 via CL 20110402 via CL 20111442 via CL 20111713
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20114333 by andrew grant in ue5-main branch]
2022-05-09 19:52:28 -04:00
michael balzer
b624e00dc5 MeshModelingToolset: Allow users to explicitly choose path for generated assets inside the project folder when in restrictive mode (defaulted to "Meshes")
#jira UE-149020
#preflight 62757fa2446ffbbe5fa5ec07

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 20103249 via CL 20105563 via CL 20106217 via CL 20106532
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20109787 by michael balzer in ue5-main branch]
2022-05-09 15:51:17 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -04:00
michael balzer
ee80b196b7 ModelingToolset: Fix missing include
#rb trivial
#preflight none

#ROBOMERGE-OWNER: michael.balzer
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 19990104 via CL 19990195 via CL 19990343 via CL 19990592
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19992443 by michael balzer in ue5-main branch]
2022-04-30 00:13:29 -04:00
michael balzer
5f7282947e ModelingMode: Adjust quick settings in restrictive mode
#jira UE-149020
#preflight 626c1d4e0f5f22f92236e4dc
#rb lonnie.li

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 19988617 via CL 19989244 via CL 19989248 via CL 19989250
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19991600 by michael balzer in ue5-main branch]
2022-04-29 23:40:56 -04:00
matija kecman
cd9f7b5ac9 Initial version of Render Capture Baking tool
#rnx
#jira none
#preflight 19090412
#rb lonnie.li

[CL 19499270 by matija kecman in ue5-main branch]
2022-03-24 14:11:45 -04:00
ryan schmidt
d8dde9eea2 localization macros duplicate-key fixes
#rb david.hill
#jira UE-141529
#preflight 6206df7c3a5afc57e39a8591
#rnx

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18963942 in //UE5/Release-5.0/... via CL 18964255 via CL 18965086
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18965110 by ryan schmidt in ue5-main branch]
2022-02-11 18:25:48 -05:00
michael balzer
b7e8ab50b9 MeshModelingToolset: Clean-up module dependencies
#preflight 61f87e13a6632a34f35f9604

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18802939 in //UE5/Release-5.0/... via CL 18802947 via CL 18821568
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821648 by michael balzer in ue5-main branch]
2022-02-02 01:48:09 -05:00