Commit Graph

304 Commits

Author SHA1 Message Date
charles derousiers
794ac57af6 Add substrate topology visualization for material function.
#rb none
[FYI] sebastien.hillaire

[CL 27751333 by charles derousiers in ue5-main branch]
2023-09-11 09:36:43 -04:00
ben hoffman
18eb67c78c Implement GetOptions for UPARAM and add it for ByProfile traces
#rb dave.jones2

#ushell-cherrypick of 27593453 by kristof.morva1

[CL 27597870 by ben hoffman in ue5-main branch]
2023-09-05 11:33:21 -04:00
marc audy
65de35fdfb Lof elements that were not renamed yet.
- MSM_Substrate
- MCT_Substrate
- FStrataMaterialInput

#rb charles.derousiers

[CL 27563163 by marc audy in ue5-main branch]
2023-09-01 15:06:19 -04:00
charles derousiers
195d4a8fe8 * Fix Substrate colored connection on input
* Add colored pin for Substrate data flow

#rb none
[FYI] sebastien.hillaire

[CL 27515051 by charles derousiers in ue5-main branch]
2023-08-31 04:49:11 -04:00
charles derousiers
fc598811b5 Add color Substrate wire.
#rb none
[FYI] sebastien.hillaire

[CL 27514913 by charles derousiers in ue5-main branch]
2023-08-31 04:46:18 -04:00
Mateo Egey
3d5afe2ae9 Made the title border margin configurable via protected member
#jira none
#rb patrick.boutot

[CL 27485897 by Mateo Egey in ue5-main branch]
2023-08-30 11:35:14 -04:00
Mateo Egey
c0bdf180d5 Graph Nodes can now specify what overflow policy to use for the node title
#jira none
#rb

[CL 27443290 by Mateo Egey in ue5-main branch]
2023-08-29 09:23:12 -04:00
kirill zorin
e1d4ae74ed Preemprively fixing compile errors ahead of API deprecation.
#rb trivial

[CL 26785872 by kirill zorin in ue5-main branch]
2023-08-02 16:05:28 -04:00
geordiemhall
57ee928f20 PR #9389: Allow using "spawn node" keyboard shortcuts while dragging from a pin
#jira UE-159588

[CL 26780272 by geordiemhall in ue5-main branch]
2023-08-02 14:08:05 -04:00
luc rosenzweig
c9eb19e6cd This changelist contains both a refactor of the material graph system, as well as an improved custom HLSL node.
The first series of changes relate to modifying the way that SGraphNode* inheritants are created. Previously, NodeFactory was responsible of creating the SGraphNode* inheritants based on some runtime type checking (which basically means a series of if statements checking if the passed in pointer is of a certain child class type). Now, the UMaterialGraph* inheritants (the controller classes in the MVC paradigm of the material graph) are responsible for creating their own UI components (SGraphNode* inheritants). This just means that we now polymorphically create the proper SGraphNode* for the given UMaterialGraph* inheritant.

This refactor allows us to more flexibly create a variety of nodes types instead of relying on SGraphNodeMaterialBase as a one size fits all solution, leading to the new HLSL custom node. Previously, this node didn't support showing the syntax-highlighted code inline in the node itself. Because we now use polymorphism to create the nodes, it was very easy to create new UMaterialGraph* and SGraphNode* inheritants to support this new change.

Other changes which relate to propagating changes (to affect previews) in MaterialGraphNode.cpp are needed because there previously wasn't the mechanism to do so (which may have been a bug). For instance, suppose you had a constant vector3 feeding into a custom HLSL node which just outputs the color coming from that constant vector3 node. It would be obvious that changing the vector3, requires a preview update of the HLSL node. However, that wouldn't happen - the preview on the HLSL node just stayed the same. These changes addresses that issue.

