Commit Graph

725 Commits

Author SHA1 Message Date
dave jones2
c4107f5283 UE-196156 - Add exec toggle for pure nodes
Blueprint pure nodes were initially intended to be similar to "functional pure". In other words, they're deterministic and produce no side effects (eg: doesn't mutate state). However, pure nodes have violated both conditions for a while now.

Instead, pure nodes are simply function nodes with output values and no visible exec pins. While this can be convenient, they come with a downside: the pure node is evaluated for each connected output. This can lead to unexpected performance issues if the node is expensive to evaluate. In the case of non-deterministic nodes, this can lead to unexpected behavior. In both cases, the user often needs to cull multiple outputs of a pure node and cache the result manually.

The solution here is to add support for toggling purity at the call site. When a function node is placed, right-clicking on it and selecting either "Hide Exec pins" or "Show Exec Pins" will toggle purity. Additionally, the meaning of BlueprintPure and the "Pure" check box changes slightly: it now means that the function node _defaults_ to a pure state when placed in a graph. However, it can be toggled to show its exec pins.

In future changes, we'll also reevaluate which common library functions should continue to default as pure.

#jira UE-196156
#rb dan.oconnor, jodon.karlik, ben.zeigler

[CL 35309072 by dave jones2 in ue5-main branch]
2024-08-05 11:58:15 -04:00
roland munguia
3fef52ce55 [Motion Matching] - Added sync group support.
Allows Motion Matching node to be part of a named sync group as an leader, no follower roles are allowed since that would break the pose matching already done. Lastly, only the most recent sample in the blend stack has sync marker information and is the leader for other asset players to follow, the rest of the other blend stack samples do not sync.

Added flag to stomp previous leader info (bOverwriteLeaderPosition) and a new role (ExclusiveLeader) which will make a tick record tick as ungrouped if it fails to be a leader.

[RN] minor
#rb jose.villarroel, samuele.rigamonti, Thomas.Sarkanen

[CL 35220078 by roland munguia in ue5-main branch]
2024-07-31 13:54:52 -04:00
george rolfe
f319ed5c85 [UnrealEd] Moved several UFunction editor utilities from BlueprintGraph UK2Node_CallFunction to ObjectTools
#rb dave.jones2
#rnx

[CL 34729180 by george rolfe in ue5-main branch]
2024-06-27 20:20:20 -04:00
steve robb
fb340035de Fixed constness of FProperty* in TPropertyValueIterator.
#rb robert.manuszewski

[CL 33764714 by steve robb in ue5-main branch]
2024-05-20 08:39:22 -04:00
frederick lupien
879146c0cc Fix GCC error that won't allow a nested struct to share a variable name with the class its nested in...
#rnx

[CL 33666113 by frederick lupien in ue5-main branch]
2024-05-15 15:03:12 -04:00
frederick lupien
dd7509a958 Add a compile time flag to FAnimNode_LinkedInputPose to know if they are connected to the graph's root
[FYI] Paul.McLaurin
review-33657663 [at]Thomas.Sarkanen

[CL 33664929 by frederick lupien in ue5-main branch]
2024-05-15 14:15:59 -04:00
euan carmichael
274926c98d Fix issue with byte properties containing enums where default pin values weren't being set
#jira UE-214439
#rb Keith.Yerex

[CL 33528687 by euan carmichael in ue5-main branch]
2024-05-08 17:15:00 -04:00
daniel holden
3b228b5e94 Moved DeadBlending AnimNode out of Experimental.
[CL 33464314 by daniel holden in ue5-main branch]
2024-05-06 14:36:30 -04:00
keith yerex
5a67a7d711 Fix for anim graph nodes which have an enum property bound to a property access function, and other properties connected to input pins.
#rb Thomas.Sarkanen

[CL 33282729 by keith yerex in ue5-main branch]
2024-04-26 18:41:06 -04:00
thomas sarkanen
db08ac38ec Fix crash when destroying nodes that have no outer animation blueprint
#rb Jurre.deBaare

[CL 32979385 by thomas sarkanen in ue5-main branch]
2024-04-15 19:24:31 -04:00
benoit gadreau
e8597ad9e9 New TRS Gizmo: implement BeginTransform & EndTransform for PhysicsAssetEditor and AnimNode edit modes
#jira UE-212177
#rb brooke.hubert
#rnx

[CL 32968394 by benoit gadreau in ue5-main branch]
2024-04-15 07:11:58 -04:00
lucas dower
f940d8f51a Fix for anim getters that require no parameters returning an error for a nullptr node on compilation
* Specifically the WasAnimNotifyTriggeredInAnyState and WasAnimNotifyNameTriggeredInAnyState

