Commit Graph

82 Commits

Author SHA1 Message Date
Nicholas Frechette
230e9f42b3 Add missing anim BP template features now that skeleton compatibility has been relaxed
#jira UE-168846
#rb Thomas.Sarkanen
#preflight 63752a6c1c114bec050b9127

[CL 23157954 by Nicholas Frechette in ue5-main branch]
2022-11-16 13:30:40 -05:00
Thomas Sarkanen
d9c2b172f7 Skeleton compatibility improvements
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]
2022-11-01 06:25:59 -04:00
lucas dower
6bce8973c5 Fixed crash when attempting to draw pose-watched anim nodes which use custom edit modes such as 'Two Bone IK' and 'Transform (Modify) Bones'.
* Only nodes which have been setup to have drawable elements should be drawn when pose watched, such as 'RigidBody'.
* Anim nodes with custom edit modes should only draw their widgets when explicitly selected or override IAnimNodeEditMode::SupportsPoseWatch

#jira 165766
#rb thomas.sarkanen
#preflight 63514130047f3570adddd035

[CL 22655755 by lucas dower in ue5-main branch]
2022-10-20 10:42:00 -04:00
bryan sefcik
483f93dc1a Fixed misc include paths
#jira
#preflight 634f491669246074dbb2719d

[CL 22633214 by bryan sefcik in ue5-main branch]
2022-10-19 14:38:31 -04:00
eric knapik
ebeb6781c1 Animation BP toolbar trimming & permissions
* Tab filters are now applied before tab widgets before are created for animation blueprint editor instead of only when a user tries opening a new tab. This prevents disallowed tabs in default layouts being created.
* Event graph documents are not opened if event graph permissions are disabled when loading blueprint editor.
* Added new blueprint permission to optionally disable function overrides.

#rb thomas.sarkanen
#preflight 6346928ef04e6f8505f7b879

[CL 22547860 by eric knapik in ue5-main branch]
2022-10-15 02:13:23 -04:00
lucas dower
a5b975ca24 Fix for Persona mesh details text overlay blocking hit tests
* Fix for Persona mesh sections showing as selectable when not.
* Fix for editor viewport cursor style not updating if using orbit camera mode.

#jira UE-157811
#rb thomas.sarkanen
#preflight 63246538ea1c94f4c5b3dfc7

[CL 22052213 by lucas dower in ue5-main branch]
2022-09-16 12:44:00 -04:00
thomas sarkanen
772a44e8b6 Fixed crash deleting a blendspace node
Guarded against a null graph selection in IsEditable()

#jira UE-159116
#rb Jurre.deBaare
#preflight 632323873523d263aa159a86

[CL 22035592 by thomas sarkanen in ue5-main branch]
2022-09-15 15:09:24 -04:00
kiaran ritchie
9ece7682e8 Adding "Preview Scene Settings" tabs to IK Rig & Retarget editors.
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]
2022-09-09 13:58:03 -04:00
frederick lupien
63fd57b194 Add a context menu option to unexpose all unused pins in LinkedAnimGraph and LinkedAnimLayer nodes in animation blueprints
This is to be able to quickly hide all pins on linked graph nodes based on animation instance that expose a lot of properties

[REVIEW] [at]Thomas.Sarkanen
#tests PIE
#jira UE-156233
[FYI] [at]Paul.McLaurin

[CL 21908860 by frederick lupien in ue5-main branch]
2022-09-08 20:30:49 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
nick brett
c675819ca1 [UE][FEATURE] Extend Pose Watches to support control of other aspects of animation node debug draw.
- Pose watches can now contain elements which represent different asspects of an anim nodes debug draw (i.e. bodies and constraints in RBAN)
- Elements can be used to enable anim node debug draw even when a node is not selected, acting in the same way as the previous pose watches
- The previous Pose watch behavior is now provided by an element within a pose watch
- RBAN nodes now make use of Pose Watch Elements
- Moved skeleton draw parameter UPROPERTIES from PoseWatch to specialised PoseWatchPoseElement class

#rb [at]Thomas.Sarkanen, [at]Lucas.Dower
#preflight 62d6a3e43c3df323901fca27

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 21174786 via CL 21175779 via CL 21181135
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21192394 by nick brett in ue5-main branch]
2022-07-20 18:29:30 -04:00
fernando coello
a47fbea5c2 Filtering SMyBlueprint tabs in anim BPs
Various categories of actions are hidden/prohibited:
- Macros (creation/viewing)
- Event dispatchers/delegates
- Event graphs (as of Lyra we favor the thread safe update function)

#jira UE-157221
#rb Phillip.Kavan
#preflight 62b575a5d82986248b4149b7

#ROBOMERGE-OWNER: fernando.coello
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20807528 via CL 20863116 via CL 20865600 via CL 20866003
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20876815 by fernando coello in ue5-main branch]
2022-06-29 12:24:47 -04:00
lucas dower
3701077ae7 Fixed create comment action not working in all animbp graph schemas
#jira UE-145034
#rb jurre.debaare
#preflight 628b7acc693c5e1de275b207

