Commit Graph

129 Commits

Author SHA1 Message Date
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
samuele rigamonti
22bd7b7dc3 motion matching - deprecating UPoseSearchSequenceMetaData
#review-23144984 @aaron.cox
#preflight 63751be40c74adb48b0264ba
#preflight 63751f883248425305884639

[CL 23157119 by samuele rigamonti in ue5-main branch]
2022-11-16 12:46:06 -05:00
benjamin jillich
a6ef0d5b7f [UE-136096] Relinking transitions in anim graph state machines
[UE-168360] User can create a transition from a state into the entry state

* Relinking multiple transitions (transition nodes at once) when none of the transition nodes is selected.
* Selective relinking in case a subset of the transition nodes on a transitions are selected.
* Special case handling for transitions from entry state (they don't have a transition node connected).
* Drawing circle indicator around the arrow head in case the mouse cursor is approaching the transition.
* Hovering the arrow head of a transition highlights it by filling the circle with solid orange color and turning the arrow black.
* Ending the relink operation in empty space or the entry node will cancel the relink operation.
* Fixed bug that prevents creating new transitions ending in an entry state.

#jira https://jira.it.epicgames.com/browse/UE-136096
#jira https://jira.it.epicgames.com/browse/UE-168360
#preflight 636a169963037c10262bc421

[CL 23025287 by benjamin jillich in ue5-main branch]
2022-11-08 04:09:22 -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
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -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
thomas sarkanen
13812111b2 Fix renaming issues with linked anim layers
Move linked layers and graphs to use FMemberReference to reference the stub function used to generate node pins

#jira UE-132472
#rb Jurre.deBaare
#preflight 63358f5ee410691606b6c915

[CL 22260921 by thomas sarkanen in ue5-main branch]
2022-09-29 20:38:46 -04:00
phillip kavan
7ef9563646 Don't allow composite nodes to be pasted into Blueprint graphs that aren't schema-compatible.
Change summary:
- Added UEdGraphSchema_K2::DoesSupportCollapsedNodes() as an overridable API for K2-based schema types. Also added overrides for derived schemas that do not currently support collapsed subgraphs as a feature (e.g. AnimBPs).
- Added a UK2Node_Composite::CanCreateUnderSpecifiedSchema() override. This will be called when determining node types that can be created from clipboard content (see FGraphObjectTextFactory in EdGraphUtilities.cpp).
- Modified UK2Node_Composite::PostPasteNode() to exclude nodes that are not schema-compatible from the pasted subgraph. Also updated to reassign the subgraph schema to match the target graph.
- Modified FEdGraphUtilities::MergeChildrenGraphsIn() to emit an error to the message log when a subgraph cannot be merged into a parent graph due to schema incompatibility. This also adds an appropriate error context to the source node(s).
- Modified FKismetCompilerContext::ProcessOneFunctionGraph() to early exit if we fail to merge subgraphs while processing the intermediate function graph. This prevents us from attempting to further compile an intermediate graph that's in an invalid state, which previously would lead to an ensure() and later fail due to a non-specific compile error.

#jira UE-157885
#rb Dan.OConnor, Thomas.Sarkanen
#preflight 6331e2fd10030508069622f2

[CL 22205520 by phillip kavan in ue5-main branch]
2022-09-27 10:17:29 -04:00
frederick lupien
9c38bfb87c Allow self layer nodes in linked anim layer graphs.
Added compilation check for linked layers circular references and indirectly nested linked layers

[REVIEW] [at]Thomas.Sarkanen
#tests Compile all project animation blueprints

[CL 22203056 by frederick lupien in ue5-main branch]
2022-09-27 06:56:42 -04:00
jose villarroel
d6c59eaa35 Layered Blend Per Bone: Fix for blend masks not populating correctly on load
#jira UE-162984
[REVIEW] [at]Thomas.Sarkanen, [at]Aaron.Cox
#preflight 6331ce7fd747fe52c8aadd48

[CL 22191760 by jose villarroel in ue5-main branch]
2022-09-26 15:20:12 -04:00
thomas sarkanen
a278aa13e7 Adding or removing an anim layer graph's input pose will now refresh instances without requiring a manual refresh
Also supports renaming and undo/redo of input pose additions/removals

#jira UE-135701
#rb Jurre.deBaare
#preflight 632c24c2b4515b7e22bb1c91

[CL 22144034 by thomas sarkanen in ue5-main branch]
2022-09-22 16:20:10 -04:00
lucas dower
3dbf0b7b83 Fix for copy-pasting nodes dependant upon source state machine state.
#jira UE-135987
#rb thomas.sarkanen
#preflight 632499a18131e92d65ea3f1d

[CL 22054567 by lucas dower in ue5-main branch]
2022-09-16 13:55:52 -04:00
lucas dower
1309fe5371 Compile error fix for missing pose watch include
#rb trivial
#preflight 63244f27f258fccf98b2398d

[CL 22050413 by lucas dower in ue5-main branch]
2022-09-16 11:37:52 -04:00
jaime cifuentes
3d016b7d44 Fixed FAnimNode_LayeredBoneBlend BlendMasks getting out of sync with BlendPoses (fixes older assets with incorrect BlendMasks array size)
Provided by David Bolo

#rb thomas.sarkanen marc.audy
#jira UE-126997
#preflight 6321884c29254beccbb7bbe9

[CL 22003808 by jaime cifuentes in ue5-main branch]
2022-09-14 05:55:52 -04:00
thomas sarkanen
3b09aa4eaf Fix duplication of animation blueprints with custom property bindings producing internal compiler errors
#jira UE-143647
#rb Jurre.deBaare
#preflight 63203e418838676d10db612f

[CL 21986813 by thomas sarkanen in ue5-main branch]
2022-09-13 13:24:35 -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
Keith Yerex
40a5283221 Make double clicking Linked Anim Layer nodes also attach the debugger to the correct anim instance
#rb Jurre.DeBaare
#preflight 6308f2ac990cd1b6a7496d49

[CL 21593455 by Keith Yerex in ue5-main branch]
2022-08-26 13:15:55 -04:00
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
Keith Yerex
d3dc8e95a1 fix double click on linked layer node to navigate the the actual linked instance when you are attached and debugging
#rb Thomas.Sarkanen
#preflight 630668fd5a5d4e46246266a2

[CL 21547264 by Keith Yerex in ue5-main branch]
2022-08-24 14:14:53 -04:00
jurre debaare
754fe6e2d7 Ensure that LinkedAnimGraph node name, and graph in MyBlueprint tab reflect the currently previewed instance and its state (e.g. PIE Anim instance, with dynamically linked graph)
#preflight 62ff5394200ff87e07e949f0
#rb Thomas.Sarkanen

[CL 21468246 by jurre debaare in ue5-main branch]
2022-08-19 19:38:25 -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
bryan sefcik
98b51354ed Ran IWYU on Public headers under Engine/Source/Editor/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065253 by bryan.sefcik
#jira
#preflight 62d5b3e91062f2e63014598e

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21152630 via CL 21156388 via CL 21157044
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181817 by bryan sefcik in ue5-main branch]
2022-07-20 11:56:29 -04:00
bryan sefcik
6b25671172 Fixed -NoPCH -DisableUnity compile issues.
#preflight 62d05ea58e4b379590a66dab

[CL 21095519 by bryan sefcik in ue5-main branch]
2022-07-14 14:54:07 -04:00
thomas sarkanen
aa58e3e999 Updated categories of animation nodes & functions
Reorganized and consolidated for easier navigation

#rb Jurre.deBaare,Lucas.Dower
#jira UE-156715
#preflight 62a9ac0f13004691f97cd9da

#ROBOMERGE-OWNER: thomas.sarkanen
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20667777 via CL 20668358 via CL 20668456 via CL 20668474
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20669758 by thomas sarkanen in ue5-main branch]
2022-06-15 10:37:36 -04:00