Also disabled creating constraints from the PhysicsAssetUtils level by just checking if UPhysicsConstraintTemplate are allowed to be created. This allowed me to remove the code modifying the UPhysicsAssetGenerationSettings defaults at the ValkyrieEditor level.
#rb Sergio.Gardeazabal jeanluc.corenthin
[CL 26198788 by alex mcadams in ue5-main branch]
We were holding onto SharedPtrs to the PhysicsAssetEditor in menu extensions lambdas that caused the asset editor to not clean up propertly. This made it so you couldn't re-open an asset after it had been closed in the editor. Hold onto weakptrs instead.
#preflight 64628160cf788a255845cae7
#rb karen.jirak
[CL 25482670 by alex mcadams in ue5-main branch]
I updated a few of the main menus to use the new "Tool Menus" instead of the old "Menu Builder" so they could be hidden via the json permissions file. However, there are a bunch of contextual menus that I did not upgrade. Instead, I gated the creation of any simulation or constraint "legacy" menus via new properties in the PhysicsAssetEditorOptions which are set from the ValkyrieEditor. The Valkyrie Editor also changes the default create params (FPhysAssetCreateParams) to not create constraints, so constraints will not be created when creating new physics assets.
#preflight 644818dbfa6ba3cc5b5a818e
#rb rex.hill jason.stasik chris.caulfield
[CL 25192111 by alex mcadams in ue5-main branch]
- Fix instances where a bone index is retrieved from the reference skeleton and used it to index into the editor skeleton component (Editor only)
- Add a new prioritized input chord feature to the EdtiorViewportClient that acts to resolve conflict between overlapping input key combinations. When higher priority key chords evaluate true, the required key presses are marked as consumed and are ignored by lower priority chords.
- Use the new prioritized input chord feature to prevent the keyboard modifier for editing the child frame - Alt + Shift - from clashing with keyboard modifier for the Lock camera to widget feature - Shift - which was causing the translation widget to move erratically when editing the child frame.
- Render the manipulator widget in the child frame when editing the child transform
- Draw the constraint limit cones in the parent frame
- Draw the transform of the child reference frame
- Draw an arrow indicating the constraint�s current twist
#jira UE-182207, UE-144378
[REVIEW] [at]Benn.Gallagher, [at]Danny.Chapman, [at]Cedric.Caillaud
#preflight 6436770a4c0cdaea09334141
[CL 25018207 by nick brett in ue5-main branch]
This adds a new Chaos Implicit Object TWeightedLatticeImplicitObject which can wrap any (bounded) rigid implicit object with a weighted lattice. The lattice deforms via Linear Blend Skinning and is used to approximate deformation of the wrapped rigid implicit object.
A new physics asset FKShapeElem type has been added: the FKSkinnedLevelSet which holds a TWeightedLatticeImplicitObject<FLevelSet>. The PhysicsAssetEditor has been updated to generate this for skeletal meshes. Skinned level sets can be generated from a subset of bones in the skeletal mesh. Weights are transferred by Poisson diffusing weights on the surface to the volumetric lattice points.
There is limited debug draw and the asset generation workflow likely will need iteration.
#preflight 63d9b7f48505ea6b1fd4abb4
#rb kriss.gossart
[CL 23950693 by Alex McAdams in ue5-main branch]
Skeleton compatibility is now bi-directional. Specifying a compatible skeleton A -> B now implies B -> A.
Skeleton compatibility is now an editor-only concern. The runtime will attempt to do the 'best it can' via name -> name mappings. Only the editor will prevent assigning incompatible skeletons in (e.g.) asset pickers etc.
Skeleton compatibility checks in editor can now be disabled in the editor preferences (and each asset picker now has a checkbox option in its view settings that allows for quick access to this).
Moves FSkeletonRemapping to its own file (which is now private).
Skeleton remappings are now generated on demand on worker threads just before animation decompression and stored in a registry, guarded by FRWScopeLock for thread-safety.
Fixed some anim BP compiler edge cases where asset references on pins were not getting preloaded correctly, causing skeletons to be erroneously reported as missing.
Exposed the current asset registry filter in SAssetView so that menu extensions can access it (and use it to provide context)
#jira UE-166054
#jira UE-167355
#rb Jurre.deBaare,John.vanderBerg
#preflight 635902602e6690262afa86f9
[CL 22878911 by Thomas Sarkanen in ue5-main branch]
- Don't ignore bone scaling when calculating widget transforms for constraints.
#rb [at]Thomas.Sarkanen, [at]Cedric.Caillaud
#preflight 632986a9f87253e021ffb1d4
#rnx
[CL 22090682 by nick brett in ue5-main branch]
- Change FPhysicsAssetEditorEditMode::SimMousePress s.t. it only consumes input (returns true) when it has an effect.
[REVIEW] [at]Chris.Caulfield, [at]Thomas.Sarkanen
#rnx
[CL 21962082 by nick brett in ue5-main branch]
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631e283bec5b0c765fc0ffdb
[CL 21960084 by bryan sefcik in ue5-main branch]
This change also added a delegate to FPersonaToolkitArgs with reference to a IDetailBuilderLayout so assets can customize the Preview Scene Settings.
#JIRA https://jira.it.epicgames.com/browse/UE-148894
#rb halfdan.ingvarsson
#preflight
#preflight 631b7a00967ffc68fb262e06
[CL 21924418 by kiaran ritchie in ue5-main branch]