[CL 20324680 by lucas dower in ue5-main branch]
2022-05-23 08:31:28 -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
7ad238a806 AssetRegistry includes (Engine/Source): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270509a220f89f0ad573030

[CL 20016982 by Matt Peters in ue5-main branch]
2022-05-02 18:06:48 -04:00
lucas dower
9a50e490bd Support for disabling pose watching on specific anim nodes
#jira UE-139373
#rb thomas.sarkanen
#preflight 61f2add8c0033b39f8bb1997

[CL 18753518 by lucas dower in ue5-main branch]
2022-01-27 10:11:25 -05:00
nick brett
d4e53c951f [UE][FEATURE] AnimDynamics node TRS Widget and Chain Body Editing:
+ Support for editing most geometric parameters (Joint Offsets, Box Extents, Collision Planes etc) with a TRS Widget.
+ Allow parameters to be edited for each individual physics body in a chain.
+ DEPRECATED some physics body properties, these are now held in an array, one instance per physics body.
+ Changed definition of LocalJointOffset - was joint position relative to physics body, now physics body position relative to joint
+ Fix for apparent bug in position constraints between chain bodies.
+ Added a new AnimDynamics Edit Mode to support new widget features.
+ Changes to details panel layout.

#rb [at]Benn.Gallagher, [at]Thomas.Sarkanen
[FYI] [at]charles.anderson
#preflight 61eec96daa3f15faa57b841f

#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18721085 via CL 18721089 via CL 18721093 via CL 18724643 via CL 18724991
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18725005 by nick brett in ue5-main branch]
2022-01-25 12:55:32 -05:00
lucas dower
7ba1366473 Misc pose watch manager changes.
- Pose watch manager now in default anim bp layout
- Fix for being unable to make pose watches created from 'Automatically create pose watch on selection' setting a permanent pose watch and vice versa
- Cleaned up drag-and-drop validation
- Updated context menus
- Improved resolving name clashes

#jira UE-136746
#jira UE-136745
#rb Thomas.Sarkanen
#preflight 61b33ae1ee0de9822e3a62cc

#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18430031 in //UE5/Release-5.0/... via CL 18435283
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435504 by lucas dower in ue5-release-engine-test branch]
2021-12-10 17:45:09 -05:00
keith yerex
c9622a2bcd Fix crash when recompiling an animation blueprint with nodes that have 3d editing selected.
#rb Thomas.Sarkanen, Nick.Brett
#preflight 61a64ab24f5d65edc3b00935

#ROBOMERGE-AUTHOR: keith.yerex
#ROBOMERGE-SOURCE: CL 18325943 in //UE5/Release-5.0/... via CL 18325984
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18325999 by keith yerex in ue5-release-engine-test branch]
2021-11-30 11:49:29 -05:00
lucas dower
9d3cb8136b Added 'Pose Watch Manager' and other pose watch improvements
#rb Thomas.Sarkanen
#preflight 619e6b3f0141b3c6da60ae1d
#jira UE-127674

#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18285294 in //UE5/Release-5.0/... via CL 18285317
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18285320 by lucas dower in ue5-release-engine-test branch]
2021-11-24 12:24:41 -05:00
nick brett
8008a20f21 [UE][FEATURE] Support render of multiple selected nodes in Anim Graph Editor Viewport
#rb [at]phillip.kavan, [at]thomas.sarkanen, [at]paul.mclaurin
[FYI] [at]charles.anderson
#preflight 619b71741806a2425913e15c

#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18256465 via CL 18256468 via CL 18256470 via CL 18263298 via CL 18263370
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18263520 by nick brett in ue5-release-engine-test branch]
2021-11-22 16:44:42 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
euan carmichael
2885a6cada Add a new option to debug skel mesh to allow debug mesh LOD to track the LOD of an attached instance in the level viewport
#rb Thomas.Sarkanen
#jira UE-118675

#ROBOMERGE-SOURCE: CL 16775251 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16775258 by euan carmichael in ue5-release-engine-test branch]
2021-06-24 12:33:21 -04:00
thomas sarkanen
cecebd0cf8 Anim blueprint encapsulation improvements
Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs
Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant.
Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it.
Functions are displayed on the node if bound, and in the details panel.
Added a new override point to FAnimSubsystemInstance to allow for WT init.
Moved FMemberReference customization into a public header so it can be used on anim node functions.
Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them.
Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly).
Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code.
A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation).
Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied

#rb Jurre.deBaare,Aaron.Cox

#ROBOMERGE-SOURCE: CL 16703644 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16703653 by thomas sarkanen in ue5-release-engine-test branch]
2021-06-17 08:59:23 -04:00
timothy daoust
22c2d7d8ad Fixed an issue where the AnimationInstance ActiveAnimNotifyEventReference was not kept in sync with ActiveAnimNotifyState
#jira UE-116870
#rb jurre.debaar

[CL 16531791 by timothy daoust in ue5-main branch]
2021-06-02 06:38:29 -04:00