Commit Graph

235 Commits

Author SHA1 Message Date
Helge Mathee
2adfbaebc5 Control Rig: Hide ALL enum entry for element type when within element key
#fyi jack.cai
#jira na
#rb audit

[CL 16509263 by Helge Mathee in ue5-main branch]
2021-05-31 10:55:36 -04:00
Thomas Sarkanen
3e92b56aa0 Animation: thread-safe execution and property access improvements
"Call function" anim node:
- Adds the ability to call functions at different points in the anim graph execution (and under different conditions, e.g. when a branch has started blending in). Only thread-safe functions are allowed to be called.
- Adds a thread-safe override point BlueprintThreadSafeUpdateAnimation, called on worker threads for the main instance and for linked instances when they are relevant in the graph (only one call per frame for linked layer instances).

Subsystems:
- Added new override points pre/post event graph(s) (moved override point for worker thread work to around the thread safe update function call).

Improves property access integration:
- Property access now shows (and allows the user to override) the call site of accesses. This is to allow users to see when their property access calls will be made, hopefully making its use less confusing for power users.
- Tweaked UX for property access nodes and dropdowns.
- Anim node pins now have property access bindings in-line on the pin.

Also adds the abilility for the anim graph to opt-in (via a config flag) to more stringent thread safety checks. Disabled by default for now as this requires content fixup.

#jira UE-115745 - Anim Blueprint Encapsulation
#rb Jurre.deBaare

[CL 16434092 by Thomas Sarkanen in ue5-main branch]
2021-05-24 04:47:52 -04:00
daren cheng
9a9a0cb1f9 Edigrate 16359780.
Don't create transactions except on release when moving nodes.

#jira UE-115317
#rb Francis.Hurteau, Patrick.Boutot
#preflight 60a3ff23733ad00001685c6a

[CL 16373994 by daren cheng in ue5-main branch]
2021-05-18 15:26:27 -04:00
Helge Mathee
451611206e Control Rig: Improve zoom level and add ground for collision testing
#jira UE-114194 UE-115039
#rb audit

[CL 16365184 by Helge Mathee in ue5-main branch]
2021-05-18 06:44:40 -04:00
Patrick Boutot
51e6fe68ae Slate: Deprecate direct acces from the Alignment padding and the owner pointer of a FSlot.
#jira UE-109145
#rb daren.cheng
#preflight 60a27ad607285b0001d61dfd

[CL 16351434 by Patrick Boutot in ue5-main branch]
2021-05-17 11:08:42 -04:00
Helge Mathee
c925639b65 Control Rig: Refactoring treeview node layout to fast path
#rb sara.schvartzman
#jira UE-94081

[CL 16296790 by Helge Mathee in ue5-main branch]
2021-05-12 04:16:45 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
ben hoffman
418608f74f Expose FindReferences via the GRAPHEDTIOR_API so it can be used in the subobject editor
#jira none
#rb trivial
#rnx

[CL 16158162 by ben hoffman in ue5-main branch]
2021-04-29 12:15:21 -04:00
ben zeigler
10f14759b5 Visually style DefaultToSelf blueprint pins to look like normal Self pins to make it clear they will auto set to self, the functionality is completely unchanged
To do this without storing something on the pin itself, extend GetPinMetaData on function call nodes to handle "FunctionOption=PinName" function metadata as metadata for PinName
Modified version of PR #5949
#jira UE-76325
#rb ben.hoffman, marc.audy

#ROBOMERGE-SOURCE: CL 15509455 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15509504 by ben zeigler in ue5-main branch]
2021-02-23 20:01:58 -04:00
lauren barnes
268b62e89a Fixing comment bubble text when bubbles have non-default background color
#rb trivial

#ROBOMERGE-SOURCE: CL 15453180 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15464574 by lauren barnes in ue5-main branch]
2021-02-18 18:54:24 -04:00
lauren barnes
e1c5b5029f Adding a new custom style for comment bubbles and node title text editing that matches the current graph editor look.
#jira UE-97283
#rb Louise.Rasmussen

#ROBOMERGE-SOURCE: CL 15410824 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15410841 by lauren barnes in ue5-main branch]
2021-02-15 17:23:05 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Thomas Sarkanen
5419497f90 BlendSpace 2.0: Blendspace Graph Node
Added a new animation graph node that hosts its own UBlendSpaceBase. Modified UBlendSpaceBase to allow for pose links to be evaluated as the sample points.
The new blend space graphs can be spawned from existing UBlendSpace and UBlendSpace1D assets, or they can be created from scratch, or they can be converted from existing blendspace player nodes via the context menu.

Fixed anim node conversion functions so that their transactions work correctly.

Updated FBlueprintEditorUtils::IsGraphNameUnique to allow it to work with any object as the outer, not just UBlueprint. UBlueprint still has a special case for functions and events. This is to support GenerateUniqueGraphName within a scope (e.g. an outer graph).