There is one last series of changes which relates to collapsing the HLSL code in the node. We want to make sure that this change doesn't mess up the layouts of artists' already made material graphs which use the custom HLSL node. In order to address this, we added the ability to collapse the code in order to hide it. Furthermore, we had to make sure that projects which previously used a custom HLSL node, have the code collapsed by default (because it wasn't there before). However, creating a new HLSL node once this change comes in, would yield an uncollapsed node. The collapsing of nodes uses the "Advanced Pins" chevron/collapser which doesn't save its state after saving and exiting the material. It was crucial, in order to preserve the layout of the material graph, that the saving happens. However, previously, the only way to save state, was to go through a recompile/regeneration of the previews. Therefore, it was necessary to add a special function in the material editor utilities which would just mark the material as dirty such that states like whether the code was collapsed save throughout sessions.

#jira UE-146779
#rb jason.nadro

[CL 26677757 by luc rosenzweig in ue5-main branch]
2023-07-28 13:01:00 -04:00
tyson brochu
d5364aa75a GraphEditor: add a new delegate that is called when the user single-clicks on a node
Cloth Editor: fix for interactive tool starting when the user drags a node in the dataflow graph editor


#jira UE-190816
#rb daren.cheng alex.mcadams

[CL 26547957 by tyson brochu in ue5-main branch]
2023-07-24 12:55:46 -04:00
ben hoffman
c5763e7ee0 Add custom styleset support for K2Nodes
#rb JeanMichel.Dignard

#ushell-cherrypick of 26229658 by kristof.morva1

[CL 26232169 by ben hoffman in ue5-main branch]
2023-06-26 09:13:49 -04:00
charles derousiers
604f834cb5 Add Subsutrate topology previsualization on the Substrate node within material editor.
#rb none
[FYI] sebastien.hillaire

[CL 26006816 by charles derousiers in ue5-main branch]
2023-06-15 05:22:00 -04:00
kevin ortegren
0fdb62b687 Expose single click action within SGraphPanel to allow hooking custom logic
#rb JeanMichel.Dignard
#preflight 64764fb58137a37b8558e9bc
#p4v-cherrypick 25675485

[CL 25686356 by kevin ortegren in ue5-main branch]
2023-05-30 16:07:48 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
Steve Robb
042ec884a9 Fixed mismatched copy constructor/assignment operator in FEdGraphNodeHandle and FEdGraphPinHandle.
#rb none
#jira none
#preflight none

[CL 25196861 by Steve Robb in ue5-main branch]
2023-04-26 09:22:13 -04:00
dan oconnor
d2f5aa0de2 Optimize async blueprint context menu building by avoiding resorting and inserting nodes in the desired order
#rb Phillip.Kavan
#jira UE-167392
#preflight 6419ef73ec01de1664d727e3

[CL 24742868 by dan oconnor in ue5-main branch]
2023-03-21 19:49:22 -04:00
helge mathee
2979d9163a GraphEditor: Guard against trashed UEdGraphPins
#rb sara.schvartzman
#preflight https://horde.devtools.epicgames.com/job/64076c682559570cc7e26bc4

[CL 24556125 by helge mathee in ue5-main branch]
2023-03-08 04:19:40 -05:00
halfdan ingvarsson
a233962e1e Control Rig: Link creation performance improvements
[FYI] benoit.gadreau
#rb sara.schvartzman
#preflight 63ef951f977ceed9151fad2e

[CL 24309702 by halfdan ingvarsson in ue5-main branch]
2023-02-20 02:18:32 -05:00
christopher waters
cad10136bf Removing dependencies on GraphEditor Private by moving GraphActionNode.h to its Public folder.
#preflight 63e159aacf24c08f2c924fb2

[CL 24040429 by christopher waters in ue5-main branch]
2023-02-06 18:06:48 -05:00
christopher waters
fc59298fcd Removing GraphEditor private includes via moving SGraphPinEnum.h to the Public folder.
#preflight 63dd804b1b44ee7cb1851048

[CL 24035653 by christopher waters in ue5-main branch]
2023-02-06 14:21:12 -05:00
Patrick Boutot
6e02de5817 Fix memstomp with color picker. Prepare SColorPicker for API change. Update AssetViewUtilis::PathColors to use FLinearColor instead of shared pointer. The shared pointer was only needed for the SColorPicker.
#jira UE-173303, UE-173454
#review-23672715 23617361,23611673
#rb daren.cheng
#preflight 63c0b12b1a06fc61059f2fa3

[CL 23672712 by Patrick Boutot in ue5-main branch]
2023-01-12 20:33:08 -05:00
phillip kavan
f67d259b19 CIS non-unity fix.
#rb None (trivial)

[CL 23671984 by phillip kavan in ue5-main branch]
2023-01-12 19:09:47 -05:00
phillip kavan
0507c05d34 Extend SGraphActionMenu to allow owners to directly provide the action menu source list at refresh time.
#jira UE-167392
#rb Lauren.Barnes
#preflight 63c075b20225f00e14ab8664

[CL 23671671 by phillip kavan in ue5-main branch]
2023-01-12 18:36:13 -05:00
jaime cifuentes
a20a6e0027 Added validation and visual error functionality to AnimNode_SkeletalControlBase, which can be used to check referenced bones and show errors on the AnimGraph nodes that use them (so it is clear if the setup does not work due to a bone missing)
#rb thomas.sarkanen
#jira UE-160111
#preflight 63b85453c927e34482895de4

[CL 23599353 by jaime cifuentes in ue5-main branch]
2023-01-06 12:16:12 -05:00