#jira UE-210491
#rb Thomas.Sarkanen

[CL 32712236 by lucas dower in ue5-main branch]
2024-04-03 17:36:15 -04:00
kiaran ritchie
f6a14eaeed Removes deprecated retarget base pose
#rb halfdan.ingvarsson
#JIRA UE-151197

[CL 32643963 by kiaran ritchie in ue5-main branch]
2024-04-01 13:19:26 -04:00
lucas dower
059b4e0a50 Fix LOCTEXT key conflict in K2Node_AnimGetter
#jira UE-208771, UE-208787
#rb timothy.daoust

[CL 31993159 by lucas dower in ue5-main branch]
2024-03-04 13:01:07 -05:00
lucas dower
5e996e1a9e Revert changes to RestoreStateMachineState and RestoreStateMachineNode which led to nullptr SourceNodes, add compile time error to check for these broken nodes and instruct user to replace them
#jira UE-205433
#rb Thomas.Sarkanen, timothy.daoust

#changelist validated
#virtualized

[CL 31941404 by lucas dower in ue5-main branch]
2024-03-01 08:45:53 -05:00
euan carmichael
fbbc2aab16 Fix for crash when validating auto rule based transitions. Also reinstated some warnings as info
#jira UE-196653
#rb roland.munguia

[CL 31586954 by euan carmichael in ue5-main branch]
2024-02-16 18:48:58 -05:00
euan carmichael
4062f3eee0 RandomPlayer anim graph node now calls PreloadRequiredAssets.
#jira UE-157525
#rb Thomas.Sarkanen

[CL 31540041 by euan carmichael in ue5-main branch]
2024-02-15 17:37:41 -05:00
mikko mononen
f543d8078b PropertyAccessEditor: Added BindingChain to OnCanBindProperty.
[CL 31465565 by mikko mononen in ue5-main branch]
2024-02-14 07:07:33 -05:00
thomas sarkanen
5b88270d06 Fix Lyra PIE property access issues caused by CL 31251549
The changes to always process 'most up to date' classes broke property accesses on many of Lyra's accesses. This was because the runtime functions/properties ended up being accessed on empty skeleton classes.
This change restricts the path resolution via 'most up to date' classes to only where it is needed for this use case: renaming/referencing variables and functions.

#jira UE-204823
#rb jaime.cifuentes

[CL 31430030 by thomas sarkanen in ue5-main branch]
2024-02-13 11:18:55 -05:00
benoit gadreau
db0f1938bf AnimNodeEditMode: avoid opening unnecessary transactions when orbiting the camera
- and more generally when nothing is transformed in the viewport

NOTE: this is not a fix for this jira, but the problem has been highlighted by it.

#jira UE-206571
#rb thomas.sarkanen
#rnx

[CL 31421493 by benoit gadreau in ue5-main branch]
2024-02-13 08:21:48 -05:00
thomas sarkanen
c6b6d713b9 Fix function renames not applying to property access nodes and compilation crashes post-rename
Implement function BP rename handling on a per-node basis, similar to existing variable rename handing
Move to using FBlueprintEditorUtils::GetMostUpToDateClass for property access in-editor. This ensures that any local renames are picked up prior to recompilation.

#jira UE-204823
#rb jaime.cifuentes, Phillip.Kavan

#changelist validated
#virtualized

[CL 31251596 by thomas sarkanen in ue5-main branch]
2024-02-07 05:08:42 -05:00
danny chapman
7657611203 Improve help text for BlendSpace evaluator, which doesn't behave well in all situations.
#jira UE-181668

[CL 31210092 by danny chapman in ue5-main branch]
2024-02-06 06:48:14 -05:00
thomas sarkanen
d734af01da Fix pasted 'anim getter' nodes introducing hidden references to their source anim BP
#jira UE-201953
#rb jaime.cifuentes

[CL 31009983 by thomas sarkanen in ue5-main branch]
2024-01-30 12:02:49 -05:00
thomas sarkanen
29a8abf968 Fix anim BP node orphan pins not getting removed on disconnection
#jira UE-203384
#rb jaime.cifuentes

[CL 30969875 by thomas sarkanen in ue5-main branch]
2024-01-29 10:49:28 -05:00
thomas sarkanen
4b3b8228fa Fix unfixable warnings when variables referenced in in anim graph node pin bindings are removed
Also fix copy-pasted code in AnimNext
Also fix crash when compiling a template anim BP without a preview instance (found while attempting repro)

#jira UE-192978
#rb jaime.cifuentes

[CL 30969455 by thomas sarkanen in ue5-main branch]
2024-01-29 10:38:51 -05:00