Commit Graph

702 Commits

Author SHA1 Message Date
Ben Ingram
bf90b91344 Add new type FExpressionExecOutput to represent UMaterialExpression execution outputs
- Previously exec inputs/outputs were stored along with other (data) inputs/outpus
- Problem is, for exec pins, we want each output to only support 1 connection, but multiple connections to each input. This is the opposite of data, where we support multiple output connections, but only 1 input connection
- So we flip the representation around, and store output pointers, rather than input pointers...this also better matches the way we iterate exec connections while compiling
- This does complicate some UI logic, as now input/output graph pins no longer line up exeactly with UMaterialExpression inputs/outputs (we still have a flat list of pins, but separate lists of exec/non-exec inputs/outputs)
#jira none
#rb lauren.barnes

[CL 15361599 by Ben Ingram in ue5-main branch]
2021-02-08 18:55:31 -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
jack cai
9d69a05d75 Control Rig: Added Right Click Node Alignment Menu and Use Schema for Distribute Node positions, tested basic functionality, undo/redo, save/load, in both CR editor and BP Editor
#jira UE-97984
#rb Helge.mathee, matt.kuhlenschmidt

[CL 15179153 by jack cai in ue5-main branch]
2021-01-25 12:47:08 -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
Helge Mathee
e46a746e49 Control Rig: UI Work for Functions - next step for encapsulation
#rb jack.cai
#jira UEA-564

[CL 15090533 by Helge Mathee in ue5-main branch]
2021-01-14 15:00:40 -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
Tim Smith
48ededf0b9 Fixing PVS 7.7 Issues:
warning V1051: Consider checking for misprints. It's possible that the 'XYZ' should be checked here.

#rb trivial
#jira UE-91644

[CL 15054391 by Tim Smith in ue5-main branch]
2021-01-12 16:17:19 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Matt Kuhlenschmidt
dbf5a25c85 Blueprint icon and style update.
This change includes one core toolbar change. FSlateIcon now supports a status  overlay. This is used to show compile status in the blueprint editor
#jira UETOOL-2716

[CL 14983761 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-04 16:35:21 -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
Francis Hurteau
168ef4c12b Fix CIS missing include
#rb trivial

[CL 14888839 by Francis Hurteau in ue5-main branch]
2020-12-09 11:34:45 -04:00
Francis Hurteau
dee268c5cc Added a Nudge Node Scoped Transaction when moving graph node with keyboard keys in the Blueprint or Material editor
#rb Lauren.Barnes
#jira UE-104107

[CL 14871641 by Francis Hurteau in ue5-main branch]
2020-12-07 14:12:26 -04:00
jack cai
284615199b Control Rig: added missing includes in SGraphEditorImpl.h, which was changed as part of a Control Rig UI bug fix (UE-101840)
#jira UE-104088
#rb none

[CL 14855906 by jack cai in ue5-main branch]
2020-12-04 13:09:50 -04:00
jack cai
fc04ef5098 Control Rig: Fixed node placement not saved when using any keyboard shortcuts
#jira UE-101840
#rb helge.mathee matt.kuhlenschmidt

[CL 14844932 by jack cai in ue5-main branch]
2020-12-03 13:12:02 -04:00
Patrick Boutot
bfbede2b55 Slate: Clean DeclarativeSyntaxSupport. Tooltip is now an attribute. Pass the FArguments to SWidget.
#rb vincent.gauthier

[CL 14818060 by Patrick Boutot in ue5-main branch]
2020-11-28 05:29:24 -04:00
Matt Kuhlenschmidt
d2368b5d98 Consolidating icons.
Moved property editing icons to the generic icon set.

[CL 14753068 by Matt Kuhlenschmidt in ue5-main branch]
2020-11-16 09:57:56 -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
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
projectgheist
0c6e767a16 PR #7288: UE-97445: Retrieve font size for material comment from correct location (Contributed by projectgheist)
[CL 14588503 by projectgheist in ue5-main branch]
2020-10-27 12:05:50 -04:00
jack cai
1852984908 Editor UI: Added SetNodePosition(...) to GraphSchema, called when Straighthen pin connections.
Control Rig: Override GraphSchema::SetNodePosition(...) to use RigVMController to perform the set action, UEdGraph is updated through URigVMController::Notify(...)

#jira UE-95907
#rb helge.mathee

[CL 14576697 by jack cai in ue5-main branch]
2020-10-26 11:32:22 -04:00
Helge Mathee
9040c2513f Control Rig: Support for Variable pin binding
#jira UE-97661 UE-97660
#rb sara.schvartzman

[CL 14572443 by Helge Mathee in ue5-main branch]
2020-10-26 06:51:31 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
daren cheng
0e796eb369 Add grouping to material graph.
Add composite & pinbase expressions / nodes, which use reroutes under the hood to ensure zero material overhead.
Convert MaterialEditor to a WorkflowCentricApplication.
Generally add subgraph existence support to MaterialGraph / MaterialEditor.

#jira UE-96104
#rb Ben.Ingram Lauren.Barnes
#fyi Lauren.Barnes

[CL 14437968 by daren cheng in ue5-main branch]
2020-10-07 10:35:24 -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