Commit Graph

70 Commits

Author SHA1 Message Date
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
lonnie li
a2a528147e ModelingTools: Updated VSculpt icons.
#rb none
#rnx
#jira none
#preflight skip

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18802833 in //UE5/Release-5.0/... via CL 18802930 via CL 18821567
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821647 by lonnie li in ue5-main branch]
2022-02-02 01:47:56 -05:00
michael balzer
ddb9ec621b MeshModelingToolset: Move AutoUV tool into new non-experimental MeshModelingToolsEditorOnly module
#preflight 61f870f2a6632a34f35e5fc0

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

[CL 18821595 by michael balzer in ue5-main branch]
2022-02-02 01:43:50 -05:00
michael balzer
647682f21c MeshModelingToolset: Rename experimental module MeshModelingToolsEditorOnly to MeshModelingToolsEditorOnlyExp
#preflight 61f855ba41414fb013db45ac

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

[CL 18808168 by michael balzer in ue5-main branch]
2022-02-01 09:52:56 -05:00
michael balzer
a670f83d09 MeshModelingToolset: Rename GenGrps tool to GrpGen
#preflight 61f35f481f12674afbcf4ea5
#rb ryan.schmidt, semion.piskarev

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18772873 in //UE5/Release-5.0/... via CL 18772890 via CL 18773364
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18773415 by michael balzer in ue5-main branch]
2022-01-28 12:26:52 -05:00
michael balzer
c5b04a9496 MeshModelingToolset: Hide voxel tools using ProxyLOD under Linux/Mac
#preflight 61d7efba6511bc498e5ac2cc
#rb none

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18560888 in //UE5/Release-5.0/... via CL 18560920
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18560928 by michael balzer in ue5-release-engine-test branch]
2022-01-10 11:48:35 -05:00
michael balzer
7834f7999a MeshModelingToolset: Cleanup AutoUV tool
#preflight 61d63f62430de36baa437636
#rb jimmy.andrews, ryan.schmidt

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18540029 in //UE5/Release-5.0/... via CL 18540031
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18540032 by michael balzer in ue5-release-engine-test branch]
2022-01-07 00:14:44 -05:00
matija kecman
a1803322fe Enable mesh tangent tool for dynamic mesh actors
#rnx
#rb lonnie.li
#jira UE-131426
#preflight 61d60c90db0309127d0c1898

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 18529496 in //UE5/Release-5.0/... via CL 18529504
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18529505 by matija kecman in ue5-release-engine-test branch]
2022-01-06 04:59:43 -05:00
michael balzer
32bdf69c2f MeshModelingToolset: Fix Linux/Mac issues
#preflight 61bb942302481da02720e457
#rb ryan.schmidt, jimmy.andrews

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18478833 in //UE5/Release-5.0/... via CL 18481523
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481802 by michael balzer in ue5-release-engine-test branch]
2021-12-16 19:55:00 -05:00
ryan schmidt
27ba71e214 ModelingTools: Add support for reading and writing to a specific LOD via IMeshDescriptionProvider/Committer. Refactor various other aspects of MeshDescription access. Update MeshTransferTool to be able to transfer from and to specific LODs.
Add new MeshTargetInterfaceTypes.h file, move EStaticMeshEditingLOD there and rename to EMeshLODIdentifier. Add FGetMeshParameters and FCommitMeshParameters types.

IMeshDescriptionProvider::GetMeshDescription() now takes FGetMeshParameters to optionally specify LOD.
Added IMeshDescriptionProvider::GetMeshDescriptionCopy() function, to handle copy-case.
removed IMeshDescriptionProvider::CalculateAutoGeneratedAttributes(). This was only being used to force Tangents computation, which can now be done via GetMeshDescriptionCopy() and FGetMeshParameters.bWantMeshTangents option

IMeshDescriptionCommitter commit functions now take a FCommitMeshParameters to optionally specify target LOD.

StaticMeshComponentToolTarget::GetMeshDescriptionCopy() added, optionally computes auto-generated MeshDescription attributes on the copy

StaticMesh(Component)ToolTarget updated to support FCommitMeshParameters target-LOD.

SkeletalMesh, Volume, and DynamicMesh ToolTargets updated for new APIs but do not currently support any of the new LOD parameters. These should never be called w/ LOD parameters in the current codebase, ensures added to catch any errors (they would be non-fatal).

UE::ToolTarget::GetMeshDescription() and GetMeshDescriptionCopy() in now take FGetMeshParameters argument.
Removed bWantMeshTangents param to GetMeshDescriptionCopy(), now done via FGetMeshParameters. Updated call sites.

TransferMeshesTool now supports specifying read and write LOD (numbered or HiRes) for StaticMeshComponent source/target, via above functions.
TransferMeshesTool can now also target a new LOD in a StaticMeshComponent, index is 1 larger than current maximum source LOD.

#rb lonnie.li, rinat.abdrashitov
#rnx
#jira none
#preflight 61b8d56b2e65a1df046aa5e1

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18461686 in //UE5/Release-5.0/... via CL 18461725
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18461778 by ryan schmidt in ue5-release-engine-test branch]
2021-12-14 18:40:01 -05:00
ryan schmidt
db857d56b6 ModelingTools: convert various tools/mechanics/etc to use new SnappingManager functionality for scene hit-tests and snapping
#rb david.hill
#rnx
#jira none
#preflight 61b21920d308710b0c513796

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18419130 in //UE5/Release-5.0/... via CL 18422407
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18422664 by ryan schmidt in ue5-release-engine-test branch]
2021-12-09 14:46:09 -05:00