Formalized the concept of 'node sub-graphs' (as well as the composite node pattern a little). Previously a number of known node types that contained sub-graphs (e.g. UK2Node_Composite) had special case logic for dealing with node/graph deletion etc. Now  any node can opt into this behaviour via the GetSubGraphs() override.

Added status bar readouts for the blendspace grid, so we dont have to stuff the prompts into the tooltip any more.

Moved anim BP related APIs out of FBlueprintEditor. They are always used via FAnimationBlueprintEditor.

Refactored graph title bar widget creation out into a function to allow other document tab factories to create it.

Altered breadcrumb trail click callbacks and SMyBlueprint::ExecuteAction to always JumpToHyperLink rather than calling OpenDocument directly. This allows unknown (to FBlueprintEditor) document types that reference objects to be correctly jumped to using the breadcrumb trail. Derived asset editors (i.e. FAnimationBlueprintEditor) can intercept the JumpToHyperlink call to ensure that the correct document is presented (i.e. the correct tab payload is generated).

Instead of making yet another bunch of duplicated code for handling the various alpha blend options, refactored this into FAnimGraphNodeAlphaOptions (for editor code) and FAnimNodeAlphaOptions (for runtime code).

Added OnCopyTermDefaultsToDefaultObject for per-node copying of default values from editor node to runtime node, rather than another special-case in the compiler.

#rb Jurre.deBaare,Phillip.Kavan

[CL 15177316 by Thomas Sarkanen in ue5-main branch]
2021-01-25 08:43:19 -04:00
danny chapman
f9cfe6a701 Fixes problem with not being able to navigate up in event/anim graphs using PageUp.
Adds shortcut of double-click to navigate up. Disabled by default for now - see the BlueprintEditor settings to enable & send feedback

#jira UE-105149
#rb thomas.sarkanen,phillip.kavan

[CL 15082887 by danny chapman in ue5-main branch]
2021-01-14 08:03:53 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Matt Kuhlenschmidt
b8abd5f594 Fix graph editor comment bubbles appearing black on black text
#jira UE-94494

[CL 14714410 by Matt Kuhlenschmidt in ue5-main branch]
2020-11-10 18:10:19 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Matt Kuhlenschmidt
92a02ab98f Added missing deprecation and also fixed up a case of deprecated code
[CL 14280732 by Matt Kuhlenschmidt in ue5-main branch]
2020-09-09 11:59:46 -04:00
Matt Kuhlenschmidt
7643234731 Blueprint editor reskin first pass and supporting work
[CL 14279737 by Matt Kuhlenschmidt in ue5-main branch]
2020-09-09 10:51:17 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
ben hoffman
141ecb374b Double property support in blueprint for UFunctions, BP Variables, and conversions to floats
#jira UE-94120
#rb dan.oconnor
#fyi michael.noland

[CL 13648510 by ben hoffman in ue5-main branch]
2020-06-08 19:02:07 -04:00
frank fella
52718e6da6 GraphEditor - Fix an issue where a deferred zoom to fit would be lost due to deferred ui updates. Fixes issues in niagara scratch pad graphs.
#jira UE-89466
#rb none

#ROBOMERGE-SOURCE: CL 12127370 in //UE4/Release-4.25/... via CL 12127374
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)

[CL 12140305 by frank fella in Main branch]
2020-03-11 17:07:04 -04:00
michael galetzka
9fbd8efd6f Fixed graph pin default values being editable even when set to read-only
#jira UE-66256
#rb michael.noland

#ROBOMERGE-SOURCE: CL 11969985 in //UE4/Release-4.25/... via CL 11970121
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11980309 by michael galetzka in Main branch]
2020-03-05 21:21:48 -05:00
nick darnell
eaf38dd043 Slate - When prepassing children, if a child is collapsed we invalidate its prepass (so that we know we need to do it later), and we give that child its new scale, so that when it does prepass it prepasses when it becomes visible, with the new layout scale it missed because it was collapsed, this corrects issues with layout scale changing and collapsed text fields missing out on the new scale for prepass/CDS purposes - usually revealing themselves in rich text now correctly laying out, large gaps between blocks, or several overlapping blocks.
Slate - Deprecating float GetRelativeLayoutScale(const FSlotBase& Child, float LayoutScaleMultiplier), Long Live float GetRelativeLayoutScale(const int32 ChildIndex, float LayoutScaleMultiplier), you must also set bHasRelativeLayoutScale to true in your constructor for your SWidget if you need this function called.  This removes 2 virtual calls from almost every widget's prepass, and only now requires 1 for every widget that needs to implement GetRelativeLayoutScale, which very few actually do.

Matt.Kuhlenschmidt


#ROBOMERGE-SOURCE: CL 11291134 via CL 11291179 via CL 11291189 via CL 11291196
#ROBOMERGE-BOT: (v647-11244347)

[CL 11291217 by nick darnell in Main branch]
2020-02-07 09:51:26 -05:00
Thomas Sarkanen
de2be528ca Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown nick.penwarden

[CL 11214797 by Thomas Sarkanen in Main branch]
2020-02-04 11:06:23 -05:00