Niagara and Metasound nodes WIP

* Keep track of entities

* Fix renaming

* Niagara variables wip

* Several niagara decode and test

* Move nodeTemplate code to dedicated file, self node added

* Move node decoding functions to dedicated files

* Move pin decoding logic to dedicated files

* Accept space separated keys in objects

* Build

* Prevent a crash in case of incomplete object

* Avoid creating objects unnecessarily

* types formatting

* Initial metasound style

* Common pcg nodes colors

* Fix string serialization

* Metasound new styles and fixes

* More metasound styles and colors

* WIP

* Several fixes

* More tests and fixes

* Clean gitignore
This commit is contained in:
barsdeveloper
2024-05-20 12:56:36 +02:00
committed by GitHub
parent 08e2e8edd8
commit a5813d0b4d
72 changed files with 6903 additions and 4879 deletions

View File

@@ -5,9 +5,11 @@ export default class Configuration {
black: css`20, 20, 20`,
blue: css`84, 122, 156`,
darkBlue: css`32, 80, 128`,
darkerBlue: css`18, 18, 130`,
darkTurquoise: css`19, 100, 137`,
gray: css`150,150,150`,
green: css`95, 129, 90`,
intenseGreen: css`42, 140, 42`,
lime: css`150, 160, 30`,
red: css`151, 33, 32`,
turquoise: css`46, 104, 106`,
@@ -116,6 +118,7 @@ export default class Configuration {
edGraph: "/Script/Engine.EdGraph",
eDrawDebugTrace: "/Script/Engine.EDrawDebugTrace",
eMaterialSamplerType: "/Script/Engine.EMaterialSamplerType",
eNiagara_Float4Channel: "/Niagara/Enums/ENiagara_Float4Channel.ENiagara_Float4Channel",
enum: "/Script/CoreUObject.Enum",
enumLiteral: "/Script/BlueprintGraph.K2Node_EnumLiteral",
eSamplerSourceMode: "/Script/Engine.ESamplerSourceMode",
@@ -167,7 +170,17 @@ export default class Configuration {
materialExpressionTextureSample: "/Script/Engine.MaterialExpressionTextureSample",
materialGraphNode: "/Script/UnrealEd.MaterialGraphNode",
materialGraphNodeComment: "/Script/UnrealEd.MaterialGraphNode_Comment",
metasoundEditorGraphExternalNode: "/Script/MetasoundEditor.MetasoundEditorGraphExternalNode",
multiGate: "/Script/BlueprintGraph.K2Node_MultiGate",
niagaraBool: "/Script/Niagara.NiagaraBool",
niagaraClipboardContent: "/Script/NiagaraEditor.NiagaraClipboardContent",
niagaraDataInterfaceVolumeTexture: "/Script/Niagara.NiagaraDataInterfaceVolumeTexture",
niagaraFloat: "/Script/Niagara.NiagaraFloat",
niagaraMatrix: "/Script/Niagara.NiagaraMatrix",
niagaraNodeFunctionCall: "/Script/NiagaraEditor.NiagaraNodeFunctionCall",
niagaraNodeOp: "/Script/NiagaraEditor.NiagaraNodeOp",
niagaraNumeric: "/Script/Niagara.NiagaraNumeric",
niagaraPosition: "/Script/Niagara.NiagaraPosition",
pawn: "/Script/Engine.Pawn",
pcgEditorGraphNode: "/Script/PCGEditor.PCGEditorGraphNode",
pcgEditorGraphNodeInput: "/Script/PCGEditor.PCGEditorGraphNodeInput",
@@ -175,9 +188,11 @@ export default class Configuration {
pcgHiGenGridSizeSettings: "/Script/PCG.PCGHiGenGridSizeSettings",
pcgSubgraphSettings: "/Script/PCG.PCGSubgraphSettings",
promotableOperator: "/Script/BlueprintGraph.K2Node_PromotableOperator",
quat4f: "/Script/CoreUObject.Quat4f",
reverseForEachLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ReverseForEachLoop",
rotator: "/Script/CoreUObject.Rotator",
select: "/Script/BlueprintGraph.K2Node_Select",
self: "/Script/BlueprintGraph.K2Node_Self",
slateBlueprintLibrary: "/Script/UMG.SlateBlueprintLibrary",
spawnActorFromClass: "/Script/BlueprintGraph.K2Node_SpawnActorFromClass",
switchEnum: "/Script/BlueprintGraph.K2Node_SwitchEnum",
@@ -193,44 +208,10 @@ export default class Configuration {
variableSet: "/Script/BlueprintGraph.K2Node_VariableSet",
vector: "/Script/CoreUObject.Vector",
vector2D: "/Script/CoreUObject.Vector2D",
vector3f: "/Script/CoreUObject.Vector3f",
vector4f: "/Script/CoreUObject.Vector4f",
whileLoop: "/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:WhileLoop",
}
static pinColor = {
[this.paths.rotator]: css`157, 177, 251`,
[this.paths.transform]: css`227, 103, 0`,
[this.paths.vector]: css`251, 198, 34`,
"Any": css`132, 132, 132`,
"Any[]": css`132, 132, 132`,
"blue": css`0, 0, 255`,
"bool": css`147, 0, 0`,
"byte": css`0, 109, 99`,
"class": css`88, 0, 186`,
"default": css`255, 255, 255`,
"delegate": css`255, 56, 56`,
"enum": css`0, 109, 99`,
"exec": css`240, 240, 240`,
"green": css`0, 255, 0`,
"int": css`31, 224, 172`,
"int64": css`169, 223, 172`,
"interface": css`238, 252, 168`,
"name": css`201, 128, 251`,
"object": css`0, 167, 240`,
"Param": css`255, 166, 39`,
"Param[]": css`255, 166, 39`,
"Point": css`63, 137, 255`,
"Point[]": css`63, 137, 255`,
"real": css`54, 208, 0`,
"red": css`255, 0, 0`,
"string": css`251, 0, 209`,
"struct": css`0, 88, 201`,
"Surface": css`69, 196, 126`,
"Surface[]": css`69, 196, 126`,
"text": css`226, 121, 167`,
"Volume": css`230, 69, 188`,
"Volume[]": css`230, 69, 188`,
"wildcard": css`128, 120, 120`,
}
static pinColorMaterial = css`120, 120, 120`
static pinInputWrapWidth = 143 // px
static removeEventName = "ueb-element-delete"
static scale = {
@@ -303,6 +284,12 @@ export default class Configuration {
"Virtual Linear Color",
"Virtual Linear Grayscal",
],
[this.paths.eNiagara_Float4Channel]: [
["NewEnumerator0", "R"],
["NewEnumerator1", "G"],
["NewEnumerator2", "B"],
["NewEnumerator3", "A"],
],
[this.paths.eSamplerSourceMode]: ["From texture asset", "Shared: Wrap", "Shared: Clamp", "Hidden"],
[this.paths.eSpawnActorCollisionHandlingMethod]: [
["Undefined", "Default"],
@@ -328,7 +315,6 @@ export default class Configuration {
"Alt",
"Meta",
]
/** @type {["R", "G", "B", "A"]} */
static rgba = ["R", "G", "B", "A"]
static Keys = {
/* UE name: JS name */