From f7c119a77bb205b3ba27bf6039221d131d069795 Mon Sep 17 00:00:00 2001 From: MakhamDev Date: Sun, 1 Oct 2023 19:57:57 +0700 Subject: [PATCH] - [Gif, Image animation] Add properties parity (animation speed, loop modes) and custom frame order mode. --- datafiles/data/locale/en.zip | Bin 34058 -> 34087 bytes datafiles/data/locale/en/nodes.json | 25499 ++++++++-------- scripts/globals/globals.gml | 6 +- scripts/node_export/node_export.gml | 54 +- .../node_image_animated.gml | 88 +- scripts/node_image_gif/node_image_gif.gml | 85 +- 6 files changed, 12929 insertions(+), 12803 deletions(-) diff --git a/datafiles/data/locale/en.zip b/datafiles/data/locale/en.zip index 53e629282e6e06b9161e4f5d9f7a051faf02a0b7..db106990807eddb42ad96aa4c71236a5bfa8bcc8 100644 GIT binary patch delta 27386 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

hb;XbCih>1rmc?!%fNXjH7C@k`#`EWu) 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 UlgWfP0mYL6g&+nBga7~l0K6k0nE(I) diff --git a/datafiles/data/locale/en/nodes.json b/datafiles/data/locale/en/nodes.json index b38b52b7d..03d2e2248 100644 --- a/datafiles/data/locale/en/nodes.json +++ b/datafiles/data/locale/en/nodes.json @@ -1,826 +1,4 @@ { - "Node_Scatter_Points":{ - "name":"Scatter Points", - "outputs":[ - { - "name":"Points", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Point area", - "tooltip":"" - }, - { - "name":"Point distribution", - "display_data":[ - "Area", - "Border", - "Map" - ], - "tooltip":"" - }, - { - "name":"Scatter", - "display_data":[ - "Uniform", - "Random" - ], - "tooltip":"" - }, - { - "name":"Point amount", - "tooltip":"Amount of particle spawn in that frame." - }, - { - "name":"Distribution map", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Fixed position", - "tooltip":"Fix point position, and only select point in the area." - }, - { - "name":"Reference dimension", - "tooltip":"" - } - ], - "tooltip":"Generate array of vector 2 points for scattering." - }, - "Node_Colors_Replace":{ - "name":"Replace Colors", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Palette from", - "tooltip":"" - }, - { - "name":"Palette to", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_3D_Repeat":{ - "name":"3D Repeat", - "outputs":[ - { - "name":"Scene", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Objects", - "tooltip":"" - }, - { - "name":"Object Mode", - "display_data":[ - "Duplicate", - "Array" - ], - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Starting Position", - "tooltip":"" - }, - { - "name":"Starting Rotation", - "tooltip":"" - }, - { - "name":"Starting Scale", - "tooltip":"" - }, - { - "name":"Shift Position", - "tooltip":"" - }, - { - "name":"Shift Rotation", - "tooltip":"" - }, - { - "name":"Shift Scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Map_Area":{ - "name":"Remap Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - } - ], - "tooltip":"Scale path to fit a given area." - }, - "Node_Path_Anchor":{ - "name":"Path Anchor", - "outputs":[ - { - "name":"Anchor", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Postion", - "tooltip":"" - }, - { - "name":"Control point 1", - "tooltip":"" - }, - { - "name":"Control point 2", - "tooltip":"" - }, - { - "name":"Mirror control point", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Shape":{ - "name":"Shape", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Background", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Rectangle", - "Ellipse", - "Regular polygon", - "Star", - "Arc", - "Teardrop", - "Cross", - "Leaf" - ], - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Sides", - "tooltip":"" - }, - { - "name":"Inner radius", - "tooltip":"" - }, - { - "name":"Anti alising", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Angle range", - "tooltip":"" - }, - { - "name":"Corner radius", - "tooltip":"" - }, - { - "name":"Shape color", - "tooltip":"" - }, - { - "name":"Background color", - "tooltip":"" - }, - { - "name":"Height", - "tooltip":"" - }, - { - "name":"Start radius", - "tooltip":"" - }, - { - "name":"Shape path", - "tooltip":"" - } - ], - "tooltip":"Draw simple shapes using signed distance field." - }, - "Node_Mirror":{ - "name":"Mirror", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Mirror mask", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Reflect the image along a reflection line." - }, - "Node_Noise_Aniso":{ - "name":"Anisotropic Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - } - ], - "tooltip":"Generate anisotropic noise." - }, - "Node_String_Regex_Replace":{ - "name":"RegEx Replace", - "outputs":[ - { - "name":"Results", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Regex", - "tooltip":"" - }, - { - "name":"Replacement", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Angle":{ - "name":"Angle", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - }, - { - "name":"Side", - "display_data":[ - 766.0, - 766.0, - 766.0, - 766.0 - ], - "tooltip":"" - }, - { - "name":"Round", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Group":{ - "name":"FluidSim", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"Create group for fluid simulation." - }, - "Node_Padding":{ - "name":"Padding", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - }, - { - "name":"Fill method", - "display_data":[ - "Empty", - "Solid" - ], - "tooltip":"" - }, - { - "name":"Fill color", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Pad mode", - "display_data":[ - "Pad out", - "Pad to size" - ], - "tooltip":"" - }, - { - "name":"Target dimension", - "tooltip":"" - }, - { - "name":"Horizontal alignment", - "display_data":[ - 739.0, - 739.0, - 739.0 - ], - "tooltip":"" - }, - { - "name":"Vertical alignment", - "display_data":[ - 867.0, - 867.0, - 867.0 - ], - "tooltip":"" - } - ], - "tooltip":"Make image bigger by adding space in 4 directions." - }, - "Node_Vector_Cross_3D":{ - "name":"Cross product 3D", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Point 1", - "tooltip":"" - }, - { - "name":"Point 2", - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Repeat":{ - "name":"3D Repeat", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D objects", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"3D object", - "tooltip":"" - }, - { - "name":"Repeat", - "tooltip":"Amount of copies to be generated." - }, - { - "name":"Repeat position", - "tooltip":"" - }, - { - "name":"Repeat rotation", - "tooltip":"" - }, - { - "name":"Repeat scale", - "tooltip":"" - }, - { - "name":"Repeat pattern", - "display_data":[ - "Linear", - "Circular" - ], - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "x", - "y", - "z" - ], - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"Repeat 3D object multiple times." - }, - "Node_Noise":{ - "name":"Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Color mode", - "display_data":[ - "Greyscale", - "RGB", - "HSV" - ], - "tooltip":"" - }, - { - "name":"Color R range", - "tooltip":"" - }, - { - "name":"Color G range", - "tooltip":"" - }, - { - "name":"Color B range", - "tooltip":"" - } - ], - "tooltip":"Generate white noise." - }, - "Node_PB_Fx_Subtract":{ - "name":"Subtract", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Surface", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Base_Convert":{ - "name":"Convert Base", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Base from", - "tooltip":"" - }, - { - "name":"Base to", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Reverse":{ - "name":"Array Reverse", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Noise_Simplex":{ - "name":"Simplex Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Iteration", - "tooltip":"" - }, - { - "name":"Color mode", - "display_data":[ - "Greyscale", - "RGB", - "HSV" - ], - "tooltip":"" - }, - { - "name":"Color R range", - "tooltip":"" - }, - { - "name":"Color G range", - "tooltip":"" - }, - { - "name":"Color B range", - "tooltip":"" - } - ], - "tooltip":"Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable." - }, - "Node_3D_Light_Point":{ - "name":"Point Light", - "outputs":[ - { - "name":"Light", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Intensity", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Cast Shadow", - "tooltip":"" - }, - { - "name":"Shadow Map Size", - "tooltip":"" - }, - { - "name":"Shadow Bias", - "tooltip":"" - } - ], - "tooltip":"" - }, "__Node_3D_Extrude":{ "name":"3D Extrude", "outputs":[ @@ -841,6 +19,7 @@ "tooltip":"" } ], + "tooltip":"Extrude 2D image into 3D object.", "inputs":[ { "name":"Surface in", @@ -926,69 +105,24 @@ "name":"Smooth", "tooltip":"" } - ], - "tooltip":"Extrude 2D image into 3D object." + ] }, - "Node_Equation":{ - "name":"Equation", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Equation", - "tooltip":"" - } - ], - "tooltip":"Evaluate string of equation. With an option for setting variables." - }, - "Node_Gradient":{ - "name":"Draw Gradient", + "Node_Average":{ + "name":"Average", "outputs":[ { "name":"Surface out", "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" } ], + "tooltip":"Average color of every pixels in the image.", "inputs":[ { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Linear", - "Circular", - "Radial" - ], - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Loop", + "name":"Surface in", "tooltip":"" }, { @@ -996,11 +130,117 @@ "tooltip":"" }, { - "name":"Scale", + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Sprite_Stack":{ + "name":"Sprite Stack", + "outputs":[ + { + "name":"Surface out", "tooltip":"" } ], - "tooltip":"Create image from gradient." + "tooltip":"Create sprite stack either from repeating a single image or stacking different images using array.", + "inputs":[ + { + "name":"Base shape", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Stack amount", + "tooltip":"" + }, + { + "name":"Stack shift", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Stack blend", + "tooltip":"" + }, + { + "name":"Alpha end", + "tooltip":"Alpha value for the last copy." + }, + { + "name":"Move base", + "tooltip":"Make each copy move the original image." + }, + { + "name":"Highlight", + "display_data":[ + "None", + "Color", + "Inner pixel" + ], + "tooltip":"" + }, + { + "name":"Highlight color", + "tooltip":"" + }, + { + "name":"Highlight alpha", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Angle":{ + "name":"Angle", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Side", + "display_data":[ + 766.0, + 766.0, + 766.0, + 766.0 + ], + "tooltip":"" + }, + { + "name":"Round", + "tooltip":"" + } + ] }, "Node_Palette_Replace":{ "name":"Palette Replace", @@ -1010,6 +250,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Palette in", @@ -1027,32 +268,7 @@ "name":"Threshold", "tooltip":"" } - ], - "tooltip":"" - }, - "Node_Image":{ - "name":"Image", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - } - ], - "tooltip":"Load a single image from your computer." + ] }, "__Node_3D_Plane":{ "name":"3D Plane", @@ -1070,6 +286,7 @@ "tooltip":"" } ], + "tooltip":"Put 2D image on a plane in 3D space.", "inputs":[ { "name":"Surface in", @@ -1141,281 +358,258 @@ ], "tooltip":"" } - ], - "tooltip":"Put 2D image on a plane in 3D space." + ] }, - "Node_PB_Draw_Ellipse":{ - "name":"Ellipse", + "Node_Iterator_Sort_Output":{ + "name":"Sort Output", "outputs":[ - { - "name":"pBox", - "tooltip":"" - } ], + "tooltip":"", "inputs":[ { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", + "name":"Result", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_VFX_Attract":{ - "name":"Attract", + "Node_Struct":{ + "name":"Struct", "outputs":[ { - "name":"Particles", + "name":"Struct", "tooltip":"" } ], + "tooltip":"", "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", - "tooltip":"" - } - ], - "tooltip":"" + ] }, - "Node_Atlas":{ - "name":"Pixel Expand", + "Node_Padding":{ + "name":"Padding", "outputs":[ { "name":"Surface out", "tooltip":"" } ], + "tooltip":"Make image bigger by adding space in 4 directions.", "inputs":[ { "name":"Surface in", "tooltip":"" }, { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Replace transparent pixel with the closet non-transparent pixel." - }, - "Node_Array_Remove":{ - "name":"Array Remove", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", + "name":"Padding", "tooltip":"" }, { - "name":"Type", + "name":"Fill method", "display_data":[ - "Index", - "Value" + "Empty", + "Solid" ], "tooltip":"" }, { - "name":"Index", + "name":"Fill color", "tooltip":"" }, - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Spread array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Normal":{ - "name":"Normal", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Height", - "tooltip":"" - }, - { - "name":"Smooth", - "tooltip":"Include diagonal pixel in normal calculation, which leads to smoother output." - }, { "name":"Active", "tooltip":"" - } - ], - "tooltip":"Create normal map using greyscale value as height." - }, - "Node_Number":{ - "name":"Number", - "outputs":[ + }, { - "name":"Number", + "name":"Pad mode", + "display_data":[ + "Pad out", + "Pad to size" + ], + "tooltip":"" + }, + { + "name":"Target dimension", + "tooltip":"" + }, + { + "name":"Horizontal alignment", + "display_data":[ + 739.0, + 739.0, + 739.0 + ], + "tooltip":"" + }, + { + "name":"Vertical alignment", + "display_data":[ + 867.0, + 867.0, + 867.0 + ], "tooltip":"" } + ] + }, + "Node_Feedback_Output":{ + "name":"Output", + "outputs":[ ], + "tooltip":"", "inputs":[ { "name":"Value", "tooltip":"" }, { - "name":"Integer", + "name":"Order", "tooltip":"" }, { - "name":"Display", - "display_data":[ - "Number", - "Slider", - "Rotator" - ], + "name":"Feedback loop", "tooltip":"" - }, + } + ] + }, + "Node_Gradient_Palette":{ + "name":"Palette to Gradient", + "outputs":[ { - "name":"Range", - "tooltip":"" - }, - { - "name":"Step", + "name":"Gradient", "tooltip":"" } ], - "tooltip":"" + "tooltip":"Create gradient from palette.", + "inputs":[ + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Custom positions", + "tooltip":"" + }, + { + "name":"Positions", + "tooltip":"Array of number indicating color position (0 - 1)." + }, + { + "name":"Blending", + "display_data":[ + "RGB", + "HSV", + "Hard" + ], + "tooltip":"" + } + ] }, - "__Node_3D_Transform":{ - "name":"3D Transform", + "Node_Array_Reverse":{ + "name":"Array Reverse", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_PB_Box_Mirror":{ + "name":"Mirror", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Layer Shift", + "tooltip":"" + }, + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Horizontal", + "tooltip":"" + }, + { + "name":"Vertical", + "tooltip":"" + } + ] + }, + "Node_Palette":{ + "name":"Palette", + "outputs":[ + { + "name":"Palette", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Trim range", + "tooltip":"" + } + ] + }, + "Node_Fluid_Update":{ + "name":"Update Domain", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Image":{ + "name":"Image", "outputs":[ { "name":"Surface out", "tooltip":"" }, { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", + "name":"Path", "tooltip":"" } ], + "tooltip":"Load a single image from your computer.", "inputs":[ { - "name":"Dimension", + "name":"Path", "tooltip":"" }, { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"3D object", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", + "name":"Padding", "tooltip":"" } - ], - "tooltip":"" + ] }, "Node_Surface_From_Buffer":{ "name":"Surface from Buffer", @@ -1425,53 +619,65 @@ "tooltip":"" } ], + "tooltip":"Create surface from buffer.", "inputs":[ { "name":"Buffer", "tooltip":"" } - ], - "tooltip":"Create surface from buffer." + ] }, - "Node_3D_Mesh_Extrude":{ - "name":"Surface Extrude", + "Node_Fluid_Repulse":{ + "name":"Repulse", "outputs":[ { - "name":"Mesh", + "name":"Fluid Domain", "tooltip":"" } ], + "tooltip":"", "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, { "name":"Position", "tooltip":"" }, { - "name":"Rotation", + "name":"Radius", "tooltip":"" }, { - "name":"Scale", + "name":"Strength", "tooltip":"" }, { - "name":"Surface in", + "name":"Mode", + "display_data":[ + "Override", + "Add" + ], "tooltip":"" - }, + } + ] + }, + "Node_Struct_JSON_Parse":{ + "name":"Parse JSON", + "outputs":[ { - "name":"Height map", - "tooltip":"" - }, - { - "name":"Smooth", - "tooltip":"" - }, - { - "name":"Always update", + "name":"Struct", "tooltip":"" } ], - "tooltip":"Extrude 2D image into 3D object." + "tooltip":"", + "inputs":[ + { + "name":"JSON string", + "tooltip":"" + } + ] }, "Node_Invert":{ "name":"Invert", @@ -1481,6 +687,7 @@ "tooltip":"" } ], + "tooltip":"Invert color.", "inputs":[ { "name":"Surface in", @@ -1498,8 +705,101 @@ "name":"Active", "tooltip":"" } + ] + }, + "Node_Struct_Get":{ + "name":"Struct Get", + "outputs":[ + { + "name":"Struct", + "tooltip":"" + } ], - "tooltip":"Invert color." + "tooltip":"", + "inputs":[ + { + "name":"Struct", + "tooltip":"" + }, + { + "name":"Key", + "tooltip":"" + } + ] + }, + "Node_Path_Builder":{ + "name":"Path Builder", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Create path from array of vec2 points.", + "inputs":[ + { + "name":"Point array", + "tooltip":"" + }, + { + "name":"Connected", + "tooltip":"If set to true, will draw a single path from one point to another. If not set will treat each pair of points as an individual line." + } + ] + }, + "Node_PCX_fn_Math":{ + "name":"Math", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Operator", + "display_data":[ + "Add", + "Subtract", + "Multiply", + "Divide", + "Power", + "Modulo", + "Absolute", + -1.0, + "Round", + "Floor", + "Ceil", + -1.0, + "Sin", + "Cos", + "Tan", + "Arcsin", + "Arccos", + "Arctan", + -1.0, + "Min", + "Max", + "Clamp", + -1.0, + "Lerp" + ], + "tooltip":"" + }, + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"z", + "tooltip":"" + } + ] }, "Node_PB_Box_Divide":{ "name":"Divide", @@ -1513,6 +813,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Layer Shift", @@ -1552,89 +853,33 @@ ], "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Checker":{ - "name":"Checker", + "Node_Json_File_Read":{ + "name":"JSON File In", "outputs":[ { - "name":"Surface out", + "name":"Path", + "tooltip":"" + }, + { + "name":"Struct", "tooltip":"" } ], + "tooltip":"Load .json file using keys.", "inputs":[ { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Color 1", - "tooltip":"" - }, - { - "name":"Color 2", + "name":"Path", "tooltip":"" } - ], - "tooltip":"Genearte checkerboard pattern." - }, - "Node_VFX_Override":{ - "name":"VFX Override", - "outputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Positions", - "tooltip":"" - }, - { - "name":"Rotations", - "tooltip":"" - }, - { - "name":"Scales", - "tooltip":"" - }, - { - "name":"Blend", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Surface", - "tooltip":"" - } - ], - "tooltip":"" + ] }, "Node_Tunnel_In":{ "name":"Tunnel In", "outputs":[ ], + "tooltip":"Create tunnel for sending value based on key matching.", "inputs":[ { "name":"Name", @@ -1644,100 +889,706 @@ "name":"Value in", "tooltip":"" } - ], - "tooltip":"Create tunnel for sending value based on key matching." + ] }, - "Node_Pixel_Cloud":{ - "name":"Pixel Cloud", + "Node_Array_Remove":{ + "name":"Array Remove", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Index", + "Value" + ], + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Spread array", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Line":{ + "name":"Line", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Direction", + "display_data":[ + 879.0, + 879.0, + 879.0, + 879.0 + ], + "tooltip":"" + }, + { + "name":"Thickness", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Diamond":{ + "name":"Diamond", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + } + ] + }, + "Node_Posterize":{ + "name":"Posterize", "outputs":[ { "name":"Surface out", "tooltip":"" } ], + "tooltip":"Reduce and remap color to match a palette.", "inputs":[ { "name":"Surface in", "tooltip":"" }, + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Use palette", + "tooltip":"" + }, + { + "name":"Colors", + "tooltip":"" + }, + { + "name":"Gamma", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Posterize alpha", + "tooltip":"" + } + ] + }, + "Node_Vector2":{ + "name":"Vector2", + "outputs":[ + { + "name":"Vector", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"Integer", + "tooltip":"" + }, + { + "name":"Display", + "display_data":[ + "Number", + "Coordinate" + ], + "tooltip":"" + }, + { + "name":"Reset to center", + "tooltip":"" + } + ] + }, + "Node_Path_Separate_Folder":{ + "name":"Separate File Path", + "outputs":[ + { + "name":"Directory", + "tooltip":"" + }, + { + "name":"File Name", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Keep extension", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Highlight":{ + "name":"Highlight", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Highlight Area", + "tooltip":"" + }, + { + "name":"Light Color", + "tooltip":"" + }, + { + "name":"Shadow Color", + "tooltip":"" + }, + { + "name":"Roughness", + "tooltip":"" + }, + { + "name":"Roughness Scale", + "tooltip":"" + }, { "name":"Seed", "tooltip":"" + } + ] + }, + "Node_Animation_Control":{ + "name":"Animation Control", + "outputs":[ + ], + "tooltip":"Control animation state with triggers.", + "inputs":[ + { + "name":"Toggle Play \/ Pause", + "tooltip":"" + }, + { + "name":"Pause", + "tooltip":"" + }, + { + "name":"Resume", + "tooltip":"" + }, + { + "name":"Play From Beginning", + "tooltip":"" + }, + { + "name":"Play once", + "tooltip":"" + }, + { + "name":"Skip Frames", + "tooltip":"" + }, + { + "name":"Skip Frames Count", + "tooltip":"" + } + ] + }, + "Node_Iterator_Output":{ + "name":"Output", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Order", + "tooltip":"" + }, + { + "name":"Loop exit", + "tooltip":"" + } + ] + }, + "Node_VFX_Renderer":{ + "name":"Renderer", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Output dimension", + "tooltip":"" + }, + { + "name":"Round position", + "tooltip":"Round position to the closest integer value to avoid jittering." + }, + { + "name":"Blend mode", + "display_data":[ + "Normal", + "Alpha", + "Additive" + ], + "tooltip":"" + } + ] + }, + "Node_PCX_Condition":{ + "name":"Condition", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Condition", + "tooltip":"" + }, + { + "name":"True", + "tooltip":"" + }, + { + "name":"False", + "tooltip":"" + } + ] + }, + "Node_Warp":{ + "name":"Warp", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Warp image by freely moving the corners.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Top left", + "tooltip":"" + }, + { + "name":"Top right", + "tooltip":"" + }, + { + "name":"Bottom left", + "tooltip":"" + }, + { + "name":"Bottom right", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Extrude":{ + "name":"Surface Extrude", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"Extrude 2D image into 3D object.", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Height map", + "tooltip":"" + }, + { + "name":"Smooth", + "tooltip":"" + }, + { + "name":"Always update", + "tooltip":"" + } + ] + }, + "Node_Fluid_Add_Collider":{ + "name":"Add Collider", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Collider", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + } + ] + }, + "Node_Fluid_Turbulence":{ + "name":"Turbulence", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Effect area", + "tooltip":"" }, { "name":"Strength", "tooltip":"" }, { - "name":"Strength map", + "name":"Scale", "tooltip":"" }, { - "name":"Color over lifetime", + "name":"Seed", "tooltip":"" }, { - "name":"Distance", + "name":"Mode", + "display_data":[ + "Override", + "Add" + ], + "tooltip":"" + } + ] + }, + "Node_Scale":{ + "name":"Scale", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Simple node for scaling image.", + "inputs":[ + { + "name":"Surface in", "tooltip":"" }, { - "name":"Alpha over lifetime", + "name":"Scale", "tooltip":"" }, { - "name":"Random blending", + "name":"Mode", + "display_data":[ + "Upscale", + "Scale to fit" + ], + "tooltip":"" + }, + { + "name":"Target dimension", "tooltip":"" }, { "name":"Active", "tooltip":"" } - ], - "tooltip":"Displace each pixel of the image randomly." + ] }, - "Node_Cache":{ - "name":"Cache", + "Node_Path":{ + "name":"Path", "outputs":[ { - "name":"Cache surface", + "name":"Position out", + "tooltip":"" + }, + { + "name":"Path data", + "tooltip":"" + }, + { + "name":"Anchors", "tooltip":"" } ], + "tooltip":"", + "inputs":[ + { + "name":"Path progress", + "tooltip":"Sample position from path." + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Progress mode", + "display_data":[ + "Entire line", + "Segment" + ], + "tooltip":"" + }, + { + "name":"Round anchor", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Add":{ + "name":"Add", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"pbox", + "tooltip":"" + } + ] + }, + "Node_Area":{ + "name":"Area", + "outputs":[ + { + "name":"Area", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Postion", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Shape", + "display_data":[ + "Rectangle", + "Elipse" + ], + "tooltip":"" + } + ] + }, + "Node_Array_Length":{ + "name":"Array Length", + "outputs":[ + { + "name":"Size", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_Cache_Array":{ + "name":"Cache Array", + "outputs":[ + { + "name":"Cache array", + "tooltip":"" + } + ], + "tooltip":"Store current animation as array. Cache persisted between save.", "inputs":[ { "name":"Surface in", "tooltip":"" + }, + { + "name":"Start frame", + "tooltip":"Frame index to start caching, set to -1 to start at the first frame." + }, + { + "name":"Stop frame", + "tooltip":"Frame index to stop caching (inclusive), set to -1 to stop at the last frame." + }, + { + "name":"Step", + "tooltip":"Cache every N frames, set to 1 to cache every frame." } - ], - "tooltip":"Store current animation. Cache persisted between save." + ] }, - "Node_Image_gif":{ - "name":"Image GIF", + "Node_3D_Mesh_Cylinder":{ + "name":"3D Cylinder", "outputs":[ { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Path", + "name":"Mesh", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Path", + "name":"Position", "tooltip":"" }, { - "name":"Set animation length to gif", + "name":"Rotation", "tooltip":"" }, { - "name":"Output as array", + "name":"Scale", + "tooltip":"" + }, + { + "name":"Side", + "tooltip":"" + }, + { + "name":"Material Top", + "tooltip":"" + }, + { + "name":"Material Bottom", + "tooltip":"" + }, + { + "name":"Material Side", + "tooltip":"" + }, + { + "name":"Smooth Side", "tooltip":"" } - ], - "tooltip":"Load animated .gif from your computer." + ] }, "Node_Shape_Polygon":{ "name":"Polygon Shape", @@ -1755,6 +1606,7 @@ "tooltip":"" } ], + "tooltip":"Draw simple shapes using triangles.", "inputs":[ { "name":"Dimension", @@ -1834,32 +1686,36 @@ "name":"Mesh", "tooltip":"" } - ], - "tooltip":"Draw simple shapes using triangles." + ] }, - "Node_3D_Scene":{ - "name":"3D Scene", - "outputs":[ - { - "name":"Scene", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_9Slice":{ - "name":"Nine Slice", + "__Node_3D_Cylinder":{ + "name":"3D Cylinder", "outputs":[ { "name":"Surface out", "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Surface in", + "name":"Sides", + "tooltip":"" + }, + { + "name":"Thickness", "tooltip":"" }, { @@ -1867,19 +1723,82 @@ "tooltip":"" }, { - "name":"Splice", + "name":"Render position", "tooltip":"" }, { - "name":"Filling modes", + "name":"Render rotation", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Textures top", + "tooltip":"" + }, + { + "name":"Textures bottom", + "tooltip":"" + }, + { + "name":"Textures side", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Projection", "display_data":[ - "Scale", - "Repeat" + "Orthographic", + "Perspective" ], "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Taper", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" } - ], - "tooltip":"Cut image into 3x3 parts, and scale\/repeat only the middle part." + ] }, "Node_Scatter":{ "name":"Scatter", @@ -1893,6 +1812,7 @@ "tooltip":"" } ], + "tooltip":"Scatter image randomly multiple times.", "inputs":[ { "name":"Surface in", @@ -2006,8 +1926,10369 @@ "name":"Scatter Distance", "tooltip":"" } + ] + }, + "Node_RGB_Channel":{ + "name":"RGBA Extract", + "outputs":[ + { + "name":"Red", + "tooltip":"" + }, + { + "name":"Green", + "tooltip":"" + }, + { + "name":"Blue", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + } ], - "tooltip":"Scatter image randomly multiple times." + "tooltip":"Extract RGBA channel on an image, each channel becomes its own image.", + "inputs":[ + { + "name":"Surface In", + "tooltip":"" + }, + { + "name":"Output Type", + "display_data":[ + "Channel value", + "Greyscale" + ], + "tooltip":"" + }, + { + "name":"Keep Alpha", + "tooltip":"" + } + ] + }, + "Node_PCX_fn_Surface_Height":{ + "name":"Surface Height", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface", + "tooltip":"" + } + ] + }, + "Node_Websocket_Receiver":{ + "name":"Websocket Receiver", + "outputs":[ + { + "name":"Data", + "tooltip":"" + }, + { + "name":"Receive data", + "tooltip":"" + } + ], + "tooltip":"Create websocket server to receive data from the network.", + "inputs":[ + { + "name":"Port", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Subtract":{ + "name":"Subtract", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Surface", + "tooltip":"" + } + ] + }, + "Node_Find_Pixel":{ + "name":"Find pixel", + "outputs":[ + { + "name":"Position", + "tooltip":"" + } + ], + "tooltip":"Get the position of the first pixel with a given color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Search color", + "tooltip":"" + } + ] + }, + "Node_HLSL":{ + "name":"HLSL", + "outputs":[ + { + "name":"Surface", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Vertex", + "tooltip":"" + }, + { + "name":"Fragment", + "tooltip":"" + }, + { + "name":"Base Texture", + "tooltip":"" + } + ] + }, + "Node_Array_Copy":{ + "name":"Array Copy", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Starting Index", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + } + ] + }, + "__Node_3D_Displace":{ + "name":"3D Displace", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + }, + { + "name":"Displacement map", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + } + ] + }, + "Node_Path_Anchor":{ + "name":"Path Anchor", + "outputs":[ + { + "name":"Anchor", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Postion", + "tooltip":"" + }, + { + "name":"Control point 1", + "tooltip":"" + }, + { + "name":"Control point 2", + "tooltip":"" + }, + { + "name":"Mirror control point", + "tooltip":"" + } + ] + }, + "Node_Math":{ + "name":"Math", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "Add", + "Subtract", + "Multiply", + "Divide", + "Power", + "Root", + "Sin", + "Cos", + "Tan", + "Modulo", + "Floor", + "Ceil", + "Round", + "Lerp", + "Abs" + ], + "tooltip":"" + }, + { + "name":"a", + "tooltip":"" + }, + { + "name":"b", + "tooltip":"" + }, + { + "name":"Degree angle", + "tooltip":"" + }, + { + "name":"To integer", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + } + ] + }, + "Node_Color_Remove":{ + "name":"Remove Color", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Remove color that match a palette.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Colors", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Invert", + "tooltip":"Keep the selected colors and remove the rest." + } + ] + }, + "Node_Mirror":{ + "name":"Mirror", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Mirror mask", + "tooltip":"" + } + ], + "tooltip":"Reflect the image along a reflection line.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Blur_Bokeh":{ + "name":"Lens Blur", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create bokeh effect. Blur lighter color in a lens-like manner.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Edge_Detect":{ + "name":"Edge Detect", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Edge detect by applying Sobel, Prewitt, or Laplacian kernel.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Algorithm", + "display_data":[ + "Sobel", + "Prewitt", + "Laplacian", + "Neighbor max diff" + ], + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_VFX_Destroy":{ + "name":"Destroy", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", + "tooltip":"" + } + ] + }, + "Node_Noise_Aniso":{ + "name":"Anisotropic Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate anisotropic noise.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + } + ] + }, + "Node_String_Regex_Replace":{ + "name":"RegEx Replace", + "outputs":[ + { + "name":"Results", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Regex", + "tooltip":"" + }, + { + "name":"Replacement", + "tooltip":"" + } + ] + }, + "Node_Group_Output":{ + "name":"Output", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Order", + "tooltip":"" + } + ] + }, + "Node_Rigid_Force_Apply":{ + "name":"Apply Force", + "outputs":[ + { + "name":"Object", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Object", + "tooltip":"" + }, + { + "name":"Force type", + "display_data":[ + "Constant", + "Impulse", + "Torque", + "Explode" + ], + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Torque", + "tooltip":"" + }, + { + "name":"Apply frame", + "tooltip":"Frame index to apply force." + }, + { + "name":"Force", + "tooltip":"" + }, + { + "name":"Scope", + "display_data":[ + "Global", + "Local" + ], + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + } + ] + }, + "Node_Palette_Sort":{ + "name":"Sort Palette", + "outputs":[ + { + "name":"Sorted palette", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Palette in", + "tooltip":"" + }, + { + "name":"Order", + "display_data":[ + "Brightness", + -1.0, + "Hue (HSV)", + "Saturation (SHV)", + "Value (VHS)", + -1.0, + "Red (RGB)", + "Green (GBR)", + "Blue (BRG)", + -1.0, + "Custom" + ], + "tooltip":"" + }, + { + "name":"Reverse", + "tooltip":"" + }, + { + "name":"Sort Order", + "tooltip":"Compose sorting algorithm using string.\r\n - RGB: Red\/Green\/Blur channel\r\n - HSV: Hue\/Saturation\/Value\r\n - L: Brightness\r\n - Use small letter for ascending, capital letter for descending order." + } + ] + }, + "Node_Bloom":{ + "name":"Bloom", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply bloom effect, bluring and brighten the bright part of the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"Bloom blur radius." + }, + { + "name":"Tolerance", + "tooltip":"How bright a pixel should be to start blooming." + }, + { + "name":"Strength", + "tooltip":"Blend intensity." + }, + { + "name":"Bloom mask", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Stripe":{ + "name":"Stripe", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate stripe pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Blend", + "tooltip":"Smoothly blend between each stripe." + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Random", + "tooltip":"" + }, + { + "name":"Random color", + "tooltip":"" + }, + { + "name":"Colors", + "tooltip":"" + }, + { + "name":"Color 1", + "tooltip":"" + }, + { + "name":"Color 2", + "tooltip":"" + } + ] + }, + "Node_PCX_fn_Surface_Width":{ + "name":"Surface Width", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface", + "tooltip":"" + } + ] + }, + "Node_Threshold":{ + "name":"Threshold", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Set a threshold where pixel darker will becomes black, and brighter to white. Also works with alpha.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Brightness", + "tooltip":"" + }, + { + "name":"Brightness Threshold", + "tooltip":"" + }, + { + "name":"Brightness Smoothness", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Alpha Threshold", + "tooltip":"" + }, + { + "name":"Alpha Smoothness", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Blob":{ + "name":"Blob", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Top", + "tooltip":"" + }, + { + "name":"Bottom", + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Cone":{ + "name":"3D Cone", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Side", + "tooltip":"" + }, + { + "name":"Material Bottom", + "tooltip":"" + }, + { + "name":"Material Side", + "tooltip":"" + }, + { + "name":"Smooth Side", + "tooltip":"" + } + ] + }, + "Node_Boolean":{ + "name":"Boolean", + "outputs":[ + { + "name":"Boolean", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Hide Background", + "tooltip":"" + }, + { + "name":"Name location", + "display_data":[ + "Top", + "Bottom" + ], + "tooltip":"" + } + ] + }, + "Node_Texture_Remap":{ + "name":"Texture Remap", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Remap image using texture map. Where red channel control x position and green channel control y position.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"RG Map", + "tooltip":"Displacement map where red retermine the X position, and green determine the Y position." + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Image_Sequence":{ + "name":"Image Array", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Paths", + "tooltip":"" + } + ], + "tooltip":"Load multiple images from your computer as array.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Padding", + "tooltip":"" + }, + { + "name":"Canvas size", + "display_data":[ + "Individual", + "Minimum", + "Maximum" + ], + "tooltip":"" + }, + { + "name":"Sizing method", + "display_data":[ + "Padding \/ Crop", + "Scale" + ], + "tooltip":"" + } + ] + }, + "Node_Cellular":{ + "name":"Cellular Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate voronoi pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Point", + "Edge", + "Cell", + "Crystal" + ], + "tooltip":"" + }, + { + "name":"Contrast", + "tooltip":"" + }, + { + "name":"Pattern", + "display_data":[ + "Uniform", + "Radial" + ], + "tooltip":"" + }, + { + "name":"Middle", + "tooltip":"" + }, + { + "name":"Radial scale", + "tooltip":"" + }, + { + "name":"Radial shatter", + "tooltip":"" + }, + { + "name":"Colored", + "tooltip":"" + } + ] + }, + "Node_Strand_Render":{ + "name":"Strand Render", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Strand", + "tooltip":"" + }, + { + "name":"Thickness", + "tooltip":"" + }, + { + "name":"Thickness over length", + "tooltip":"" + }, + { + "name":"Random color", + "tooltip":"" + }, + { + "name":"Color over length", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Child", + "tooltip":"Render extra strands between the real strands." + } + ] + }, + "Node_Pack_Sprites":{ + "name":"Pack Sprites", + "outputs":[ + { + "name":"Packed image", + "tooltip":"" + }, + { + "name":"Atlas data", + "tooltip":"" + } + ], + "tooltip":"Combine array of images with different dimension using different algorithms.", + "inputs":[ + { + "name":"Sprites", + "tooltip":"" + }, + { + "name":"Algorithm", + "display_data":[ + "Skyline", + "Shelf", + "Top left", + "Best fit" + ], + "tooltip":"" + }, + { + "name":"Max width", + "tooltip":"" + }, + { + "name":"Max height", + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + } + ] + }, + "Node_Onion_Skin":{ + "name":"Onion Skin", + "outputs":[ + { + "name":"Output", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Color pre", + "tooltip":"" + }, + { + "name":"Color post", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + }, + { + "name":"On top", + "tooltip":"Render current frame on top of all frames." + } + ] + }, + "Node_Alpha_Cutoff":{ + "name":"Alpha Cutoff", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Remove pixel with low alpha value.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Minimum", + "tooltip":"Any pixel with less alpha (more transparent) than this will be removed." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Greyscale":{ + "name":"Greyscale", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert color image to greyscale.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Brightness", + "tooltip":"" + }, + { + "name":"Contrast", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Particle":{ + "name":"Particle", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate particle effect.", + "inputs":[ + { + "name":"Particle sprite", + "tooltip":"" + }, + { + "name":"Spawn delay", + "tooltip":"Frames delay between each particle spawn." + }, + { + "name":"Spawn amount", + "tooltip":"Amount of particle spawn in that frame." + }, + { + "name":"Spawn area", + "tooltip":"" + }, + { + "name":"Spawn distribution", + "display_data":[ + "Area", + "Border", + "Map", + "Direct Data" + ], + "tooltip":"" + }, + { + "name":"Lifespan", + "tooltip":"" + }, + { + "name":"Spawn direction", + "tooltip":"" + }, + { + "name":"Acceleration", + "tooltip":"" + }, + { + "name":"Orientation", + "tooltip":"" + }, + { + "name":"Rotational speed", + "tooltip":"" + }, + { + "name":"Spawn scale", + "tooltip":"" + }, + { + "name":"Scale over time", + "tooltip":"" + }, + { + "name":"Color over lifetime", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Alpha over time", + "tooltip":"" + }, + { + "name":"Rotate by direction", + "tooltip":"Make the particle rotates to follow its movement." + }, + { + "name":"Spawn type", + "display_data":[ + "Stream", + "Burst" + ], + "tooltip":"" + }, + { + "name":"Spawn size", + "tooltip":"" + }, + { + "name":"Spawn velocity", + "tooltip":"" + }, + { + "name":"Gravity", + "tooltip":"" + }, + { + "name":"Wiggle", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Surface array", + "display_data":[ + "Random", + "Order", + "Animation" + ], + "tooltip":"Whether to select image from an array in order, at random, or treat array as animation." + }, + { + "name":"Animation speed", + "tooltip":"" + }, + { + "name":"Scatter", + "display_data":[ + "Uniform", + "Random", + "Data" + ], + "tooltip":"" + }, + { + "name":"Boundary data", + "tooltip":"" + }, + { + "name":"On animation end", + "display_data":[ + "Loop", + "Ping pong", + "Destroy" + ], + "tooltip":"" + }, + { + "name":"Spawn", + "tooltip":"" + }, + { + "name":"Random blend", + "tooltip":"" + }, + { + "name":"Directed from center", + "tooltip":"Make particle move away from the spawn center." + }, + { + "name":"Distribution map", + "tooltip":"" + }, + { + "name":"Distribution data", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Gravity direction", + "tooltip":"" + }, + { + "name":"Turning", + "tooltip":"" + }, + { + "name":"Turn both directions", + "tooltip":"Apply randomized 1, -1 multiplier to the turning speed." + }, + { + "name":"Turn scale with speed", + "tooltip":"" + }, + { + "name":"Collide ground", + "tooltip":"" + }, + { + "name":"Ground offset", + "tooltip":"" + }, + { + "name":"Bounce amount", + "tooltip":"" + }, + { + "name":"Bounce friction", + "tooltip":"Apply horizontal friction once particle stop bouncing." + }, + { + "name":"Output dimension", + "tooltip":"" + }, + { + "name":"Round position", + "tooltip":"Round position to the closest integer value to avoid jittering." + }, + { + "name":"Blend mode", + "display_data":[ + "Normal", + "Alpha", + "Additive" + ], + "tooltip":"" + } + ] + }, + "Node_Iterator_Length":{ + "name":"Loop amount", + "outputs":[ + { + "name":"Length", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Colorize":{ + "name":"Colorize", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Map brightness of a pixel to a color from a gradient.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Gradient", + "tooltip":"" + }, + { + "name":"Gradient shift", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Multiply alpha", + "tooltip":"" + } + ] + }, + "Node_String_Length":{ + "name":"Text Length", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Character", + "Word" + ], + "tooltip":"" + } + ] + }, + "Node_Mesh_Create_Path":{ + "name":"Path to Mesh", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"Create mesh from path.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Sample", + "tooltip":"" + }, + { + "name":"Algorithm", + "display_data":[ + "Ear Clipping", + "Convex Fan", + "Delaunay" + ], + "tooltip":"" + } + ] + }, + "Node_WAV_File_Write":{ + "name":"WAV File Out", + "outputs":[ + ], + "tooltip":"Save wav audio file.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Audio Data", + "tooltip":"" + }, + { + "name":"Sample", + "tooltip":"" + }, + { + "name":"Bit Depth", + "display_data":[ + "8 bit positive", + "16 bit integer" + ], + "tooltip":"" + }, + { + "name":"Remap Data", + "tooltip":"" + }, + { + "name":"Data Range", + "tooltip":"" + } + ] + }, + "Node_Gradient_Out":{ + "name":"Gradient", + "outputs":[ + { + "name":"Gradient", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Gradient", + "tooltip":"" + }, + { + "name":"Sample", + "tooltip":"Position to sample a color from the gradient." + } + ] + }, + "Node_Repeat":{ + "name":"Repeat", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Repeat image multiple times linearly, or in grid pattern.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Pattern", + "display_data":[ + "Linear", + "Grid", + "Circular" + ], + "tooltip":"" + }, + { + "name":"Repeat position", + "tooltip":"" + }, + { + "name":"Repeat rotation", + "tooltip":"" + }, + { + "name":"Scale multiply", + "tooltip":"" + }, + { + "name":"Angle range", + "tooltip":"" + }, + { + "name":"Radius", + "tooltip":"" + }, + { + "name":"Start position", + "tooltip":"" + }, + { + "name":"Scale over copy", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"Make each copy follow along path." + }, + { + "name":"Path range", + "tooltip":"Range of the path to follow." + }, + { + "name":"Path shift", + "tooltip":"" + }, + { + "name":"Color over copy", + "tooltip":"" + }, + { + "name":"Alpha over copy", + "tooltip":"" + }, + { + "name":"Array select", + "display_data":[ + "Order", + "Random", + "Spread" + ], + "tooltip":"Whether to select image from an array in order, at random, pr spread or each image to one output." + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Column", + "tooltip":"" + }, + { + "name":"Column shift", + "tooltip":"" + }, + { + "name":"Animator midpoint", + "tooltip":"" + }, + { + "name":"Animator range", + "tooltip":"" + }, + { + "name":"Animator position", + "tooltip":"" + }, + { + "name":"Animator rotation", + "tooltip":"" + }, + { + "name":"Animator scale", + "tooltip":"" + }, + { + "name":"Animator falloff", + "tooltip":"" + }, + { + "name":"Stack", + "display_data":[ + "None", + "X", + "Y" + ], + "tooltip":"Place each copy next to each other, taking surface dimension into account." + }, + { + "name":"Animator blend", + "tooltip":"" + }, + { + "name":"Animator alpha", + "tooltip":"" + } + ] + }, + "Node_Array_Zip":{ + "name":"Array Zip", + "outputs":[ + { + "name":"Output", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_PCX_var":{ + "name":"Variable", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Name", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Rectangle":{ + "name":"Rectangle", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + } + ] + }, + "Node_Image_Sheet":{ + "name":"Splice Spritesheet", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Atlas Data", + "tooltip":"" + } + ], + "tooltip":"Cut up spritesheet into animation or image array.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Sprite size", + "tooltip":"" + }, + { + "name":"Row", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Offset", + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + }, + { + "name":"Padding", + "tooltip":"" + }, + { + "name":"Output", + "display_data":[ + "Animation", + "Array" + ], + "tooltip":"" + }, + { + "name":"Animation speed", + "tooltip":"" + }, + { + "name":"Orientation", + "display_data":[ + "Horizontal", + "Vertical" + ], + "tooltip":"" + }, + { + "name":"Auto fill", + "tooltip":"Automatically set amount based on sprite size." + }, + { + "name":"Sync animation", + "tooltip":"" + }, + { + "name":"Filter empty output", + "tooltip":"" + }, + { + "name":"Filtered Pixel", + "display_data":[ + "Transparent", + "Color" + ], + "tooltip":"" + }, + { + "name":"Filtered Color", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Outline":{ + "name":"Outline", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Corner", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Side", + "display_data":[ + "Inside", + "Outside" + ], + "tooltip":"" + } + ] + }, + "Node_Atlas_Draw":{ + "name":"Draw Atlas", + "outputs":[ + { + "name":"Surface", + "tooltip":"" + } + ], + "tooltip":"Render image atlas to a surface.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Atlas", + "tooltip":"" + } + ] + }, + "Node_BW":{ + "name":"BW", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert color image to black and white.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Brightness", + "tooltip":"" + }, + { + "name":"Contrast", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Statistic":{ + "name":"Statistic", + "outputs":[ + { + "name":"Statistic", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "Sum", + "Mean", + "Median", + "Max", + "Min" + ], + "tooltip":"" + } + ] + }, + "Node_Anim_Curve":{ + "name":"Evaluate Curve", + "outputs":[ + { + "name":"Curve", + "tooltip":"" + } + ], + "tooltip":"Evaluate value from an animation curve.", + "inputs":[ + { + "name":"Curve", + "tooltip":"" + }, + { + "name":"Progress", + "tooltip":"" + }, + { + "name":"Minimum", + "tooltip":"" + }, + { + "name":"Maximum", + "tooltip":"" + } + ] + }, + "Node_Mesh_Transform":{ + "name":"Mesh Transform", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Mesh", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Anchor", + "tooltip":"" + } + ] + }, + "__Node_3D_Combine":{ + "name":"3D Combine", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D objects", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + } + ], + "tooltip":"Combine multiple 3D object to a single scene,", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + } + ] + }, + "Node_Crop_Content":{ + "name":"Crop Content", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Crop out empty pixel pixel from the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Array", + "display_data":[ + "Largest, same size", + "Independent" + ], + "tooltip":"Cropping mode for dealing with image array." + }, + { + "name":"Padding", + "tooltip":"Add padding back after crop." + } + ] + }, + "Node_PB_Draw_Round_Rectangle":{ + "name":"Round Rectangle", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Uniform", + "Per Corner" + ], + "tooltip":"" + }, + { + "name":"Corner Radius", + "tooltip":"" + }, + { + "name":"Corner Radius", + "tooltip":"" + }, + { + "name":"Relative", + "tooltip":"" + }, + { + "name":"Cut Corner", + "tooltip":"" + } + ] + }, + "Node_Trigger_Bool":{ + "name":"Boolean Trigger", + "outputs":[ + { + "name":"Trigger", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Boolean", + "tooltip":"" + }, + { + "name":"Trigger condition", + "display_data":[ + "True frame", + "False to True", + "True to False", + "Value changed" + ], + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Obj":{ + "name":"3D Object", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"Load .obj file from your computer as a 3D object.", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"File Path", + "tooltip":"" + }, + { + "name":"Flip UV", + "tooltip":"Flip UV axis, can be use to fix some texture mapping error." + } + ] + }, + "Node_Crop":{ + "name":"Crop", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Crop out image to create smaller ones.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Crop", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Group_Input":{ + "name":"Input", + "outputs":[ + { + "name":"Value", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Display type", + "display_data":[ + "Default", + "Range", + "Rotation", + "Rotation range", + "Slider", + "Slider range", + "Padding", + "Vector", + "Vector range", + "Area", + "Enum button", + "Menu scroll" + ], + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Input type", + "display_data":[ + "Integer", + "Float", + "Boolean", + "Color", + "Surface", + "File Path", + "Curve", + "Text", + "Object", + "Node", + "3D object", + "Any", + "Path", + "Particle", + "Rigidbody Object", + "Fluid Domain", + "Struct", + "Strands", + "Mesh", + "Trigger" + ], + "tooltip":"" + }, + { + "name":"Enum label", + "tooltip":"" + }, + { + "name":"Vector size", + "display_data":[ + "2", + "3", + "4" + ], + "tooltip":"" + }, + { + "name":"Order", + "tooltip":"" + }, + { + "name":"Display preview gizmo", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + }, + { + "name":"Button Label", + "tooltip":"" + } + ] + }, + "Node_Color_adjust":{ + "name":"Color Adjust", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Color out", + "tooltip":"" + } + ], + "tooltip":"Adjust brightness, contrast, hue, saturation, value, alpha, and blend image with color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Brightness", + "tooltip":"" + }, + { + "name":"Contrast", + "tooltip":"" + }, + { + "name":"Hue", + "tooltip":"" + }, + { + "name":"Saturation", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Blend", + "tooltip":"" + }, + { + "name":"Blend alpha", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Exposure", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Input Type", + "display_data":[ + "Surface", + "Color" + ], + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + } + ] + }, + "Node_PCX_Array_Set":{ + "name":"Array Set", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_Chromatic_Aberration":{ + "name":"Chromatic Aberration", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply chromatic aberration effect to the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Group":{ + "name":"Group", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_PCX_Equation":{ + "name":"Equation", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Equation", + "tooltip":"" + } + ] + }, + "Node_Palette_Extract":{ + "name":"Palette Extract", + "outputs":[ + { + "name":"Palette", + "tooltip":"" + } + ], + "tooltip":"Extract palette from an image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Max colors", + "tooltip":"Amount of color in a palette." + }, + { + "name":"Seed", + "tooltip":"Random seed to be used to initialize K-mean algorithm." + }, + { + "name":"Algorithm", + "display_data":[ + "K-mean", + "Frequency", + "All colors" + ], + "tooltip":"" + } + ] + }, + "Node_Bevel":{ + "name":"Bevel", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply 2D bevel on the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Height", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Slope", + "display_data":[ + "Linear", + "Smooth", + "Circular" + ], + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + } + ] + }, + "Node_Grid_Tri":{ + "name":"Triangular Grid", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate triangular grid pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Gap", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Tile color", + "tooltip":"" + }, + { + "name":"Gap color", + "tooltip":"" + }, + { + "name":"Texture", + "tooltip":"" + }, + { + "name":"Render type", + "display_data":[ + "Colored tile", + "Height map", + "Texture grid", + "Texture sample" + ], + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_String_Get_Char":{ + "name":"Get Character", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + } + ] + }, + "Node_Skew":{ + "name":"Skew", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Skew image horizontally, or vertically.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Axis", + "display_data":[ + "x", + "y" + ], + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Wrap", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_PB_Box_Divide_Grid":{ + "name":"Divide Grid", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Layer Shift", + "tooltip":"" + }, + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + }, + { + "name":"Mirror", + "tooltip":"" + } + ] + }, + "Node_ASE_layer":{ + "name":"ASE Layer", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"ASE data", + "tooltip":"" + }, + { + "name":"Use cel dimension", + "tooltip":"" + } + ] + }, + "Node_Gradient_Points":{ + "name":"4 Points Gradient", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create image from 4 color points.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Center 1", + "tooltip":"" + }, + { + "name":"Color 1", + "tooltip":"" + }, + { + "name":"Center 2", + "tooltip":"" + }, + { + "name":"Color 2", + "tooltip":"" + }, + { + "name":"Center 3", + "tooltip":"" + }, + { + "name":"Color 3", + "tooltip":"" + }, + { + "name":"Center 4", + "tooltip":"" + }, + { + "name":"Color 4", + "tooltip":"" + }, + { + "name":"Use palette", + "tooltip":"" + }, + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Falloff 1", + "tooltip":"" + }, + { + "name":"Falloff 2", + "tooltip":"" + }, + { + "name":"Falloff 3", + "tooltip":"" + }, + { + "name":"Falloff 4", + "tooltip":"" + } + ] + }, + "Node_Iterator_Each_Input":{ + "name":"Input", + "outputs":[ + { + "name":"Value in", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Grid":{ + "name":"Grid", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate grid pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Gap", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Tile color", + "tooltip":"" + }, + { + "name":"Gap color", + "tooltip":"" + }, + { + "name":"Texture", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Shift axis", + "display_data":[ + "X", + "Y" + ], + "tooltip":"" + }, + { + "name":"Render type", + "display_data":[ + "Colored tile", + "Height map", + "Texture grid", + "Texture sample" + ], + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Gradient_Replace_Color":{ + "name":"Gradient Replace", + "outputs":[ + { + "name":"Gradient", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Gradient", + "tooltip":"" + }, + { + "name":"Color from", + "tooltip":"" + }, + { + "name":"Color to", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + } + ] + }, + "Node_Array_Shift":{ + "name":"Array Shift", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + } + ] + }, + "Node_Fluid_Vortex":{ + "name":"Vortex", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Radius", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Attraction", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Override", + "Add" + ], + "tooltip":"" + } + ] + }, + "Node_Lua_Surface":{ + "name":"Lua Surface", + "outputs":[ + { + "name":"Execution thread", + "tooltip":"" + }, + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Function name", + "tooltip":"" + }, + { + "name":"Output dimension", + "tooltip":"" + }, + { + "name":"Lua code", + "tooltip":14 + }, + { + "name":"Execution thread", + "tooltip":"" + }, + { + "name":"Execute on frame", + "tooltip":"" + } + ] + }, + "Node_Array_CSV_Parse":{ + "name":"Parse CSV", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"CSV string", + "tooltip":"" + }, + { + "name":"Skip line", + "tooltip":"" + } + ] + }, + "__Node_3D_Cone":{ + "name":"3D Cone", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render rotation", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Sides", + "tooltip":"" + }, + { + "name":"Textures base", + "tooltip":"" + }, + { + "name":"Textures side", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + } + ] + }, + "Node_DynaSurf_Out_Width":{ + "name":"getWidth", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Width", + "tooltip":"" + } + ] + }, + "Node_Blend":{ + "name":"Blend", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blend 2 images using different blendmodes.", + "inputs":[ + { + "name":"Background", + "tooltip":"" + }, + { + "name":"Foreground", + "tooltip":"" + }, + { + "name":"Blend mode", + "display_data":[ + "Normal", + "Add", + "Subtract", + "Multiply", + "Screen", + "Overlay", + "Hue", + "Saturation", + "Luminosity", + "Maximum", + "Minimum", + "Replace", + "Difference" + ], + "tooltip":"" + }, + { + "name":"Opacity", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Fill mode", + "display_data":[ + "None", + "Stretch", + "Tile" + ], + "tooltip":"" + }, + { + "name":"Output dimension", + "display_data":[ + "Background", + "Forground", + "Mask", + "Maximum", + "Constant" + ], + "tooltip":"" + }, + { + "name":"Constant dimension", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Preserve alpha", + "tooltip":"" + }, + { + "name":"Horizontal Align", + "display_data":[ + 739.0, + 739.0, + 739.0 + ], + "tooltip":"" + }, + { + "name":"Vertical Align", + "display_data":[ + 867.0, + 867.0, + 867.0 + ], + "tooltip":"" + } + ] + }, + "Node_Pixel_Sort":{ + "name":"Pixel Sort", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Sort pixel by brightness in horizontal, or vertial axis.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Iteration", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Twirl":{ + "name":"Twirl", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Twist the image around a mid point.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Radius", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Color_Mix":{ + "name":"Mix Color", + "outputs":[ + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Color from", + "tooltip":"" + }, + { + "name":"Color to", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "RGB", + "HSV" + ], + "tooltip":"" + } + ] + }, + "Node_Vector_Split":{ + "name":"Vector Split", + "outputs":[ + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"z", + "tooltip":"" + }, + { + "name":"w", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Vector", + "tooltip":"" + } + ] + }, + "Node_Pin":{ + "name":"Pin", + "outputs":[ + { + "name":"Out", + "tooltip":"" + } + ], + "tooltip":"Craete pin to organize your connection. Can be create by double clicking on a connection line.", + "inputs":[ + { + "name":"In", + "tooltip":"" + } + ] + }, + "Node_Lua_Compute":{ + "name":"Lua Compute", + "outputs":[ + { + "name":"Execution thread", + "tooltip":"" + }, + { + "name":"Return value", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Function name", + "tooltip":"" + }, + { + "name":"Return type", + "display_data":[ + "Number", + "String", + "Struct" + ], + "tooltip":"" + }, + { + "name":"Lua code", + "tooltip":14 + }, + { + "name":"Execution thread", + "tooltip":"" + }, + { + "name":"Execute on frame", + "tooltip":"" + } + ] + }, + "Node_PCX_fn_Random":{ + "name":"Random", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Min", + "tooltip":"" + }, + { + "name":"Max", + "tooltip":"" + }, + { + "name":"Integer", + "tooltip":"" + } + ] + }, + "Node_Surface_Replace":{ + "name":"Replace Image", + "outputs":[ + { + "name":"Surface Out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Base Image", + "tooltip":"" + }, + { + "name":"Target Image", + "tooltip":"" + }, + { + "name":"Replacement Image", + "tooltip":"" + }, + { + "name":"Color Threshold", + "tooltip":"How similiar the color need to be in order to be count as matched." + }, + { + "name":"Draw Base Image", + "tooltip":"" + }, + { + "name":"Fast Mode", + "tooltip":"" + }, + { + "name":"Pixel Threshold", + "tooltip":"How many pixel need to me matched to replace with replacement image." + }, + { + "name":"Array mode", + "display_data":[ + "Match index", + "Randomized" + ], + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Lua_Global":{ + "name":"Lua Global", + "outputs":[ + { + "name":"Execution thread", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Lua code", + "tooltip":14 + }, + { + "name":"Run order", + "display_data":[ + "On start", + "Every frame" + ], + "tooltip":"" + }, + { + "name":"Execution thread", + "tooltip":"" + } + ] + }, + "Node_Palette_Shift":{ + "name":"Palette Shift", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "__Node_3D_Sphere":{ + "name":"3D Sphere", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Subdivisions", + "tooltip":"Amount of polygon in X and Y axis." + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render rotation", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Textures", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + } + ] + }, + "Node_Color_RGB":{ + "name":"RGB Color", + "outputs":[ + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"Create color from RGB value.", + "inputs":[ + { + "name":"Red", + "tooltip":"" + }, + { + "name":"Green", + "tooltip":"" + }, + { + "name":"Blue", + "tooltip":"" + }, + { + "name":"Normalized", + "tooltip":"" + } + ] + }, + "Node_Canvas":{ + "name":"Canvas", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Draw on surface using brush, eraser, etc.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Brush size", + "tooltip":"" + }, + { + "name":"Fill threshold", + "tooltip":"" + }, + { + "name":"Fill type", + "display_data":[ + "4 connect", + "8 connect", + "Entire canvas" + ], + "tooltip":"" + }, + { + "name":"Draw preview overlay", + "tooltip":"" + }, + { + "name":"Brush", + "tooltip":"" + }, + { + "name":"Surface amount", + "tooltip":"" + }, + { + "name":"Background", + "tooltip":"" + }, + { + "name":"Background alpha", + "tooltip":"" + }, + { + "name":"Render background", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + } + ] + }, + "Node_Alpha_Grey":{ + "name":"Alpha to Grey", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert alpha value into solid greyscale.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Armature_Path":{ + "name":"Armature Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Armature", + "tooltip":"" + } + ] + }, + "Node_Erode":{ + "name":"Erode", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Remove pixel that are close to the border of the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Width", + "tooltip":"" + }, + { + "name":"Preserve border", + "tooltip":"" + }, + { + "name":"Use alpha", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Blur_Directional":{ + "name":"Directional Blur", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blur image given a direction.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Level_Selector":{ + "name":"Level Selector", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Isolate part of the image that falls in the selected brightness range.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Mid point", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Feedback":{ + "name":"Feedback", + "outputs":[ + ], + "tooltip":"Create group that reuse output from last frame to the current one.", + "inputs":[ + ] + }, + "Node_3D_Camera":{ + "name":"3D Camera", + "outputs":[ + { + "name":"Rendered", + "tooltip":"" + }, + { + "name":"Normal", + "tooltip":"" + }, + { + "name":"Depth", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"FOV", + "tooltip":"" + }, + { + "name":"Clipping Distance", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Perspective", + "Orthographic" + ], + "tooltip":"" + }, + { + "name":"Scene", + "tooltip":"" + }, + { + "name":"Ambient Light", + "tooltip":"" + }, + { + "name":"Show Background", + "tooltip":"" + }, + { + "name":"Backface Culling", + "display_data":[ + "None", + "CW", + "CCW" + ], + "tooltip":"" + }, + { + "name":"Orthographic Scale", + "tooltip":"" + }, + { + "name":"Postioning Mode", + "display_data":[ + "Position + Rotation", + "Position + Lookat", + "Lookat + Rotation" + ], + "tooltip":"" + }, + { + "name":"Lookat Position", + "tooltip":"" + }, + { + "name":"Roll", + "tooltip":"" + }, + { + "name":"Horizontal Angle", + "tooltip":"" + }, + { + "name":"Vertical Angle", + "tooltip":"" + }, + { + "name":"Distance", + "tooltip":"" + }, + { + "name":"Gamma Adjust", + "tooltip":"" + }, + { + "name":"Environment Texture", + "tooltip":"" + }, + { + "name":"Ambient Occlusion", + "tooltip":"" + }, + { + "name":"AO Radius", + "tooltip":"" + }, + { + "name":"AO Bias", + "tooltip":"" + }, + { + "name":"AO Strength", + "tooltip":"" + }, + { + "name":"Round Normal", + "tooltip":"" + } + ] + }, + "Node_Flip":{ + "name":"Flip", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Flip image horizontally or vertically.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Axis", + "display_data":[ + "x", + "y" + ], + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Iterate":{ + "name":"Loop", + "outputs":[ + ], + "tooltip":"Create group that reuse output as input repeatedly in one frame.", + "inputs":[ + { + "name":"Repeat", + "tooltip":"" + } + ] + }, + "Node_Solid":{ + "name":"Solid", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create image of a single color.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Empty", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Use mask dimension", + "tooltip":"" + } + ] + }, + "Node_Plot_Linear":{ + "name":"Bar \/ Graph", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Plot graph or bar chart from array of number.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Data", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Sample frequency", + "tooltip":"" + }, + { + "name":"Origin", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Base Color", + "tooltip":"" + }, + { + "name":"Graph Thickness", + "tooltip":"" + }, + { + "name":"Use Background", + "tooltip":"" + }, + { + "name":"Background", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Bar chart", + "Graph" + ], + "tooltip":"" + }, + { + "name":"Value Offset", + "tooltip":"" + }, + { + "name":"Color Over Sample", + "tooltip":"" + }, + { + "name":"Trim mode", + "display_data":[ + "Range", + "Window" + ], + "tooltip":"" + }, + { + "name":"Window Size", + "tooltip":"" + }, + { + "name":"Window Offset", + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + }, + { + "name":"Bar Width", + "tooltip":"" + }, + { + "name":"Rounded Bar", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Flip Value", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Smooth", + "tooltip":"" + } + ] + }, + "Node_DynaSurf_Out":{ + "name":"Output", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface", + "tooltip":"" + }, + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"sx", + "tooltip":"" + }, + { + "name":"sy", + "tooltip":"" + }, + { + "name":"angle", + "tooltip":"" + }, + { + "name":"color", + "tooltip":"" + }, + { + "name":"alpha", + "tooltip":"" + } + ] + }, + "Node_Seperate_Shape":{ + "name":"Separate Shape", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Boundary data", + "tooltip":"" + } + ], + "tooltip":"Separate disconnected pixel each into an image in an image array.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Tolerance", + "tooltip":"" + }, + { + "name":"Override color", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Ignore blank", + "tooltip":"Skip empty and black shape." + } + ] + }, + "Node_2D_light":{ + "name":"2D Light", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Light only", + "tooltip":"" + } + ], + "tooltip":"Apply different shaped light on the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Light shape", + "display_data":[ + "Point", + "Line", + "Line asymmetric", + "Spot" + ], + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Intensity", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Start", + "tooltip":"" + }, + { + "name":"Finish", + "tooltip":"" + }, + { + "name":"Sweep", + "tooltip":"" + }, + { + "name":"Sweep end", + "tooltip":"" + }, + { + "name":"Banding", + "tooltip":"" + }, + { + "name":"Attenuation", + "display_data":[ + "Quadratic", + "Invert quadratic", + "Linear" + ], + "tooltip":"Control how light fade out over distance." + }, + { + "name":"Radial banding", + "tooltip":"" + }, + { + "name":"Radial start", + "tooltip":"" + }, + { + "name":"Radial band ratio", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Vector_Dot":{ + "name":"Dot product", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Point 1", + "tooltip":"" + }, + { + "name":"Point 2", + "tooltip":"" + } + ] + }, + "Node_Switch":{ + "name":"Switch", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"Given an index, output value base on index matching.", + "inputs":[ + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Default value", + "tooltip":"" + } + ] + }, + "Node_Counter":{ + "name":"Frame Index", + "outputs":[ + { + "name":"Value", + "tooltip":"" + } + ], + "tooltip":"Output current frame as frame index, or animation progress (0 - 1).", + "inputs":[ + { + "name":"Start", + "tooltip":"" + }, + { + "name":"Speed", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Frame count", + "Animation progress" + ], + "tooltip":"Counting mode\r\n - Frame count: Count value up\/down per frame.\r\n - Animation progress: Count from 0 (first frame) to 1 (last frame). " + } + ] + }, + "Node_Morph_Surface":{ + "name":"Morph Surface", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Morph pixel bewteen two surfaces.", + "inputs":[ + { + "name":"Surface from", + "tooltip":"" + }, + { + "name":"Surface to", + "tooltip":"" + }, + { + "name":"Morph amount", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + } + ] + }, + "Node_Widget_Test":{ + "name":"Widget Test", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"textBox", + "tooltip":"" + }, + { + "name":"rangeBox", + "tooltip":"" + }, + { + "name":"vectorBox", + "tooltip":"" + }, + { + "name":"vectorRangeBox", + "tooltip":"" + }, + { + "name":"rotator", + "tooltip":"" + }, + { + "name":"rotatorRange", + "tooltip":"" + }, + { + "name":"rotatorRandom", + "tooltip":"" + }, + { + "name":"slider", + "tooltip":"" + }, + { + "name":"sliderRange", + "tooltip":"" + }, + { + "name":"areaBox", + "tooltip":"" + }, + { + "name":"paddingBox", + "tooltip":"" + }, + { + "name":"cornerBox", + "tooltip":"" + }, + { + "name":"controlPointBox", + "tooltip":"" + }, + { + "name":"scrollBox", + "display_data":[ + "Choice 1", + "Choice 2" + ], + "tooltip":"" + }, + { + "name":"buttonGroup", + "display_data":[ + "Choice 1", + "Choice 2" + ], + "tooltip":"" + }, + { + "name":"matrixGrid", + "tooltip":"" + }, + { + "name":"transformBox", + "tooltip":"" + }, + { + "name":"toggleGroup", + "tooltip":"" + }, + { + "name":"quarternionBox", + "tooltip":"" + }, + { + "name":"checkBox", + "tooltip":"" + }, + { + "name":"buttonColor", + "tooltip":"" + }, + { + "name":"buttonPalette", + "tooltip":"" + }, + { + "name":"buttonGradient", + "tooltip":"" + }, + { + "name":"pathArrayBox", + "tooltip":"" + }, + { + "name":"textBox", + "tooltip":"" + }, + { + "name":"textBox", + "tooltip":"" + }, + { + "name":"fontScrollBox", + "tooltip":"" + }, + { + "name":"curveBox", + "tooltip":"" + }, + { + "name":"textArea", + "tooltip":"" + }, + { + "name":"textBox", + "tooltip":"" + }, + { + "name":"textArea", + "tooltip":"" + }, + { + "name":"textArea", + "tooltip":"" + }, + { + "name":"textArrayBox", + "tooltip":"" + }, + { + "name":"surfaceBox", + "tooltip":"" + } + ] + }, + "Node_Shell":{ + "name":"Execute Shell", + "outputs":[ + ], + "tooltip":"Execute shell script.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Script", + "tooltip":"" + } + ] + }, + "Node_Pixel_Builder":{ + "name":"Pixel Builder", + "outputs":[ + { + "name":"Surface Out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + } + ] + }, + "Node_String_Regex_Search":{ + "name":"RegEx Search", + "outputs":[ + { + "name":"Results", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Regex", + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Cube":{ + "name":"3D Cube", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Material per side", + "tooltip":"" + }, + { + "name":"Material", + "tooltip":"" + }, + { + "name":"Material Bottom", + "tooltip":"" + }, + { + "name":"Material Left", + "tooltip":"" + }, + { + "name":"Material Right", + "tooltip":"" + }, + { + "name":"Material Back", + "tooltip":"" + }, + { + "name":"Material Front", + "tooltip":"" + } + ] + }, + "Node_Array_Find":{ + "name":"Array Find", + "outputs":[ + { + "name":"Index", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_Websocket_Sender":{ + "name":"Websocket Sender", + "outputs":[ + ], + "tooltip":"Create websocket server to send data to the network.", + "inputs":[ + { + "name":"Port", + "tooltip":"" + }, + { + "name":"Data type", + "display_data":[ + "Struct", + "Surface", + "File", + "Buffer" + ], + "tooltip":"" + }, + { + "name":"Struct", + "tooltip":"" + }, + { + "name":"Surface", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Target", + "tooltip":"" + }, + { + "name":"Buffer", + "tooltip":"" + } + ] + }, + "Node_Array":{ + "name":"Array", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "Any", + "Surface", + "Number", + "Color", + "Text" + ], + "tooltip":"" + }, + { + "name":"Spread array", + "tooltip":"" + } + ] + }, + "Node_Text_File_Read":{ + "name":"Text File In", + "outputs":[ + { + "name":"Content", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Load .txt in as text.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + } + ] + }, + "Node_Path_Blend":{ + "name":"Blend Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Blend between 2 paths.", + "inputs":[ + { + "name":"Path 1", + "tooltip":"" + }, + { + "name":"Path 2", + "tooltip":"" + }, + { + "name":"Ratio", + "tooltip":"" + } + ] + }, + "Node_De_Stray":{ + "name":"De-Stray", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Attempt to remove orphan pixel.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Tolerance", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Strand_Break":{ + "name":"Strand Break", + "outputs":[ + { + "name":"Strand", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Strand", + "tooltip":"" + }, + { + "name":"Shape", + "display_data":[ + "Point", + "Band" + ], + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Chance", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_PCX_Array_Get":{ + "name":"Array Get", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + } + ] + }, + "Node_Fluid_Render":{ + "name":"Render Domain", + "outputs":[ + { + "name":"Fluid", + "tooltip":"" + }, + { + "name":"Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Interpolate", + "tooltip":"" + }, + { + "name":"Draw Domain", + "tooltip":"" + } + ] + }, + "Node_Convolution":{ + "name":"Convolution", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply convolution operation on each pixel using a custom 3x3 kernel.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Kernel", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Grid_Hex":{ + "name":"Hexagonal Grid", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate hexagonal grid pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Gap", + "tooltip":"" + }, + { + "name":"Tile color", + "tooltip":"" + }, + { + "name":"Gap color", + "tooltip":"" + }, + { + "name":"Render type", + "display_data":[ + "Colored tile", + "Height map", + "Texture grid", + "Texture sample" + ], + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Texture", + "tooltip":"" + } + ] + }, + "Node_Curve":{ + "name":"Curve", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Adjust brightness of an image using curves.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Brightness", + "tooltip":"" + }, + { + "name":"Red", + "tooltip":"" + }, + { + "name":"Green", + "tooltip":"" + }, + { + "name":"Blue", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Wrap_Area":{ + "name":"Area Warp", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Wrap image to fit area value (x, y, w, h).", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Path_Reverse":{ + "name":"Reverse Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Path", + "tooltip":"" + } + ] + }, + "Node_CSV_File_Read":{ + "name":"CSV File In", + "outputs":[ + { + "name":"Content", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Load .csv as text, number array.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Convert to number", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Fill":{ + "name":"Fill", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + } + ] + }, + "Node_String_Split":{ + "name":"Split Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Delimiter", + "tooltip":"Character that used to split text,\nleave blank to create character array." + } + ] + }, + "Node_Dilate":{ + "name":"Dilate", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Expand the image around a mid point.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Radius", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Export":{ + "name":"Export", + "outputs":[ + { + "name":"Loop exit", + "tooltip":"" + }, + { + "name":"Preview", + "tooltip":"" + } + ], + "tooltip":"Export image, image array to file, image sequence, animation.", + "inputs":[ + { + "name":"Surface", + "tooltip":"" + }, + { + "name":"Paths", + "tooltip":"" + }, + { + "name":"Template", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Single image", + "Image sequence", + "Animation" + ], + "tooltip":"" + }, + { + "name":"Template guides", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Frame optimization", + "tooltip":"" + }, + { + "name":"Color merge", + "tooltip":"" + }, + { + "name":"Framerate", + "tooltip":"" + }, + { + "name":"Format", + "display_data":[ + ".png", + ".jpg", + ".webp" + ], + "tooltip":"" + }, + { + "name":"Quality", + "tooltip":"" + }, + { + "name":"Sequence begin", + "tooltip":"" + }, + { + "name":"Frame range", + "tooltip":"" + }, + { + "name":"Subformat", + "display_data":[ + "INDEX4", + "INDEX8", + "Default (PNG32)" + ], + "tooltip":"" + } + ] + }, + "Node_Random":{ + "name":"Random", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"seed", + "tooltip":"" + }, + { + "name":"from", + "tooltip":"" + }, + { + "name":"to", + "tooltip":"" + } + ] + }, + "Node_Composite":{ + "name":"Composite", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Atlas data", + "tooltip":"" + } + ], + "tooltip":"Combine multiple images with controllable position, rotation, scale.", + "inputs":[ + { + "name":"Padding", + "tooltip":"" + }, + { + "name":"Output dimension", + "display_data":[ + "First surface", + "Largest surface", + "Constant" + ], + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + } + ] + }, + "Node_Zigzag":{ + "name":"Zigzag", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate zigzag pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Color 1", + "tooltip":"" + }, + { + "name":"Color 2", + "tooltip":"" + }, + { + "name":"Smooth", + "tooltip":"" + } + ] + }, + "Node_Rigid_Group":{ + "name":"RigidSim", + "outputs":[ + ], + "tooltip":"Create group for rigidbody simulation.", + "inputs":[ + ] + }, + "Node_Grey_Alpha":{ + "name":"Grey to Alpha", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert greyscale to alpha value.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Replace color", + "tooltip":"Replace output with solid color." + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Hash":{ + "name":"Hashing", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Hash", + "tooltip":"" + }, + { + "name":"Invert", + "tooltip":"" + }, + { + "name":"Dissolve", + "tooltip":"" + }, + { + "name":"Detail", + "tooltip":"" + }, + { + "name":"Dissolve Scale", + "tooltip":"" + } + ] + }, + "Node_Vector3":{ + "name":"Vector3", + "outputs":[ + { + "name":"Vector", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"z", + "tooltip":"" + }, + { + "name":"Integer", + "tooltip":"" + } + ] + }, + "Node_Combine_RGB":{ + "name":"RGBA Combine", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Combine 4 image in to one. Each image use to control RGBA channel.", + "inputs":[ + { + "name":"Red", + "tooltip":"" + }, + { + "name":"Green", + "tooltip":"" + }, + { + "name":"Blue", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Sampling type", + "display_data":[ + "Brightness", + "Channel value" + ], + "tooltip":"" + } + ] + }, + "Node_DynaSurf_In":{ + "name":"Input", + "outputs":[ + { + "name":"Value", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Blur_Zoom":{ + "name":"Zoom Blur", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blur image by zooming in\/out from a mid point.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Zoom mode", + "display_data":[ + "Start", + "Middle", + "End" + ], + "tooltip":"" + }, + { + "name":"Blur mask", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Fluid_Domain":{ + "name":"Fluid Domain", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Collision", + "tooltip":"" + }, + { + "name":"Material dissipation type", + "display_data":[ + "Multiply", + "Subtract" + ], + "tooltip":"" + }, + { + "name":"Material dissipation", + "tooltip":"" + }, + { + "name":"Velocity dissipation type", + "display_data":[ + "Multiply", + "Subtract" + ], + "tooltip":"" + }, + { + "name":"Velocity dissipation", + "tooltip":"" + }, + { + "name":"Acceleration", + "tooltip":"" + }, + { + "name":"Material intertia", + "tooltip":"" + }, + { + "name":"Initial pressure", + "tooltip":"" + }, + { + "name":"Material maccormack weight", + "tooltip":"" + }, + { + "name":"Velocity maccormack weight", + "tooltip":"" + }, + { + "name":"Wrap", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + } + ] + }, + "Node_Strand_Group":{ + "name":"StrandSim", + "outputs":[ + ], + "tooltip":"Create group for hair simulation.", + "inputs":[ + ] + }, + "Node_PB_Fx_Brick":{ + "name":"Brick", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Axis", + "display_data":[ + "X", + "Y" + ], + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Dissolve", + "tooltip":"" + }, + { + "name":"Detail", + "tooltip":"" + }, + { + "name":"Dissolve Scale", + "tooltip":"" + } + ] + }, + "Node_Flood_Fill":{ + "name":"Flood Fill", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Filled connected pixel given position and color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Colors", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + }, + { + "name":"Diagonal", + "tooltip":"" + } + ] + }, + "Node_Atlas_Get":{ + "name":"Atlas Get", + "outputs":[ + { + "name":"Surface", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Blend", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Atlas", + "tooltip":"" + } + ] + }, + "Node_Array_Sort":{ + "name":"Sort Number", + "outputs":[ + { + "name":"Sorted array", + "tooltip":"" + }, + { + "name":"Sorted index", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array in", + "tooltip":"" + }, + { + "name":"Order", + "display_data":[ + "Ascending", + "Descending" + ], + "tooltip":"" + } + ] + }, + "Node_Vector_Cross_2D":{ + "name":"Cross product 2D", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Point 1", + "tooltip":"" + }, + { + "name":"Point 2", + "tooltip":"" + } + ] + }, + "Node_Fluid_Add":{ + "name":"Add Fluid", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Fluid brush", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Inherit velocity", + "tooltip":"" + }, + { + "name":"Density", + "tooltip":"" + }, + { + "name":"Expand velocity mask", + "tooltip":"" + }, + { + "name":"Velocity", + "tooltip":"" + } + ] + }, + "Node_FFT":{ + "name":"FFT", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"Perform fourier transform on number array.", + "inputs":[ + { + "name":"Data", + "tooltip":"" + }, + { + "name":"Preprocess Function", + "display_data":[ + "None", + "Hann" + ], + "tooltip":"" + } + ] + }, + "Node_Array_Insert":{ + "name":"Array Insert", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Spread array", + "tooltip":"" + } + ] + }, + "Node_Path_Transform":{ + "name":"Transform Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Anchor", + "tooltip":"" + } + ] + }, + "Node_Armature_Sample":{ + "name":"Armature Sample", + "outputs":[ + { + "name":"Position", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Armature", + "tooltip":"" + }, + { + "name":"Bone name", + "tooltip":"" + }, + { + "name":"Sample point", + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Sphere_UV":{ + "name":"3D UV Sphere", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Horizontal Slices", + "tooltip":"" + }, + { + "name":"Vertical Slices", + "tooltip":"" + }, + { + "name":"Material", + "tooltip":"" + }, + { + "name":"Smooth Normal", + "tooltip":"" + } + ] + }, + "Node_Strand_Create":{ + "name":"Strand Create", + "outputs":[ + { + "name":"Strand", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "Point", + "Path", + "Mesh" + ], + "tooltip":"" + }, + { + "name":"Density", + "tooltip":"How many strands to generate." + }, + { + "name":"Length", + "tooltip":"" + }, + { + "name":"Segment", + "tooltip":"" + }, + { + "name":"Elasticity", + "tooltip":"Length preservation, the higher the value the easier it is to stretch each segment." + }, + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Side", + "display_data":[ + "Inner", + "Outer", + "Both" + ], + "tooltip":"" + }, + { + "name":"Spring", + "tooltip":"Angular stiffness, the higher the value the easier it is to bend each segment." + }, + { + "name":"Structure", + "tooltip":"The ability to keep its original shape." + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Curl frequency", + "tooltip":"" + }, + { + "name":"Curliness", + "tooltip":"" + }, + { + "name":"Mesh", + "tooltip":"" + }, + { + "name":"Distribution", + "display_data":[ + "Uniform", + "Random" + ], + "tooltip":"" + }, + { + "name":"Bake hair", + "tooltip":"Prevent strand reseting to apply manual modification. Unbaking will remove all changes." + }, + { + "name":"View fix hair", + "tooltip":"" + }, + { + "name":"Root strength", + "tooltip":"The force required to break strand from its root. Set to -1 to make strand infinitely strong." + } + ] + }, + "Node_Camera":{ + "name":"Camera", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create camera that crop image to fix dimension with control of position, zoom. Also can be use to create parallax effect.", + "inputs":[ + { + "name":"Background", + "tooltip":"" + }, + { + "name":"Focus area", + "tooltip":"" + }, + { + "name":"Zoom", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Repeat", + "Repeat X", + "Repeat Y" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Fix background", + "tooltip":"" + }, + { + "name":"Depth of Field", + "tooltip":"" + }, + { + "name":"Focal distance", + "tooltip":"" + }, + { + "name":"Defocus", + "tooltip":"" + }, + { + "name":"Focal range", + "tooltip":"" + } + ] + }, + "Node_PB_Layer":{ + "name":"Layer", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Layer", + "tooltip":"" + } + ] + }, + "Node_Wiggler":{ + "name":"Wiggler", + "outputs":[ + { + "name":"Output", + "tooltip":"" + } + ], + "tooltip":"Create smooth random value.", + "inputs":[ + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Frequency", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Display", + "display_data":[ + "Number", + "Graph" + ], + "tooltip":"" + } + ] + }, + "Node_Iterator_Filter_Output":{ + "name":"Output", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Result", + "tooltip":"" + } + ] + }, + "Node_Noise_Hex":{ + "name":"Hexagonal Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Texture sample", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Shading":{ + "name":"Shading", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Width", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + } + ] + }, + "Node_Rigid_Object":{ + "name":"Object", + "outputs":[ + { + "name":"Object", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Affect by force", + "tooltip":"" + }, + { + "name":"Weight", + "tooltip":"" + }, + { + "name":"Contact friction", + "tooltip":"" + }, + { + "name":"Air resistance", + "tooltip":"" + }, + { + "name":"Rotation resistance", + "tooltip":"" + }, + { + "name":"Shape", + "display_data":[ + "Box", + "Circle", + "Custom" + ], + "tooltip":"" + }, + { + "name":"Texture", + "tooltip":"" + }, + { + "name":"Start shape", + "tooltip":"" + }, + { + "name":"Spawn", + "tooltip":"Make object spawn when start." + }, + { + "name":"Generate mesh", + "tooltip":"" + }, + { + "name":"Mesh expansion", + "tooltip":"" + } + ] + }, + "Node_WAV_File_Read":{ + "name":"WAV File In", + "outputs":[ + { + "name":"Data", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Sample rate", + "tooltip":"" + }, + { + "name":"Channels", + "tooltip":"" + }, + { + "name":"Duration (s)", + "tooltip":"" + }, + { + "name":"Loudness", + "tooltip":"" + } + ], + "tooltip":"Load wav audio file.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Sync lenght", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Radial":{ + "name":"Radial", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + } + ] + }, + "Node_Mesh_Warp":{ + "name":"Mesh Warp", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Mesh data", + "tooltip":"" + } + ], + "tooltip":"Wrap image by converting it to mesh, and using control points.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Sample", + "tooltip":"Amount of grid subdivision. Higher number means more grid, detail." + }, + { + "name":"Spring Force", + "tooltip":"" + }, + { + "name":"Mesh", + "tooltip":"" + }, + { + "name":"Diagonal Link", + "tooltip":"Include diagonal link to prevent drastic grid deformation." + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Link Strength", + "tooltip":"Link length preservation, setting it to 1 will prevent any stretching, contraction." + }, + { + "name":"Full Mesh", + "tooltip":"" + }, + { + "name":"Mesh Type", + "display_data":[ + "Grid", + "Custom" + ], + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Iterator_Input":{ + "name":"Input", + "outputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Loop entrance", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Display type", + "display_data":[ + "Default", + "Range", + "Rotation", + "Rotation range", + "Slider", + "Slider range", + "Padding", + "Vector", + "Vector range", + "Area", + "Enum button", + "Menu scroll" + ], + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Input type", + "display_data":[ + "Integer", + "Float", + "Boolean", + "Color", + "Surface", + "File Path", + "Curve", + "Text", + "Object", + "Node", + "3D object", + "Any", + "Path", + "Particle", + "Rigidbody Object", + "Fluid Domain", + "Struct", + "Strands", + "Mesh", + "Trigger" + ], + "tooltip":"" + }, + { + "name":"Enum label", + "tooltip":"" + }, + { + "name":"Vector size", + "display_data":[ + "2", + "3", + "4" + ], + "tooltip":"" + }, + { + "name":"Order", + "tooltip":"" + }, + { + "name":"Display preview gizmo", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + }, + { + "name":"Button Label", + "tooltip":"" + } + ] + }, + "Node_Feedback_Input":{ + "name":"Input", + "outputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Feedback loop", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Display type", + "display_data":[ + "Default", + "Range", + "Rotation", + "Rotation range", + "Slider", + "Slider range", + "Padding", + "Vector", + "Vector range", + "Area", + "Enum button", + "Menu scroll" + ], + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Input type", + "display_data":[ + "Integer", + "Float", + "Boolean", + "Color", + "Surface", + "File Path", + "Curve", + "Text", + "Object", + "Node", + "3D object", + "Any", + "Path", + "Particle", + "Rigidbody Object", + "Fluid Domain", + "Struct", + "Strands", + "Mesh", + "Trigger" + ], + "tooltip":"" + }, + { + "name":"Enum label", + "tooltip":"" + }, + { + "name":"Vector size", + "display_data":[ + "2", + "3", + "4" + ], + "tooltip":"" + }, + { + "name":"Order", + "tooltip":"" + }, + { + "name":"Display preview gizmo", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + }, + { + "name":"Button Label", + "tooltip":"" + } + ] + }, + "Node_String_Join":{ + "name":"Join Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text array", + "tooltip":"" + }, + { + "name":"Divider", + "tooltip":"" + } + ] + }, + "Node_Interpret_Number":{ + "name":"Interpret Number", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Number", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Greyscale", + "Gradient" + ], + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Gradient", + "tooltip":"" + } + ] + }, + "Node_Array_Get":{ + "name":"Array Get", + "outputs":[ + { + "name":"Value", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Overflow", + "display_data":[ + "Clamp", + "Loop", + "Ping Pong" + ], + "tooltip":"" + } + ] + }, + "Node_Sampler":{ + "name":"Sampler", + "outputs":[ + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"Sample color from an image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Sampling size", + "tooltip":"Size of square around the position to sample and average pixel color." + } + ] + }, + "Node_Unicode":{ + "name":"Unicode", + "outputs":[ + { + "name":"Character", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Unicode", + "tooltip":"" + } + ] + }, + "Node_Local_Analyze":{ + "name":"Local Analyze", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply non-linear operation (minimum, maximum) on each pixel locally.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Algorithm", + "display_data":[ + "Average (Blur)", + "Maximum", + "Minimum" + ], + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Shape", + "display_data":[ + "Square", + "Circle", + "Diamond" + ], + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Rigid_Global":{ + "name":"RigidSim Global", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"Gravity", + "tooltip":"" + } + ] + }, + "Node_Audio_Window":{ + "name":"Audio Window", + "outputs":[ + { + "name":"Windowed Array", + "tooltip":"" + } + ], + "tooltip":"Take a slice of an audio array based on the current frame.", + "inputs":[ + { + "name":"Audio Array", + "tooltip":"" + }, + { + "name":"Sample", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + } + ] + }, + "Node_Noise":{ + "name":"Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate white noise.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Color mode", + "display_data":[ + "Greyscale", + "RGB", + "HSV" + ], + "tooltip":"" + }, + { + "name":"Color R range", + "tooltip":"" + }, + { + "name":"Color G range", + "tooltip":"" + }, + { + "name":"Color B range", + "tooltip":"" + } + ] + }, + "Node_Condition":{ + "name":"Condition", + "outputs":[ + { + "name":"Result", + "tooltip":"" + }, + { + "name":"Bool", + "tooltip":"" + } + ], + "tooltip":"Given a condition, output one value if true, another value is false.", + "inputs":[ + { + "name":"Check value", + "tooltip":"" + }, + { + "name":"Condition", + "display_data":[ + "Equal", + "Not equal", + "Less", + "Less or equal", + "Greater", + "Greater or equal" + ], + "tooltip":"" + }, + { + "name":"Compare to", + "tooltip":"" + }, + { + "name":"True", + "tooltip":"" + }, + { + "name":"False", + "tooltip":"" + }, + { + "name":"Eval mode", + "display_data":[ + "Boolean", + "Number compare", + "Text compare" + ], + "tooltip":"" + }, + { + "name":"Boolean", + "tooltip":"" + }, + { + "name":"Text 1", + "tooltip":"" + }, + { + "name":"Text 2", + "tooltip":"" + } + ] + }, + "Node_Polar":{ + "name":"Polar", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert image to polar coordinate.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Path_Sample":{ + "name":"Sample Path", + "outputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + } + ], + "tooltip":"Sample a 2D position from a path", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Ratio", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Loop", + "Ping pong" + ], + "tooltip":"" + } + ] + }, + "Node_Blur_Radial":{ + "name":"Radial Blur", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blur image by rotating aroung a mid point.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Path_Shift":{ + "name":"Shift Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Move path along its normal.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Distance", + "tooltip":"" + } + ] + }, + "Node_Dither":{ + "name":"Dither", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Reduce color and use dithering to preserve original color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Palette", + "tooltip":"" + }, + { + "name":"Pattern", + "display_data":[ + "2 x 2 Bayer", + "4 x 4 Bayer", + "8 x 8 Bayer", + "Custom" + ], + "tooltip":"" + }, + { + "name":"Dither map", + "tooltip":"" + }, + { + "name":"Contrast", + "tooltip":"" + }, + { + "name":"Contrast map", + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Color", + "Alpha" + ], + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Grid_Noise":{ + "name":"Grid Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Texture sample", + "tooltip":"" + }, + { + "name":"Shift axis", + "display_data":[ + "x", + "y" + ], + "tooltip":"" + }, + { + "name":"Color mode", + "display_data":[ + "Greyscale", + "RGB", + "HSV" + ], + "tooltip":"" + }, + { + "name":"Color R range", + "tooltip":"" + }, + { + "name":"Color G range", + "tooltip":"" + }, + { + "name":"Color B range", + "tooltip":"" + } + ] + }, + "Node_Region_Fill":{ + "name":"Region Fill", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Fill connected pixel with the same color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Colors", + "tooltip":"" + }, + { + "name":"Fill Color", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Trail":{ + "name":"Trail", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Trail UV", + "tooltip":"" + } + ], + "tooltip":"Blend animation by filling in the pixel 'in-between' two or more frames.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Max life", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Max distance", + "tooltip":"Maximum distance to search for movement, set to -1 to search the entire image." + }, + { + "name":"Match color", + "tooltip":"Make trail track pixels of the same color, instead of the closet pixels." + }, + { + "name":"Blend color", + "tooltip":"Blend color between two pixel smoothly." + }, + { + "name":"Alpha over life", + "tooltip":"" + } + ] + }, + "__Node_3D_Cube":{ + "name":"3D Cube", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + }, + { + "name":"3D vertex", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Main texture", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render rotation", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Textures per face", + "tooltip":"" + }, + { + "name":"Textures 0", + "tooltip":"" + }, + { + "name":"Textures 1", + "tooltip":"" + }, + { + "name":"Textures 2", + "tooltip":"" + }, + { + "name":"Textures 3", + "tooltip":"" + }, + { + "name":"Textures 4", + "tooltip":"" + }, + { + "name":"Textures 5", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + } + ] + }, + "Node_Array_Set":{ + "name":"Array Set", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array", + "tooltip":"" + }, + { + "name":"Index", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_VFX_Attract":{ + "name":"Attract", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", + "tooltip":"" + } + ] + }, + "Node_Iterator_Each_Length":{ + "name":"Array Length", + "outputs":[ + { + "name":"Length", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_PB_Box_Inset":{ + "name":"Inset", + "outputs":[ + { + "name":"pBox Inset", + "tooltip":"" + }, + { + "name":"pBox Frame", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Layer Shift", + "tooltip":"" + }, + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Inset", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Padding", + "Ratio" + ], + "tooltip":"" + }, + { + "name":"Width", + "tooltip":"" + }, + { + "name":"Height", + "tooltip":"" + }, + { + "name":"Horizontal alignment", + "tooltip":"" + }, + { + "name":"Vertical alignment", + "tooltip":"" + } + ] + }, + "Node_Fluid_Apply_Velocity":{ + "name":"Apply Velocity", + "outputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Fluid Domain", + "tooltip":"" + }, + { + "name":"Brush", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Velocity", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_ASE_File_Read":{ + "name":"ASE File In", + "outputs":[ + { + "name":"Output", + "tooltip":"" + }, + { + "name":"Content", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Palette", + "tooltip":"" + } + ], + "tooltip":"Load Aseprite file with support for layers, tags.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Generate layers", + "tooltip":"" + }, + { + "name":"Current tag", + "tooltip":"" + }, + { + "name":"Use cel dimension", + "tooltip":"" + } + ] + }, + "Node_Array_Shuffle":{ + "name":"Shuffle Array", + "outputs":[ + { + "name":"Shuffled array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Array in", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Stack":{ + "name":"Stack", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Direction", + "display_data":[ + 798.0, + 798.0, + 798.0, + 798.0 + ], + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Highlight", + "tooltip":"" + }, + { + "name":"Highlight Color", + "tooltip":"" + }, + { + "name":"Invert", + "tooltip":"" + } + ] + }, + "Node_Color":{ + "name":"Color", + "outputs":[ + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Color", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Trapezoid":{ + "name":"Trapezoid", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Axis", + "display_data":[ + "Horizontal", + "Vertical" + ], + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Symmetric", + "Independent" + ], + "tooltip":"" + }, + { + "name":"Bevel", + "tooltip":"" + }, + { + "name":"Bevel 1", + "tooltip":"" + }, + { + "name":"Bevel 2", + "tooltip":"" + }, + { + "name":"Invert", + "tooltip":"" + } + ] + }, + "Node_Text":{ + "name":"Draw Text", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Draw text on an image.", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Font", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Anti-Aliasing ", + "tooltip":"" + }, + { + "name":"Character range", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Fixed dimension", + "tooltip":"" + }, + { + "name":"Horizontal alignment", + "display_data":[ + 596.0, + 596.0, + 596.0 + ], + "tooltip":"" + }, + { + "name":"Vertical alignment", + "display_data":[ + 734.0, + 734.0, + 734.0 + ], + "tooltip":"" + }, + { + "name":"Output dimension", + "display_data":[ + "Fixed", + "Dynamic" + ], + "tooltip":"" + }, + { + "name":"Padding", + "tooltip":"" + } + ] + }, + "Node_Iterator_Each_Output":{ + "name":"Output", + "outputs":[ + { + "name":"Preview", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Value out", + "tooltip":"" + } + ] + }, + "Node_PB_Fx_Intersect":{ + "name":"Intersect", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Surface", + "tooltip":"" + } + ] + }, + "Node_VFX_Vortex":{ + "name":"Vortex", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", + "tooltip":"" + }, + { + "name":"Attraction force", + "tooltip":"" + }, + { + "name":"Clockwise", + "tooltip":"" + } + ] + }, + "Node_Array_Range":{ + "name":"Array Range", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"Create array of numbers by setting start, end and step length.", + "inputs":[ + { + "name":"Start", + "tooltip":"" + }, + { + "name":"End", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + } + ] + }, + "Node_Number":{ + "name":"Number", + "outputs":[ + { + "name":"Number", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Integer", + "tooltip":"" + }, + { + "name":"Display", + "display_data":[ + "Number", + "Slider", + "Rotator" + ], + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + } + ] + }, + "__Node_3D_Transform":{ + "name":"3D Transform", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"3D scene", + "tooltip":"" + }, + { + "name":"Normal pass", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Object position", + "tooltip":"" + }, + { + "name":"Object rotation", + "tooltip":"" + }, + { + "name":"Object scale", + "tooltip":"" + }, + { + "name":"Render position", + "tooltip":"" + }, + { + "name":"Render scale", + "tooltip":"" + }, + { + "name":"Light direction", + "tooltip":"" + }, + { + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"3D object", + "tooltip":"" + }, + { + "name":"Projection", + "display_data":[ + "Orthographic", + "Perspective" + ], + "tooltip":"" + }, + { + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", + "tooltip":"" + } + ] + }, + "Node_Blur_Contrast":{ + "name":"Contrast Blur", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blur only pixel of a similiar color.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"Brightness different to be blur together." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Scatter_Points":{ + "name":"Scatter Points", + "outputs":[ + { + "name":"Points", + "tooltip":"" + } + ], + "tooltip":"Generate array of vector 2 points for scattering.", + "inputs":[ + { + "name":"Point area", + "tooltip":"" + }, + { + "name":"Point distribution", + "display_data":[ + "Area", + "Border", + "Map" + ], + "tooltip":"" + }, + { + "name":"Scatter", + "display_data":[ + "Uniform", + "Random" + ], + "tooltip":"" + }, + { + "name":"Point amount", + "tooltip":"Amount of particle spawn in that frame." + }, + { + "name":"Distribution map", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Fixed position", + "tooltip":"Fix point position, and only select point in the area." + }, + { + "name":"Reference dimension", + "tooltip":"" + } + ] + }, + "Node_Path_Array":{ + "name":"Path Array", + "outputs":[ + { + "name":"Path array", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Image_Animated":{ + "name":"Animation", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Load multiple images from your computer as animation.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Padding", + "tooltip":"" + }, + { + "name":"Stretch frame", + "tooltip":"Stretch animation speed to match project length." + }, + { + "name":"Animation speed", + "tooltip":"" + }, + { + "name":"Loop modes", + "display_data":[ + "Loop", + "Ping pong", + "Hold last frame", + "Hide" + ], + "tooltip":"" + }, + { + "name":"Set animation length to match", + "tooltip":"" + }, + { + "name":"Custom frame order", + "tooltip":"" + }, + { + "name":"Frame", + "tooltip":"" + } + ] + }, + "Node_3D_Repeat":{ + "name":"3D Repeat", + "outputs":[ + { + "name":"Scene", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Objects", + "tooltip":"" + }, + { + "name":"Object Mode", + "display_data":[ + "Duplicate", + "Array" + ], + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Starting Position", + "tooltip":"" + }, + { + "name":"Starting Rotation", + "tooltip":"" + }, + { + "name":"Starting Scale", + "tooltip":"" + }, + { + "name":"Shift Position", + "tooltip":"" + }, + { + "name":"Shift Rotation", + "tooltip":"" + }, + { + "name":"Shift Scale", + "tooltip":"" + } + ] + }, + "Node_String_Merge":{ + "name":"Combine Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text A", + "tooltip":"" + }, + { + "name":"Text B", + "tooltip":"" + } + ] + }, + "Node_Armature":{ + "name":"Armature Create", + "outputs":[ + { + "name":"Armature", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Cache":{ + "name":"Cache", + "outputs":[ + { + "name":"Cache surface", + "tooltip":"" + } + ], + "tooltip":"Store current animation. Cache persisted between save.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + } + ] + }, + "Node_3D_Light_Directional":{ + "name":"Directional Light", + "outputs":[ + { + "name":"Light", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Intensity", + "tooltip":"" + }, + { + "name":"Cast Shadow", + "tooltip":"" + }, + { + "name":"Shadow Map Size", + "tooltip":"" + }, + { + "name":"Shadow Map Scale", + "tooltip":"" + }, + { + "name":"Shadow Bias", + "tooltip":"" + } + ] + }, + "Node_Print":{ + "name":"Print", + "outputs":[ + ], + "tooltip":"Display text to notification.", + "inputs":[ + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Text", + "tooltip":"" + } + ] + }, + "Node_PCX_fn_var":{ + "name":"Fn Variable", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Default Value", + "tooltip":"" + } + ] + }, + "Node_9Slice":{ + "name":"Nine Slice", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Cut image into 3x3 parts, and scale\/repeat only the middle part.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Splice", + "tooltip":"" + }, + { + "name":"Filling modes", + "display_data":[ + "Scale", + "Repeat" + ], + "tooltip":"" + } + ] + }, + "Node_VFX_Group":{ + "name":"VFX", + "outputs":[ + ], + "tooltip":"Create VFX group, which generate particles that can be manipulated using different force nodes.", + "inputs":[ + ] + }, + "Node_CSV_File_Write":{ + "name":"CSV File Out", + "outputs":[ + ], + "tooltip":"Save array as .csv file.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Content", + "tooltip":"" + } + ] + }, + "Node_String_Trim":{ + "name":"Trim Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Head", + "tooltip":"" + }, + { + "name":"Tail", + "tooltip":"" + }, + { + "name":"Trim", + "display_data":[ + "Character", + "Word" + ], + "tooltip":"" + }, + { + "name":"Mode", + "display_data":[ + "Counter", + "Progress" + ], + "tooltip":"Set to progress to use ratio, where 0 means no change and 1 means the entire length of the text." + } + ] + }, + "Node_Vector_Cross_3D":{ + "name":"Cross product 3D", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Point 1", + "tooltip":"" + }, + { + "name":"Point 2", + "tooltip":"" + } + ] + }, + "Node_Noise_Tri":{ + "name":"Triangular Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Texture sample", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"" + } + ] + }, + "Node_Noise_Simplex":{ + "name":"Simplex Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Iteration", + "tooltip":"" + }, + { + "name":"Color mode", + "display_data":[ + "Greyscale", + "RGB", + "HSV" + ], + "tooltip":"" + }, + { + "name":"Color R range", + "tooltip":"" + }, + { + "name":"Color G range", + "tooltip":"" + }, + { + "name":"Color B range", + "tooltip":"" + } + ] + }, + "Node_PB_Draw_Semi_Ellipse":{ + "name":"Semi-Ellipse", + "outputs":[ + { + "name":"pBox", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", + "tooltip":"" + }, + { + "name":"Side", + "display_data":[ + 776.0, + 776.0, + 776.0, + 776.0 + ], + "tooltip":"" + } + ] + }, + "Node_Iterate_Each":{ + "name":"Loop Array", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"Create group that iterate to each member in an array.", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_Equation":{ + "name":"Equation", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"Evaluate string of equation. With an option for setting variables.", + "inputs":[ + { + "name":"Equation", + "tooltip":"" + } + ] + }, + "Node_Gradient":{ + "name":"Draw Gradient", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create image from gradient.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Gradient", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Linear", + "Circular", + "Radial" + ], + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Radius", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Center", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + } + ] + }, + "Node_Path_L_System":{ + "name":"L system", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Length", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Starting position", + "tooltip":"" + }, + { + "name":"Iteration", + "tooltip":"" + }, + { + "name":"Starting rule", + "tooltip":31 + }, + { + "name":"End replacement", + "tooltip":"Replace symbol of the last generated rule, for example a=F to replace all a with F. Use comma to separate different replacements." + }, + { + "name":"Starting angle", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Transform":{ + "name":"Transform", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Move, rotate, and scale image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Output dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Anchor", + "tooltip":"" + }, + { + "name":"Relative anchor", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Render Mode", + "display_data":[ + "Normal", + "Tile", + "Wrap" + ], + "tooltip":"" + }, + { + "name":"Rotate by velocity", + "tooltip":"Make the surface rotates to follow its movement." + }, + { + "name":"Output dimension type", + "display_data":[ + "Same as input", + "Constant", + "Relative to input", + "Scale" + ], + "tooltip":"" + }, + { + "name":"Round position", + "tooltip":"Round position to the closest integer value to avoid jittering." + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Strand_Force_Apply":{ + "name":"Strand Force Apply", + "outputs":[ + { + "name":"Strand", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Strand", + "tooltip":"" + }, + { + "name":"Shape", + "display_data":[ + "Point", + "Band" + ], + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Direction", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Turbulence", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Turbulence frequency", + "tooltip":"" + }, + { + "name":"Turbulence detail", + "tooltip":"" + } + ] + }, + "Node_String_Regex_Match":{ + "name":"RegEx Match", + "outputs":[ + { + "name":"Results", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + }, + { + "name":"Regex", + "tooltip":"" + } + ] + }, + "Node_Tunnel_Out":{ + "name":"Tunnel Out", + "outputs":[ + { + "name":"Value out", + "tooltip":"" + } + ], + "tooltip":"Receive value from tunnel in of the same key.", + "inputs":[ + { + "name":"Name", + "tooltip":"" + } + ] + }, + "Node_Display_Image":{ + "name":"Display Image", + "outputs":[ + ], + "tooltip":"Display image on the graph.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + } + ] + }, + "Node_Iterator_Sort_Input":{ + "name":"Sort Input", + "outputs":[ + { + "name":"Value in", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Value in", + "tooltip":"" + } + ] + }, + "__Node_3D_Export":{ + "name":"3D Export", + "outputs":[ + ], + "tooltip":"", + "inputs":[ + { + "name":"Vertex data", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"Export location without '.obj' extension." + }, + { + "name":"Export texture", + "tooltip":"" + } + ] + }, + "Node_Glow":{ + "name":"Glow", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply glow to the border of the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Border", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_To_Text":{ + "name":"To Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_Time_Remap":{ + "name":"Time Remap", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Remap image using texture as time map. Where brighter pixel means using pixel from an older frame.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Map", + "tooltip":"" + }, + { + "name":"Max life", + "tooltip":"" + }, + { + "name":"Loop", + "tooltip":"" + } + ] + }, + "Node_De_Corner":{ + "name":"De-Corner", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Attempt to remove single pixel corner from the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Tolerance", + "tooltip":"" + } + ] + }, + "Node_Path_Trim":{ + "name":"Trim Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + } + ] + }, + "Node_Render_Sprite_Sheet":{ + "name":"Render Spritesheet", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Atlas Data", + "tooltip":"" + } + ], + "tooltip":"Create spritesheet from image array or animation.", + "inputs":[ + { + "name":"Sprites", + "tooltip":"" + }, + { + "name":"Sprite set", + "display_data":[ + "Animation", + "Sprite array" + ], + "tooltip":"" + }, + { + "name":"Frame step", + "tooltip":"Number of frames until next sprite. Can be seen as (Step - 1) frame skip." + }, + { + "name":"Packing type", + "display_data":[ + "Horizontal", + "Vertical", + "Grid" + ], + "tooltip":"" + }, + { + "name":"Grid column", + "tooltip":"" + }, + { + "name":"Alignment", + "display_data":[ + "First", + "Middle", + "Last" + ], + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + }, + { + "name":"Padding", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"Starting\/ending frames, set end to 0 to default to last frame." + } + ] + }, + "Node_VFX_Repel":{ + "name":"Repel", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", + "tooltip":"" + } + ] + }, + "Node_Compare":{ + "name":"Compare", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "Equal", + "Not equal", + "Greater", + "Greater or equal", + "Lesser", + "Lesser or equal" + ], + "tooltip":"" + }, + { + "name":"a", + "tooltip":"" + }, + { + "name":"b", + "tooltip":"" + } + ] + }, + "Node_Frame":{ + "name":"Frame", + "outputs":[ + ], + "tooltip":"Create frame surrounding nodes.", + "inputs":[ + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + } + ] + }, + "Node_Sequence_Anim":{ + "name":"Array to Anim", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Convert array of images into animation.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Speed", + "tooltip":"" + }, + { + "name":"Sequence", + "tooltip":"" + }, + { + "name":"Overflow", + "display_data":[ + "Hold", + "Loop", + "Ping Pong", + "Empty" + ], + "tooltip":"" + } + ] + }, + "Node_String":{ + "name":"Text", + "outputs":[ + { + "name":"Text", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Text", + "tooltip":"" + } + ] + }, + "Node_Rigid_Activate":{ + "name":"Activate Physics", + "outputs":[ + { + "name":"Object", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Object", + "tooltip":"" + }, + { + "name":"Physics activated", + "tooltip":"" + } + ] + }, + "Node_3D_Mesh_Sphere_Ico":{ + "name":"3D Icosphere", + "outputs":[ + { + "name":"Mesh", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Subdivision", + "tooltip":"" + }, + { + "name":"Material", + "tooltip":"" + }, + { + "name":"Smooth Normal", + "tooltip":"" + } + ] + }, + "Node_Combine_HSV":{ + "name":"HSV Combine", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Combine 4 image in to one. Each image use to control HSVA channel.", + "inputs":[ + { + "name":"Hue", + "tooltip":"" + }, + { + "name":"Saturation", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + } + ] + }, + "Node_Checker":{ + "name":"Checker", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Genearte checkerboard pattern.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Amount", + "tooltip":"" + }, + { + "name":"Angle", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Color 1", + "tooltip":"" + }, + { + "name":"Color 2", + "tooltip":"" + } + ] + }, + "Node_Rigid_Variable":{ + "name":"Rigidbody Variable", + "outputs":[ + { + "name":"Positions", + "tooltip":"" + }, + { + "name":"Scales", + "tooltip":"" + }, + { + "name":"Rotations", + "tooltip":"" + }, + { + "name":"Blends", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Velocity", + "tooltip":"" + }, + { + "name":"Center of mass", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Object", + "tooltip":"" + } + ] + }, + "Node_VFX_Override":{ + "name":"VFX Override", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Positions", + "tooltip":"" + }, + { + "name":"Rotations", + "tooltip":"" + }, + { + "name":"Scales", + "tooltip":"" + }, + { + "name":"Blend", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Surface", + "tooltip":"" + } + ] + }, + "Node_Iterate_Filter":{ + "name":"Filter Array", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"Filter array using condition.", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_Armature_Pose":{ + "name":"Armature Pose", + "outputs":[ + { + "name":"Armature", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Armature", + "tooltip":"" + } + ] + }, + "Node_Shadow":{ + "name":"Shadow", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Apply shadow behind the image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Shift", + "tooltip":"" + }, + { + "name":"Grow", + "tooltip":"" + }, + { + "name":"Blur", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Color_replace":{ + "name":"Replace Palette", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Replace color that match one palette with another palette.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Palette from", + "tooltip":"Color to be replaced." + }, + { + "name":"Palette to", + "tooltip":"Palette to be replaced to." + }, + { + "name":"Threshold", + "tooltip":"" + }, + { + "name":"Set others to black", + "tooltip":"Set pixel that doesn't match any color in 'palette from' to black." + }, + { + "name":"Multiply alpha", + "tooltip":"" + }, + { + "name":"Hard replace", + "tooltip":"Completely override pixel with new color instead of blending between it." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Image_gif":{ + "name":"Image GIF", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Load animated .gif from your computer.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Set animation length to gif", + "tooltip":"" + }, + { + "name":"Output as array", + "tooltip":"" + }, + { + "name":"Loop modes", + "display_data":[ + "Loop", + "Ping pong", + "Hold last frame", + "Hide" + ], + "tooltip":"" + }, + { + "name":"Start frame", + "tooltip":"" + }, + { + "name":"Custom frame order", + "tooltip":"" + }, + { + "name":"Frame", + "tooltip":"" + }, + { + "name":"Animation speed", + "tooltip":"" + } + ] + }, + "Node_Shadow_Cast":{ + "name":"Cast Shadow", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Light mask", + "tooltip":"" + } + ], + "tooltip":"Apply light that create shadow using shadow mask.", + "inputs":[ + { + "name":"Background", + "tooltip":"" + }, + { + "name":"Solid", + "tooltip":"" + }, + { + "name":"Light Position", + "tooltip":"" + }, + { + "name":"Soft light radius", + "tooltip":"" + }, + { + "name":"Light density", + "tooltip":"" + }, + { + "name":"Light type", + "display_data":[ + "Point", + "Sun" + ], + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Light radius", + "tooltip":"" + }, + { + "name":"Render solid", + "tooltip":"" + }, + { + "name":"Use BG color", + "tooltip":"If checked, background color will be used as shadow caster." + }, + { + "name":"BG threshold", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Banding", + "tooltip":"" + }, + { + "name":"Attenuation", + "display_data":[ + "Quadratic", + "Invert quadratic", + "Linear" + ], + "tooltip":"Control how light fade out over distance." + }, + { + "name":"Ambient occlusion", + "tooltip":"" + }, + { + "name":"Ambient occlusion strength", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Strand_Update":{ + "name":"Strand Update", + "outputs":[ + { + "name":"Strand", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Strand", + "tooltip":"" + }, + { + "name":"Step", + "tooltip":"" + } + ] + }, + "Node_Logic":{ + "name":"Logic Opr", + "outputs":[ + { + "name":"Result", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Type", + "display_data":[ + "And", + "Or", + "Not", + "Nand", + "Nor", + "Xor" + ], + "tooltip":"" + }, + { + "name":"a", + "tooltip":"" + } + ] + }, + "Node_SDF":{ + "name":"SDF", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create signed distance field using jump flooding algorithm.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + }, + { + "name":"Side", + "display_data":[ + "Inside", + "Outside", + "Both" + ], + "tooltip":"" + }, + { + "name":"Max distance", + "tooltip":"" + } + ] + }, + "Node_Stack":{ + "name":"Stack", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Atlas data", + "tooltip":"" + } + ], + "tooltip":"Place image next to each other linearly, or on top of each other.", + "inputs":[ + { + "name":"Axis", + "display_data":[ + "Horizontal", + "Vertical", + "On top" + ], + "tooltip":"" + }, + { + "name":"Align", + "display_data":[ + "Start", + "Middle", + "End" + ], + "tooltip":"" + }, + { + "name":"Spacing", + "tooltip":"" + } + ] + }, + "Node_3D_Scene":{ + "name":"3D Scene", + "outputs":[ + { + "name":"Scene", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Displace":{ + "name":"Displace", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Distort image using another image as a map.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Displace map", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"Vector to displace pixel by." + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Mid value", + "tooltip":"Brightness value to be use as a basis for 'no displacement'." + }, + { + "name":"Color data", + "display_data":[ + "Ignore", + "Vector", + "Angle" + ], + "tooltip":"Use color data set extra information.\r\n - Ignore: Don't use color data.\r\n - Vector: Use red as X displacement, green as Y displacement.\r\n - Angle: Use red as angle, green as distance." + }, + { + "name":"Iterate", + "tooltip":"If not set, then strength value is multiplied directly to the displacement.\r\nIf set, then strength value control how many times the effect applies on itself." + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] }, "Node_Strand_Gravity":{ "name":"Strand Gravity", @@ -2017,6 +12298,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Strand", @@ -2030,52 +12312,136 @@ "name":"Direction", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Iterator_Output":{ - "name":"Output", - "outputs":[ - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - }, - { - "name":"Loop exit", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PCX_Condition":{ - "name":"Condition", + "Node_Path_Plot":{ + "name":"Path plot", "outputs":[ { - "name":"PCX", + "name":"Path", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Condition", + "name":"Output scale", "tooltip":"" }, { - "name":"True", + "name":"Coordinate", + "display_data":[ + "Cartesian", + "Polar" + ], "tooltip":"" }, { - "name":"False", + "name":"Equation type", + "display_data":[ + "x function", + "y function", + "parametric" + ], + "tooltip":"" + }, + { + "name":"0 function", + "tooltip":"" + }, + { + "name":"1 function", + "tooltip":"" + }, + { + "name":"Origin", + "tooltip":"" + }, + { + "name":"Range", + "tooltip":"" + }, + { + "name":"Input scale", + "tooltip":"" + }, + { + "name":"Input shift", + "tooltip":"" + } + ] + }, + "Node_Rigid_Override":{ + "name":"Rigidbody Override", + "outputs":[ + { + "name":"Object", "tooltip":"" } ], - "tooltip":"" + "tooltip":"", + "inputs":[ + { + "name":"Object", + "tooltip":"" + }, + { + "name":"Positions", + "tooltip":"" + }, + { + "name":"Scales", + "tooltip":"" + }, + { + "name":"Rotations", + "tooltip":"" + }, + { + "name":"Blends", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Velocity", + "tooltip":"" + } + ] + }, + "Node_Scale_Algo":{ + "name":"Scale Algorithm", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Scale image using scale2x, scale3x algorithm.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Algorithm", + "display_data":[ + "Scale2x", + "Scale3x" + ], + "tooltip":"" + }, + { + "name":"Tolerance", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] }, "Node_Strand_Render_Texture":{ "name":"Strand Render Texture", @@ -2085,6 +12451,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Dimension", @@ -2110,24 +12477,36 @@ "name":"Seed", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Chromatic_Aberration":{ - "name":"Chromatic Aberration", + "Node_VFX_Accelerate":{ + "name":"Accelerate", "outputs":[ { - "name":"Surface out", + "name":"Particles", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Surface in", + "name":"Particles", "tooltip":"" }, { - "name":"Center", + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", "tooltip":"" }, { @@ -2135,87 +12514,114 @@ "tooltip":"" }, { - "name":"Active", + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", "tooltip":"" } - ], - "tooltip":"Apply chromatic aberration effect to the image." + ] }, - "Node_Warp":{ - "name":"Warp", + "Node_Strand_Length_Adjust":{ + "name":"Strand Length Adjust", "outputs":[ { - "name":"Surface out", + "name":"Strand", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Surface in", + "name":"Strand", "tooltip":"" }, { - "name":"Top left", + "name":"Shape", + "display_data":[ + "Point", + "Band" + ], "tooltip":"" }, { - "name":"Top right", + "name":"Position", "tooltip":"" }, { - "name":"Bottom left", + "name":"Range", "tooltip":"" }, { - "name":"Bottom right", + "name":"Direction", "tooltip":"" }, { - "name":"Active", + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Type", + "display_data":[ + "Increase", + "Decrease" + ], + "tooltip":"" + }, + { + "name":"Strength", "tooltip":"" } - ], - "tooltip":"Warp image by freely moving the corners." + ] }, - "Node_Websocket_Receiver":{ - "name":"Websocket Receiver", + "Node_VFX_Variable":{ + "name":"VFX Variable", "outputs":[ { - "name":"Data", + "name":"Positions", "tooltip":"" }, { - "name":"Receive data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Port", + "name":"Scales", "tooltip":"" }, { - "name":"Active", + "name":"Rotations", "tooltip":"" - } - ], - "tooltip":"Create websocket server to receive data from the network." - }, - "Node_Surface_To_Buffer":{ - "name":"Buffer from Surface", - "outputs":[ + }, { - "name":"Buffer", + "name":"Blending", "tooltip":"" - } - ], - "inputs":[ + }, + { + "name":"Alpha", + "tooltip":"" + }, + { + "name":"Life", + "tooltip":"" + }, + { + "name":"Max life", + "tooltip":"" + }, { "name":"Surface", "tooltip":"" + }, + { + "name":"Velocity", + "tooltip":"" } ], - "tooltip":"Create buffer from surface." + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + } + ] }, "Node_Fluid_Domain_Queue":{ "name":"Queue Domain", @@ -2225,45 +12631,26 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ - ], - "tooltip":"" + ] }, - "Node_HLSL":{ - "name":"HLSL", + "Node_3D_Mesh_Plane":{ + "name":"3D Plane", "outputs":[ { - "name":"Surface", + "name":"Mesh", "tooltip":"" } ], + "tooltip":"Put 2D image on a plane in 3D space.", "inputs":[ { - "name":"Vertex", + "name":"Position", "tooltip":"" }, { - "name":"Fragment", - "tooltip":"" - }, - { - "name":"Base Texture", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Scale":{ - "name":"Scale", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", + "name":"Rotation", "tooltip":"" }, { @@ -2271,47 +12658,19 @@ "tooltip":"" }, { - "name":"Mode", + "name":"Material", + "tooltip":"" + }, + { + "name":"Normal", "display_data":[ - "Upscale", - "Scale to fit" + "X", + "Y", + "Z" ], "tooltip":"" - }, - { - "name":"Target dimension", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" } - ], - "tooltip":"Simple node for scaling image." - }, - "Node_Array_Copy":{ - "name":"Array Copy", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Starting Index", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - } - ], - "tooltip":"" + ] }, "Node_VFX_Spawner":{ "name":"Spawner", @@ -2333,6 +12692,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Particle sprite", @@ -2531,1133 +12891,38 @@ "name":"Step interval", "tooltip":"How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames." } - ], - "tooltip":"" + ] }, - "Node_Area":{ - "name":"Area", - "outputs":[ - { - "name":"Area", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Postion", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Rectangle", - "Elipse" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Math":{ - "name":"Math", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "Add", - "Subtract", - "Multiply", - "Divide", - "Power", - "Root", - "Sin", - "Cos", - "Tan", - "Modulo", - "Floor", - "Ceil", - "Round", - "Lerp", - "Abs" - ], - "tooltip":"" - }, - { - "name":"a", - "tooltip":"" - }, - { - "name":"b", - "tooltip":"" - }, - { - "name":"Degree angle", - "tooltip":"" - }, - { - "name":"To integer", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Shift":{ - "name":"Array Shift", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Rate_Remap":{ - "name":"Rate Remap", - "outputs":[ - { - "name":"Surface", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"Framerate", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Remap animation to a new framerate." - }, - "Node_Palette_Sort":{ - "name":"Sort Palette", - "outputs":[ - { - "name":"Sorted palette", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Palette in", - "tooltip":"" - }, - { - "name":"Order", - "display_data":[ - "Brightness", - -1.0, - "Hue (HSV)", - "Saturation (SHV)", - "Value (VHS)", - -1.0, - "Red (RGB)", - "Green (GBR)", - "Blue (BRG)", - -1.0, - "Custom" - ], - "tooltip":"" - }, - { - "name":"Reverse", - "tooltip":"" - }, - { - "name":"Sort Order", - "tooltip":"Compose sorting algorithm using string.\r\n - RGB: Red\/Green\/Blur channel\r\n - HSV: Hue\/Saturation\/Value\r\n - L: Brightness\r\n - Use small letter for ascending, capital letter for descending order." - } - ], - "tooltip":"" - }, - "__Node_3D_Cylinder":{ - "name":"3D Cylinder", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Sides", - "tooltip":"" - }, - { - "name":"Thickness", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render rotation", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Textures top", - "tooltip":"" - }, - { - "name":"Textures bottom", - "tooltip":"" - }, - { - "name":"Textures side", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Taper", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Iterator_Sort_Output":{ - "name":"Sort Output", - "outputs":[ - ], - "inputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Stripe":{ - "name":"Stripe", + "Node_Shape":{ + "name":"Shape", "outputs":[ { "name":"Surface out", "tooltip":"" } ], + "tooltip":"Draw simple shapes using signed distance field.", "inputs":[ { "name":"Dimension", "tooltip":"" }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Blend", - "tooltip":"Smoothly blend between each stripe." - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Random", - "tooltip":"" - }, - { - "name":"Random color", - "tooltip":"" - }, - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Color 1", - "tooltip":"" - }, - { - "name":"Color 2", - "tooltip":"" - } - ], - "tooltip":"Generate stripe pattern." - }, - "Node_RGB_Channel":{ - "name":"RGBA Extract", - "outputs":[ - { - "name":"Red", - "tooltip":"" - }, - { - "name":"Green", - "tooltip":"" - }, - { - "name":"Blue", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface In", - "tooltip":"" - }, - { - "name":"Output Type", - "display_data":[ - "Channel value", - "Greyscale" - ], - "tooltip":"" - }, - { - "name":"Keep Alpha", - "tooltip":"" - } - ], - "tooltip":"Extract RGBA channel on an image, each channel becomes its own image." - }, - "Node_String_Regex_Match":{ - "name":"RegEx Match", - "outputs":[ - { - "name":"Results", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Regex", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Threshold":{ - "name":"Threshold", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - }, - { - "name":"Brightness Threshold", - "tooltip":"" - }, - { - "name":"Brightness Smoothness", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Alpha Threshold", - "tooltip":"" - }, - { - "name":"Alpha Smoothness", - "tooltip":"" - } - ], - "tooltip":"Set a threshold where pixel darker will becomes black, and brighter to white. Also works with alpha." - }, - "Node_Gradient_Palette":{ - "name":"Palette to Gradient", - "outputs":[ - { - "name":"Gradient", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Custom positions", - "tooltip":"" - }, - { - "name":"Positions", - "tooltip":"Array of number indicating color position (0 - 1)." - }, - { - "name":"Blending", - "display_data":[ - "RGB", - "HSV", - "Hard" - ], - "tooltip":"" - } - ], - "tooltip":"Create gradient from palette." - }, - "Node_3D_Mesh_Cone":{ - "name":"3D Cone", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Side", - "tooltip":"" - }, - { - "name":"Material Bottom", - "tooltip":"" - }, - { - "name":"Material Side", - "tooltip":"" - }, - { - "name":"Smooth Side", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Gradient_Shift":{ - "name":"Gradient Shift", - "outputs":[ - { - "name":"Gradient", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Wrap", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - } - ], - "tooltip":"Move gradients keys." - }, - "Node_PCX_fn_Surface_Height":{ - "name":"Surface Height", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Box_Mirror":{ - "name":"Mirror", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Layer Shift", - "tooltip":"" - }, - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Horizontal", - "tooltip":"" - }, - { - "name":"Vertical", - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Displace":{ - "name":"3D Displace", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - }, - { - "name":"Displacement map", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Blur_Simple":{ - "name":"Simple Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Blur mask", - "tooltip":"" - }, - { - "name":"Override color", - "tooltip":"Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel." - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur image using simpler algorithm. Allowing for variable blur strength." - }, - "Node_Blur":{ - "name":"Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Override color", - "tooltip":"Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel." - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur image smoothly." - }, - "Node_Edge_Detect":{ - "name":"Edge Detect", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Algorithm", - "display_data":[ - "Sobel", - "Prewitt", - "Laplacian", - "Neighbor max diff" - ], - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Edge detect by applying Sobel, Prewitt, or Laplacian kernel." - }, - "Node_To_Text":{ - "name":"To Text", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Group_Output":{ - "name":"Output", - "outputs":[ - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Box_Contract":{ - "name":"Contract", - "outputs":[ - { - "name":"pBox Center", - "tooltip":"" - }, - { - "name":"pBox Side", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Layer Shift", - "tooltip":"" - }, - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Ratio", - "Fix" - ], - "tooltip":"" - }, - { - "name":"Ratio", - "tooltip":"" - }, - { - "name":"Fix Width", - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "X", - "Y" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_VFX_Repel":{ - "name":"Repel", - "outputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Struct_JSON_Parse":{ - "name":"Parse JSON", - "outputs":[ - { - "name":"Struct", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"JSON string", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Colorize":{ - "name":"Colorize", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Gradient shift", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Multiply alpha", - "tooltip":"" - } - ], - "tooltip":"Map brightness of a pixel to a color from a gradient." - }, - "Node_Canvas":{ - "name":"Canvas", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Brush size", - "tooltip":"" - }, - { - "name":"Fill threshold", - "tooltip":"" - }, - { - "name":"Fill type", - "display_data":[ - "4 connect", - "8 connect", - "Entire canvas" - ], - "tooltip":"" - }, - { - "name":"Draw preview overlay", - "tooltip":"" - }, - { - "name":"Brush", - "tooltip":"" - }, - { - "name":"Surface amount", - "tooltip":"" - }, { "name":"Background", "tooltip":"" }, { - "name":"Background alpha", - "tooltip":"" - }, - { - "name":"Render background", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - } - ], - "tooltip":"Draw on surface using brush, eraser, etc." - }, - "Node_Texture_Remap":{ - "name":"Texture Remap", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"RG Map", - "tooltip":"Displacement map where red retermine the X position, and green determine the Y position." - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Remap image using texture map. Where red channel control x position and green channel control y position." - }, - "Node_Perlin":{ - "name":"Perlin Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", + "name":"Shape", + "display_data":[ + "Rectangle", + "Ellipse", + "Regular polygon", + "Star", + "Arc", + "Teardrop", + "Cross", + "Leaf" + ], "tooltip":"" }, { @@ -3665,819 +12930,35 @@ "tooltip":"" }, { - "name":"Scale", + "name":"Sides", "tooltip":"" }, { - "name":"Iteration", + "name":"Inner radius", "tooltip":"" }, { - "name":"Tile", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Color mode", - "display_data":[ - "Greyscale", - "RGB", - "HSV" - ], - "tooltip":"" - }, - { - "name":"Color R range", - "tooltip":"" - }, - { - "name":"Color G range", - "tooltip":"" - }, - { - "name":"Color B range", - "tooltip":"" - } - ], - "tooltip":"Generate perlin noise." - }, - "Node_PB_Draw_Line":{ - "name":"Line", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - }, - { - "name":"Direction", - "display_data":[ - 879.0, - 879.0, - 879.0, - 879.0 - ], - "tooltip":"" - }, - { - "name":"Thickness", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Strand_Render":{ - "name":"Strand Render", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Strand", - "tooltip":"" - }, - { - "name":"Thickness", - "tooltip":"" - }, - { - "name":"Thickness over length", - "tooltip":"" - }, - { - "name":"Random color", - "tooltip":"" - }, - { - "name":"Color over length", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Child", - "tooltip":"Render extra strands between the real strands." - } - ], - "tooltip":"" - }, - "Node_Pack_Sprites":{ - "name":"Pack Sprites", - "outputs":[ - { - "name":"Packed image", - "tooltip":"" - }, - { - "name":"Atlas data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Sprites", - "tooltip":"" - }, - { - "name":"Algorithm", - "display_data":[ - "Skyline", - "Shelf", - "Top left", - "Best fit" - ], - "tooltip":"" - }, - { - "name":"Max width", - "tooltip":"" - }, - { - "name":"Max height", - "tooltip":"" - }, - { - "name":"Spacing", - "tooltip":"" - } - ], - "tooltip":"Combine array of images with different dimension using different algorithms." - }, - "Node_Path_Separate_Folder":{ - "name":"Separate File Path", - "outputs":[ - { - "name":"Directory", - "tooltip":"" - }, - { - "name":"File Name", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Keep extension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Greyscale":{ - "name":"Greyscale", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - }, - { - "name":"Contrast", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Convert color image to greyscale." - }, - "Node_Color_RGB":{ - "name":"RGB Color", - "outputs":[ - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Red", - "tooltip":"" - }, - { - "name":"Green", - "tooltip":"" - }, - { - "name":"Blue", - "tooltip":"" - }, - { - "name":"Normalized", - "tooltip":"" - } - ], - "tooltip":"Create color from RGB value." - }, - "Node_String_Length":{ - "name":"Text Length", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Character", - "Word" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path":{ - "name":"Path", - "outputs":[ - { - "name":"Position out", - "tooltip":"" - }, - { - "name":"Path data", - "tooltip":"" - }, - { - "name":"Anchors", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path progress", - "tooltip":"Sample position from path." - }, - { - "name":"Loop", - "tooltip":"" - }, - { - "name":"Progress mode", - "display_data":[ - "Entire line", - "Segment" - ], - "tooltip":"" - }, - { - "name":"Round anchor", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Round_Rectangle":{ - "name":"Round Rectangle", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Uniform", - "Per Corner" - ], - "tooltip":"" - }, - { - "name":"Corner Radius", - "tooltip":"" - }, - { - "name":"Corner Radius", - "tooltip":"" - }, - { - "name":"Relative", - "tooltip":"" - }, - { - "name":"Cut Corner", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_VFX_Turbulence":{ - "name":"Turbulence", - "outputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", - "tooltip":"" - }, - { - "name":"Turbulence scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Transform_Array":{ - "name":"Transform Array", - "outputs":[ - { - "name":"Transform", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Postion", + "name":"Anti alising", "tooltip":"" }, { "name":"Rotation", "tooltip":"" }, - { - "name":"Scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Length":{ - "name":"Array Length", - "outputs":[ - { - "name":"Size", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Cache_Array":{ - "name":"Cache Array", - "outputs":[ - { - "name":"Cache array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Start frame", - "tooltip":"Frame index to start caching, set to -1 to start at the first frame." - }, - { - "name":"Stop frame", - "tooltip":"Frame index to stop caching (inclusive), set to -1 to stop at the last frame." - }, - { - "name":"Step", - "tooltip":"Cache every N frames, set to 1 to cache every frame." - } - ], - "tooltip":"Store current animation as array. Cache persisted between save." - }, - "Node_Trigger":{ - "name":"Trigger", - "outputs":[ - { - "name":"Trigger", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Trigger", - "tooltip":"" - }, - { - "name":"Trigger", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Repeat":{ - "name":"Repeat", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Pattern", - "display_data":[ - "Linear", - "Grid", - "Circular" - ], - "tooltip":"" - }, - { - "name":"Repeat position", - "tooltip":"" - }, - { - "name":"Repeat rotation", - "tooltip":"" - }, - { - "name":"Scale multiply", - "tooltip":"" - }, { "name":"Angle range", "tooltip":"" }, { - "name":"Radius", + "name":"Corner radius", "tooltip":"" }, { - "name":"Start position", + "name":"Shape color", "tooltip":"" }, { - "name":"Scale over copy", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"Make each copy follow along path." - }, - { - "name":"Path range", - "tooltip":"Range of the path to follow." - }, - { - "name":"Path shift", - "tooltip":"" - }, - { - "name":"Color over copy", - "tooltip":"" - }, - { - "name":"Alpha over copy", - "tooltip":"" - }, - { - "name":"Array select", - "display_data":[ - "Order", - "Random", - "Spread" - ], - "tooltip":"Whether to select image from an array in order, at random, pr spread or each image to one output." - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Column", - "tooltip":"" - }, - { - "name":"Column shift", - "tooltip":"" - }, - { - "name":"Animator midpoint", - "tooltip":"" - }, - { - "name":"Animator range", - "tooltip":"" - }, - { - "name":"Animator position", - "tooltip":"" - }, - { - "name":"Animator rotation", - "tooltip":"" - }, - { - "name":"Animator scale", - "tooltip":"" - }, - { - "name":"Animator falloff", - "tooltip":"" - }, - { - "name":"Stack", - "display_data":[ - "None", - "X", - "Y" - ], - "tooltip":"Place each copy next to each other, taking surface dimension into account." - }, - { - "name":"Animator blend", - "tooltip":"" - }, - { - "name":"Animator alpha", - "tooltip":"" - } - ], - "tooltip":"Repeat image multiple times linearly, or in grid pattern." - }, - "Node_Json_File_Write":{ - "name":"JSON File Out", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Struct", - "tooltip":"" - } - ], - "tooltip":"Save data to .json file." - }, - "Node_Array_Add":{ - "name":"Array Add", - "outputs":[ - { - "name":"Output", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Spread array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Atlas_Draw":{ - "name":"Draw Atlas", - "outputs":[ - { - "name":"Surface", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Atlas", - "tooltip":"" - } - ], - "tooltip":"Render image atlas to a surface." - }, - "Node_IsoSurf":{ - "name":"IsoSurf", - "outputs":[ - { - "name":"IsoSurf", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Surfaces", - "tooltip":"" - }, - { - "name":"Angle Shift", - "tooltip":"" - }, - { - "name":"Angle Split", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_BW":{ - "name":"BW", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - }, - { - "name":"Contrast", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Convert color image to black and white." - }, - "Node_PCX_Equation":{ - "name":"Equation", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Equation", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Box_Transform":{ - "name":"Transform", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Layer Shift", - "tooltip":"" - }, - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Translate", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Bevel":{ - "name":"Bevel", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", + "name":"Background color", "tooltip":"" }, { @@ -4485,6466 +12966,14 @@ "tooltip":"" }, { - "name":"Shift", + "name":"Start radius", "tooltip":"" }, { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Slope", - "display_data":[ - "Linear", - "Smooth", - "Circular" - ], - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - } - ], - "tooltip":"Apply 2D bevel on the image." - }, - "Node_Array_Find":{ - "name":"Array Find", - "outputs":[ - { - "name":"Index", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_String_Get_Char":{ - "name":"Get Character", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Index", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Combine":{ - "name":"3D Combine", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D objects", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"Combine multiple 3D object to a single scene," - }, - "Node_Crop_Content":{ - "name":"Crop Content", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Array", - "display_data":[ - "Largest, same size", - "Independent" - ], - "tooltip":"Cropping mode for dealing with image array." - }, - { - "name":"Padding", - "tooltip":"Add padding back after crop." - } - ], - "tooltip":"Crop out empty pixel pixel from the image." - }, - "Node_3D_Mesh_Obj":{ - "name":"3D Object", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"File Path", - "tooltip":"" - }, - { - "name":"Flip UV", - "tooltip":"Flip UV axis, can be use to fix some texture mapping error." - } - ], - "tooltip":"Load .obj file from your computer as a 3D object." - }, - "Node_Gradient_Points":{ - "name":"4 Points Gradient", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Center 1", - "tooltip":"" - }, - { - "name":"Color 1", - "tooltip":"" - }, - { - "name":"Center 2", - "tooltip":"" - }, - { - "name":"Color 2", - "tooltip":"" - }, - { - "name":"Center 3", - "tooltip":"" - }, - { - "name":"Color 3", - "tooltip":"" - }, - { - "name":"Center 4", - "tooltip":"" - }, - { - "name":"Color 4", - "tooltip":"" - }, - { - "name":"Use palette", - "tooltip":"" - }, - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Falloff 1", - "tooltip":"" - }, - { - "name":"Falloff 2", - "tooltip":"" - }, - { - "name":"Falloff 3", - "tooltip":"" - }, - { - "name":"Falloff 4", - "tooltip":"" - } - ], - "tooltip":"Create image from 4 color points." - }, - "Node_Sprite_Stack":{ - "name":"Sprite Stack", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Base shape", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Stack amount", - "tooltip":"" - }, - { - "name":"Stack shift", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Stack blend", - "tooltip":"" - }, - { - "name":"Alpha end", - "tooltip":"Alpha value for the last copy." - }, - { - "name":"Move base", - "tooltip":"Make each copy move the original image." - }, - { - "name":"Highlight", - "display_data":[ - "None", - "Color", - "Inner pixel" - ], - "tooltip":"" - }, - { - "name":"Highlight color", - "tooltip":"" - }, - { - "name":"Highlight alpha", - "tooltip":"" - } - ], - "tooltip":"Create sprite stack either from repeating a single image or stacking different images using array." - }, - "Node_Fluid_Vortex":{ - "name":"Vortex", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Attraction", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Override", - "Add" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Rigid_Force_Apply":{ - "name":"Apply Force", - "outputs":[ - { - "name":"Object", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Object", - "tooltip":"" - }, - { - "name":"Force type", - "display_data":[ - "Constant", - "Impulse", - "Torque", - "Explode" - ], - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Torque", - "tooltip":"" - }, - { - "name":"Apply frame", - "tooltip":"Frame index to apply force." - }, - { - "name":"Force", - "tooltip":"" - }, - { - "name":"Scope", - "display_data":[ - "Global", - "Local" - ], - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Color_adjust":{ - "name":"Color Adjust", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Color out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - }, - { - "name":"Contrast", - "tooltip":"" - }, - { - "name":"Hue", - "tooltip":"" - }, - { - "name":"Saturation", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Blend", - "tooltip":"" - }, - { - "name":"Blend alpha", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Exposure", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Input Type", - "display_data":[ - "Surface", - "Color" - ], - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - } - ], - "tooltip":"Adjust brightness, contrast, hue, saturation, value, alpha, and blend image with color." - }, - "Node_PCX_fn_Surface_Width":{ - "name":"Surface Width", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PCX_Array_Set":{ - "name":"Array Set", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Index", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Feedback_Output":{ - "name":"Output", - "outputs":[ - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - }, - { - "name":"Feedback loop", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_3D_Mesh_Cube":{ - "name":"3D Cube", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Material per side", - "tooltip":"" - }, - { - "name":"Material", - "tooltip":"" - }, - { - "name":"Material Bottom", - "tooltip":"" - }, - { - "name":"Material Left", - "tooltip":"" - }, - { - "name":"Material Right", - "tooltip":"" - }, - { - "name":"Material Back", - "tooltip":"" - }, - { - "name":"Material Front", - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Cone":{ - "name":"3D Cone", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render rotation", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Sides", - "tooltip":"" - }, - { - "name":"Textures base", - "tooltip":"" - }, - { - "name":"Textures side", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Group":{ - "name":"Group", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Blend":{ - "name":"Blend", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Background", - "tooltip":"" - }, - { - "name":"Foreground", - "tooltip":"" - }, - { - "name":"Blend mode", - "display_data":[ - "Normal", - "Add", - "Subtract", - "Multiply", - "Screen", - "Overlay", - "Hue", - "Saturation", - "Luminosity", - "Maximum", - "Minimum", - "Replace", - "Difference" - ], - "tooltip":"" - }, - { - "name":"Opacity", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Fill mode", - "display_data":[ - "None", - "Stretch", - "Tile" - ], - "tooltip":"" - }, - { - "name":"Output dimension", - "display_data":[ - "Background", - "Forground", - "Mask", - "Maximum", - "Constant" - ], - "tooltip":"" - }, - { - "name":"Constant dimension", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Preserve alpha", - "tooltip":"" - }, - { - "name":"Horizontal Align", - "display_data":[ - 739.0, - 739.0, - 739.0 - ], - "tooltip":"" - }, - { - "name":"Vertical Align", - "display_data":[ - 867.0, - 867.0, - 867.0 - ], - "tooltip":"" - } - ], - "tooltip":"Blend 2 images using different blendmodes." - }, - "Node_Image_Sequence":{ - "name":"Image Array", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Paths", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - }, - { - "name":"Canvas size", - "display_data":[ - "Individual", - "Minimum", - "Maximum" - ], - "tooltip":"" - }, - { - "name":"Sizing method", - "display_data":[ - "Padding \/ Crop", - "Scale" - ], - "tooltip":"" - } - ], - "tooltip":"Load multiple images from your computer as array." - }, - "Node_Skew":{ - "name":"Skew", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "x", - "y" - ], - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Wrap", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Skew image horizontally, or vertically." - }, - "Node_ASE_layer":{ - "name":"ASE Layer", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"ASE data", - "tooltip":"" - }, - { - "name":"Use cel dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Pixel_Sort":{ - "name":"Pixel Sort", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Iteration", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Sort pixel by brightness in horizontal, or vertial axis." - }, - "Node_Grid":{ - "name":"Grid", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Gap", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Tile color", - "tooltip":"" - }, - { - "name":"Gap color", - "tooltip":"" - }, - { - "name":"Texture", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Shift axis", - "display_data":[ - "X", - "Y" - ], - "tooltip":"" - }, - { - "name":"Render type", - "display_data":[ - "Colored tile", - "Height map", - "Texture grid", - "Texture sample" - ], - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"Generate grid pattern." - }, - "Node_Vector4":{ - "name":"Vector4", - "outputs":[ - { - "name":"Vector", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"z", - "tooltip":"" - }, - { - "name":"w", - "tooltip":"" - }, - { - "name":"Integer", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_3D_Material":{ - "name":"3D Material", - "outputs":[ - { - "name":"Material", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Texture", - "tooltip":"" - }, - { - "name":"Diffuse", - "tooltip":"" - }, - { - "name":"Specular", - "tooltip":"" - }, - { - "name":"Shininess", - "tooltip":"" - }, - { - "name":"Metalic", - "tooltip":"" - }, - { - "name":"Normal Map", - "tooltip":"" - }, - { - "name":"Normal Strength", - "tooltip":"" - }, - { - "name":"Roughness", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Onion_Skin":{ - "name":"Onion Skin", - "outputs":[ - { - "name":"Output", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Color pre", - "tooltip":"" - }, - { - "name":"Color post", - "tooltip":"" - }, - { - "name":"Step", - "tooltip":"" - }, - { - "name":"On top", - "tooltip":"Render current frame on top of all frames." - } - ], - "tooltip":"" - }, - "Node_Combine_RGB":{ - "name":"RGBA Combine", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Red", - "tooltip":"" - }, - { - "name":"Green", - "tooltip":"" - }, - { - "name":"Blue", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Sampling type", - "display_data":[ - "Brightness", - "Channel value" - ], - "tooltip":"" - } - ], - "tooltip":"Combine 4 image in to one. Each image use to control RGBA channel." - }, - "Node_Array_CSV_Parse":{ - "name":"Parse CSV", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"CSV string", - "tooltip":"" - }, - { - "name":"Skip line", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Builder":{ - "name":"Path Builder", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Point array", - "tooltip":"" - }, - { - "name":"Connected", - "tooltip":"If set to true, will draw a single path from one point to another. If not set will treat each pair of points as an individual line." - } - ], - "tooltip":"Create path from array of vec2 points." - }, - "Node_PCX_fn_Math":{ - "name":"Math", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Operator", - "display_data":[ - "Add", - "Subtract", - "Multiply", - "Divide", - "Power", - "Modulo", - "Absolute", - -1.0, - "Round", - "Floor", - "Ceil", - -1.0, - "Sin", - "Cos", - "Tan", - "Arcsin", - "Arccos", - "Arctan", - -1.0, - "Min", - "Max", - "Clamp", - -1.0, - "Lerp" - ], - "tooltip":"" - }, - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"z", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_DynaSurf_Out_Width":{ - "name":"getWidth", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Width", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Mesh_Create_Path":{ - "name":"Path to Mesh", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Sample", - "tooltip":"" - }, - { - "name":"Algorithm", - "display_data":[ - "Ear Clipping", - "Convex Fan", - "Delaunay" - ], - "tooltip":"" - } - ], - "tooltip":"Create mesh from path." - }, - "Node_Color_HSV":{ - "name":"HSV Color", - "outputs":[ - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Hue", - "tooltip":"" - }, - { - "name":"Saturation", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Normalized", - "tooltip":"" - } - ], - "tooltip":"Create color from HSV value." - }, - "Node_WAV_File_Write":{ - "name":"WAV File Out", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Audio Data", - "tooltip":"" - }, - { - "name":"Sample", - "tooltip":"" - }, - { - "name":"Bit Depth", - "display_data":[ - "8 bit positive", - "16 bit integer" - ], - "tooltip":"" - }, - { - "name":"Remap Data", - "tooltip":"" - }, - { - "name":"Data Range", - "tooltip":"" - } - ], - "tooltip":"Save wav audio file." - }, - "Node_Json_File_Read":{ - "name":"JSON File In", - "outputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Struct", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "tooltip":"Load .json file using keys." - }, - "Node_Armature_Path":{ - "name":"Armature Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Armature", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PCX_var":{ - "name":"Variable", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Name", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Posterize":{ - "name":"Posterize", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Use palette", - "tooltip":"" - }, - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Gamma", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Posterize alpha", - "tooltip":"" - } - ], - "tooltip":"Reduce and remap color to match a palette." - }, - "Node_3D_Camera":{ - "name":"3D Camera", - "outputs":[ - { - "name":"Rendered", - "tooltip":"" - }, - { - "name":"Normal", - "tooltip":"" - }, - { - "name":"Depth", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"FOV", - "tooltip":"" - }, - { - "name":"Clipping Distance", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Perspective", - "Orthographic" - ], - "tooltip":"" - }, - { - "name":"Scene", - "tooltip":"" - }, - { - "name":"Ambient Light", - "tooltip":"" - }, - { - "name":"Show Background", - "tooltip":"" - }, - { - "name":"Backface Culling", - "display_data":[ - "None", - "CW", - "CCW" - ], - "tooltip":"" - }, - { - "name":"Orthographic Scale", - "tooltip":"" - }, - { - "name":"Postioning Mode", - "display_data":[ - "Position + Rotation", - "Position + Lookat", - "Lookat + Rotation" - ], - "tooltip":"" - }, - { - "name":"Lookat Position", - "tooltip":"" - }, - { - "name":"Roll", - "tooltip":"" - }, - { - "name":"Horizontal Angle", - "tooltip":"" - }, - { - "name":"Vertical Angle", - "tooltip":"" - }, - { - "name":"Distance", - "tooltip":"" - }, - { - "name":"Gamma Adjust", - "tooltip":"" - }, - { - "name":"Environment Texture", - "tooltip":"" - }, - { - "name":"Ambient Occlusion", - "tooltip":"" - }, - { - "name":"AO Radius", - "tooltip":"" - }, - { - "name":"AO Bias", - "tooltip":"" - }, - { - "name":"AO Strength", - "tooltip":"" - }, - { - "name":"Round Normal", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Rectangle":{ - "name":"Rectangle", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Flip":{ - "name":"Flip", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "x", - "y" - ], - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Flip image horizontally or vertically." - }, - "Node_Animation_Control":{ - "name":"Animation Control", - "outputs":[ - ], - "inputs":[ - { - "name":"Toggle Play \/ Pause", - "tooltip":"" - }, - { - "name":"Pause", - "tooltip":"" - }, - { - "name":"Resume", - "tooltip":"" - }, - { - "name":"Play From Beginning", - "tooltip":"" - }, - { - "name":"Play once", - "tooltip":"" - }, - { - "name":"Skip Frames", - "tooltip":"" - }, - { - "name":"Skip Frames Count", - "tooltip":"" - } - ], - "tooltip":"Control animation state with triggers." - }, - "Node_PB_Fx_Highlight":{ - "name":"Highlight", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Highlight Area", - "tooltip":"" - }, - { - "name":"Light Color", - "tooltip":"" - }, - { - "name":"Shadow Color", - "tooltip":"" - }, - { - "name":"Roughness", - "tooltip":"" - }, - { - "name":"Roughness Scale", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PCX_fn_Random":{ - "name":"Random", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Min", - "tooltip":"" - }, - { - "name":"Max", - "tooltip":"" - }, - { - "name":"Integer", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Iterate":{ - "name":"Loop", - "outputs":[ - ], - "inputs":[ - { - "name":"Repeat", - "tooltip":"" - } - ], - "tooltip":"Create group that reuse output as input repeatedly in one frame." - }, - "Node_Iterator_Filter_Output":{ - "name":"Output", - "outputs":[ - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Result", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Palette_Shift":{ - "name":"Palette Shift", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_VFX_Renderer":{ - "name":"Renderer", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Output dimension", - "tooltip":"" - }, - { - "name":"Round position", - "tooltip":"Round position to the closest integer value to avoid jittering." - }, - { - "name":"Blend mode", - "display_data":[ - "Normal", - "Alpha", - "Additive" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Sphere":{ - "name":"3D Sphere", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Subdivisions", - "tooltip":"Amount of polygon in X and Y axis." - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render rotation", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Textures", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Add_Collider":{ - "name":"Add Collider", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Collider", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Sort":{ - "name":"Sort Number", - "outputs":[ - { - "name":"Sorted array", - "tooltip":"" - }, - { - "name":"Sorted index", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array in", - "tooltip":"" - }, - { - "name":"Order", - "display_data":[ - "Ascending", - "Descending" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Anim_Curve":{ - "name":"Evaluate Curve", - "outputs":[ - { - "name":"Curve", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Curve", - "tooltip":"" - }, - { - "name":"Progress", - "tooltip":"" - }, - { - "name":"Minimum", - "tooltip":"" - }, - { - "name":"Maximum", - "tooltip":"" - } - ], - "tooltip":"Evaluate value from an animation curve." - }, - "Node_Alpha_Grey":{ - "name":"Alpha to Grey", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Convert alpha value into solid greyscale." - }, - "Node_Average":{ - "name":"Average", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Average color of every pixels in the image." - }, - "Node_2D_light":{ - "name":"2D Light", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Light only", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Light shape", - "display_data":[ - "Point", - "Line", - "Line asymmetric", - "Spot" - ], - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Intensity", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Start", - "tooltip":"" - }, - { - "name":"Finish", - "tooltip":"" - }, - { - "name":"Sweep", - "tooltip":"" - }, - { - "name":"Sweep end", - "tooltip":"" - }, - { - "name":"Banding", - "tooltip":"" - }, - { - "name":"Attenuation", - "display_data":[ - "Quadratic", - "Invert quadratic", - "Linear" - ], - "tooltip":"Control how light fade out over distance." - }, - { - "name":"Radial banding", - "tooltip":"" - }, - { - "name":"Radial start", - "tooltip":"" - }, - { - "name":"Radial band ratio", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply different shaped light on the image." - }, - "Node_PB_Fx_Add":{ - "name":"Add", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"pbox", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Switch":{ - "name":"Switch", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Index", - "tooltip":"" - }, - { - "name":"Default value", - "tooltip":"" - } - ], - "tooltip":"Given an index, output value base on index matching." - }, - "Node_Group_Input":{ - "name":"Input", - "outputs":[ - { - "name":"Value", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Display type", - "display_data":[ - "Default", - "Range", - "Rotation", - "Rotation range", - "Slider", - "Slider range", - "Padding", - "Vector", - "Vector range", - "Area", - "Enum button", - "Menu scroll" - ], - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Input type", - "display_data":[ - "Integer", - "Float", - "Boolean", - "Color", - "Surface", - "File Path", - "Curve", - "Text", - "Object", - "Node", - "3D object", - "Any", - "Path", - "Particle", - "Rigidbody Object", - "Fluid Domain", - "Struct", - "Strands", - "Mesh", - "Trigger" - ], - "tooltip":"" - }, - { - "name":"Enum label", - "tooltip":"" - }, - { - "name":"Vector size", - "display_data":[ - "2", - "3", - "4" - ], - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - }, - { - "name":"Display preview gizmo", - "tooltip":"" - }, - { - "name":"Step", - "tooltip":"" - }, - { - "name":"Button Label", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Feedback":{ - "name":"Feedback", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"Create group that reuse output from last frame to the current one." - }, - "Node_Unicode":{ - "name":"Unicode", - "outputs":[ - { - "name":"Character", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Unicode", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Solid":{ - "name":"Solid", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Empty", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Use mask dimension", - "tooltip":"" - } - ], - "tooltip":"Create image of a single color." - }, - "Node_Rigid_Global":{ - "name":"RigidSim Global", - "outputs":[ - ], - "inputs":[ - { - "name":"Gravity", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Fx_Radial":{ - "name":"Radial", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Palette_Extract":{ - "name":"Palette Extract", - "outputs":[ - { - "name":"Palette", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Max colors", - "tooltip":"Amount of color in a palette." - }, - { - "name":"Seed", - "tooltip":"Random seed to be used to initialize K-mean algorithm." - }, - { - "name":"Algorithm", - "display_data":[ - "K-mean", - "Frequency", - "All colors" - ], - "tooltip":"" - } - ], - "tooltip":"Extract palette from an image." - }, - "Node_DynaSurf_Out":{ - "name":"Output", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"sx", - "tooltip":"" - }, - { - "name":"sy", - "tooltip":"" - }, - { - "name":"angle", - "tooltip":"" - }, - { - "name":"color", - "tooltip":"" - }, - { - "name":"alpha", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Condition":{ - "name":"Condition", - "outputs":[ - { - "name":"Result", - "tooltip":"" - }, - { - "name":"Bool", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Check value", - "tooltip":"" - }, - { - "name":"Condition", - "display_data":[ - "Equal", - "Not equal", - "Less", - "Less or equal", - "Greater", - "Greater or equal" - ], - "tooltip":"" - }, - { - "name":"Compare to", - "tooltip":"" - }, - { - "name":"True", - "tooltip":"" - }, - { - "name":"False", - "tooltip":"" - }, - { - "name":"Eval mode", - "display_data":[ - "Boolean", - "Number compare", - "Text compare" - ], - "tooltip":"" - }, - { - "name":"Boolean", - "tooltip":"" - }, - { - "name":"Text 1", - "tooltip":"" - }, - { - "name":"Text 2", - "tooltip":"" - } - ], - "tooltip":"Given a condition, output one value if true, another value is false." - }, - "Node_Find_Pixel":{ - "name":"Find pixel", - "outputs":[ - { - "name":"Position", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Search color", - "tooltip":"" - } - ], - "tooltip":"Get the position of the first pixel with a given color." - }, - "Node_Array":{ - "name":"Array", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "Any", - "Surface", - "Number", - "Color", - "Text" - ], - "tooltip":"" - }, - { - "name":"Spread array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Box_Divide_Grid":{ - "name":"Divide Grid", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Layer Shift", - "tooltip":"" - }, - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Spacing", - "tooltip":"" - }, - { - "name":"Mirror", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Vector_Dot":{ - "name":"Dot product", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Point 1", - "tooltip":"" - }, - { - "name":"Point 2", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Blend":{ - "name":"Blend Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path 1", - "tooltip":"" - }, - { - "name":"Path 2", - "tooltip":"" - }, - { - "name":"Ratio", - "tooltip":"" - } - ], - "tooltip":"Blend between 2 paths." - }, - "Node_Color_Remove":{ - "name":"Remove Color", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Invert", - "tooltip":"Keep the selected colors and remove the rest." - } - ], - "tooltip":"Remove color that match a palette." - }, - "Node_Counter":{ - "name":"Frame Index", - "outputs":[ - { - "name":"Value", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Start", - "tooltip":"" - }, - { - "name":"Speed", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Frame count", - "Animation progress" - ], - "tooltip":"Counting mode\r\n - Frame count: Count value up\/down per frame.\r\n - Animation progress: Count from 0 (first frame) to 1 (last frame). " - } - ], - "tooltip":"Output current frame as frame index, or animation progress (0 - 1)." - }, - "Node_Blur_Bokeh":{ - "name":"Lens Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Create bokeh effect. Blur lighter color in a lens-like manner." - }, - "Node_Palette":{ - "name":"Palette", - "outputs":[ - { - "name":"Palette", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Trim range", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Morph_Surface":{ - "name":"Morph Surface", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface from", - "tooltip":"" - }, - { - "name":"Surface to", - "tooltip":"" - }, - { - "name":"Morph amount", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - } - ], - "tooltip":"Morph pixel bewteen two surfaces." - }, - "Node_Gradient_Replace_Color":{ - "name":"Gradient Replace", - "outputs":[ - { - "name":"Gradient", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Color from", - "tooltip":"" - }, - { - "name":"Color to", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Update":{ - "name":"Update Domain", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Bloom":{ - "name":"Bloom", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"Bloom blur radius." - }, - { - "name":"Tolerance", - "tooltip":"How bright a pixel should be to start blooming." - }, - { - "name":"Strength", - "tooltip":"Blend intensity." - }, - { - "name":"Bloom mask", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply bloom effect, bluring and brighten the bright part of the image." - }, - "Node_Fluid_Repulse":{ - "name":"Repulse", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Override", - "Add" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Pixel_Builder":{ - "name":"Pixel Builder", - "outputs":[ - { - "name":"Surface Out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Blob":{ - "name":"Blob", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - }, - { - "name":"Top", - "tooltip":"" - }, - { - "name":"Bottom", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_String_Regex_Search":{ - "name":"RegEx Search", - "outputs":[ - { - "name":"Results", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Regex", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Reverse":{ - "name":"Reverse Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Websocket_Sender":{ - "name":"Websocket Sender", - "outputs":[ - ], - "inputs":[ - { - "name":"Port", - "tooltip":"" - }, - { - "name":"Data type", - "display_data":[ - "Struct", - "Surface", - "File", - "Buffer" - ], - "tooltip":"" - }, - { - "name":"Struct", - "tooltip":"" - }, - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Target", - "tooltip":"" - }, - { - "name":"Buffer", - "tooltip":"" - } - ], - "tooltip":"Create websocket server to send data to the network." - }, - "Node_Twirl":{ - "name":"Twirl", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Twist the image around a mid point." - }, - "Node_PB_Fx_Hash":{ - "name":"Hashing", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Hash", - "tooltip":"" - }, - { - "name":"Invert", - "tooltip":"" - }, - { - "name":"Dissolve", - "tooltip":"" - }, - { - "name":"Detail", - "tooltip":"" - }, - { - "name":"Dissolve Scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Diamond":{ - "name":"Diamond", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_De_Stray":{ - "name":"De-Stray", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Tolerance", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Attempt to remove orphan pixel." - }, - "Node_Vector2":{ - "name":"Vector2", - "outputs":[ - { - "name":"Vector", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"Integer", - "tooltip":"" - }, - { - "name":"Display", - "display_data":[ - "Number", - "Coordinate" - ], - "tooltip":"" - }, - { - "name":"Reset to center", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Strand_Break":{ - "name":"Strand Break", - "outputs":[ - { - "name":"Strand", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Strand", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Point", - "Band" - ], - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Chance", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Alpha_Cutoff":{ - "name":"Alpha Cutoff", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Minimum", - "tooltip":"Any pixel with less alpha (more transparent) than this will be removed." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Remove pixel with low alpha value." - }, - "Node_DynaSurf_In":{ - "name":"Input", - "outputs":[ - { - "name":"Value", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_PCX_Array_Get":{ - "name":"Array Get", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Index", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Particle":{ - "name":"Particle", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particle sprite", - "tooltip":"" - }, - { - "name":"Spawn delay", - "tooltip":"Frames delay between each particle spawn." - }, - { - "name":"Spawn amount", - "tooltip":"Amount of particle spawn in that frame." - }, - { - "name":"Spawn area", - "tooltip":"" - }, - { - "name":"Spawn distribution", - "display_data":[ - "Area", - "Border", - "Map", - "Direct Data" - ], - "tooltip":"" - }, - { - "name":"Lifespan", - "tooltip":"" - }, - { - "name":"Spawn direction", - "tooltip":"" - }, - { - "name":"Acceleration", - "tooltip":"" - }, - { - "name":"Orientation", - "tooltip":"" - }, - { - "name":"Rotational speed", - "tooltip":"" - }, - { - "name":"Spawn scale", - "tooltip":"" - }, - { - "name":"Scale over time", - "tooltip":"" - }, - { - "name":"Color over lifetime", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Alpha over time", - "tooltip":"" - }, - { - "name":"Rotate by direction", - "tooltip":"Make the particle rotates to follow its movement." - }, - { - "name":"Spawn type", - "display_data":[ - "Stream", - "Burst" - ], - "tooltip":"" - }, - { - "name":"Spawn size", - "tooltip":"" - }, - { - "name":"Spawn velocity", - "tooltip":"" - }, - { - "name":"Gravity", - "tooltip":"" - }, - { - "name":"Wiggle", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - }, - { - "name":"Surface array", - "display_data":[ - "Random", - "Order", - "Animation" - ], - "tooltip":"Whether to select image from an array in order, at random, or treat array as animation." - }, - { - "name":"Animation speed", - "tooltip":"" - }, - { - "name":"Scatter", - "display_data":[ - "Uniform", - "Random", - "Data" - ], - "tooltip":"" - }, - { - "name":"Boundary data", - "tooltip":"" - }, - { - "name":"On animation end", - "display_data":[ - "Loop", - "Ping pong", - "Destroy" - ], - "tooltip":"" - }, - { - "name":"Spawn", - "tooltip":"" - }, - { - "name":"Random blend", - "tooltip":"" - }, - { - "name":"Directed from center", - "tooltip":"Make particle move away from the spawn center." - }, - { - "name":"Distribution map", - "tooltip":"" - }, - { - "name":"Distribution data", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Gravity direction", - "tooltip":"" - }, - { - "name":"Turning", - "tooltip":"" - }, - { - "name":"Turn both directions", - "tooltip":"Apply randomized 1, -1 multiplier to the turning speed." - }, - { - "name":"Turn scale with speed", - "tooltip":"" - }, - { - "name":"Collide ground", - "tooltip":"" - }, - { - "name":"Ground offset", - "tooltip":"" - }, - { - "name":"Bounce amount", - "tooltip":"" - }, - { - "name":"Bounce friction", - "tooltip":"Apply horizontal friction once particle stop bouncing." - }, - { - "name":"Output dimension", - "tooltip":"" - }, - { - "name":"Round position", - "tooltip":"Round position to the closest integer value to avoid jittering." - }, - { - "name":"Blend mode", - "display_data":[ - "Normal", - "Alpha", - "Additive" - ], - "tooltip":"" - } - ], - "tooltip":"Generate particle effect." - }, - "Node_Strand_Group":{ - "name":"StrandSim", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"Create group for hair simulation." - }, - "Node_PB_Fx_Brick":{ - "name":"Brick", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "X", - "Y" - ], - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Dissolve", - "tooltip":"" - }, - { - "name":"Detail", - "tooltip":"" - }, - { - "name":"Dissolve Scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Sequence_Anim":{ - "name":"Array to Anim", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Speed", - "tooltip":"" - }, - { - "name":"Sequence", - "tooltip":"" - }, - { - "name":"Overflow", - "display_data":[ - "Hold", - "Loop", - "Ping Pong", - "Empty" - ], - "tooltip":"" - } - ], - "tooltip":"Convert array of images into animation." - }, - "Node_Vector_Cross_2D":{ - "name":"Cross product 2D", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Point 1", - "tooltip":"" - }, - { - "name":"Point 2", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Turbulence":{ - "name":"Turbulence", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Effect area", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Override", - "Add" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_CSV_File_Read":{ - "name":"CSV File In", - "outputs":[ - { - "name":"Content", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Convert to number", - "tooltip":"" - } - ], - "tooltip":"Load .csv as text, number array." - }, - "Node_Dilate":{ - "name":"Dilate", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Expand the image around a mid point." - }, - "Node_Export":{ - "name":"Export", - "outputs":[ - { - "name":"Loop exit", - "tooltip":"" - }, - { - "name":"Preview", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"Paths", - "tooltip":"" - }, - { - "name":"Template", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Single image", - "Image sequence", - "Animation" - ], - "tooltip":"" - }, - { - "name":"Template guides", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - }, - { - "name":"Frame optimization", - "tooltip":"" - }, - { - "name":"Color merge", - "tooltip":"" - }, - { - "name":"Framerate", - "tooltip":"" - }, - { - "name":"Format", - "display_data":[ - ".png", - ".jpg", - ".webp" - ], - "tooltip":"" - }, - { - "name":"Quality", - "tooltip":"" - }, - { - "name":"Sequence begin", - "tooltip":"" - }, - { - "name":"Frame range", - "tooltip":"" - } - ], - "tooltip":"Export image, image array to file, image sequence, animation." - }, - "Node_Erode":{ - "name":"Erode", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Width", - "tooltip":"" - }, - { - "name":"Preserve border", - "tooltip":"" - }, - { - "name":"Use alpha", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Remove pixel that are close to the border of the image." - }, - "Node_Gradient_Out":{ - "name":"Gradient", - "outputs":[ - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Gradient", - "tooltip":"" - }, - { - "name":"Sample", - "tooltip":"Position to sample a color from the gradient." - } - ], - "tooltip":"" - }, - "Node_Grey_Alpha":{ - "name":"Grey to Alpha", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Replace color", - "tooltip":"Replace output with solid color." - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Convert greyscale to alpha value." - }, - "Node_PB_Fx_Outline":{ - "name":"Outline", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Corner", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Side", - "display_data":[ - "Inside", - "Outside" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Flood_Fill":{ - "name":"Flood Fill", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"" - }, - { - "name":"Diagonal", - "tooltip":"" - } - ], - "tooltip":"Filled connected pixel given position and color." - }, - "Node_Statistic":{ - "name":"Statistic", - "outputs":[ - { - "name":"Statistic", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "Sum", - "Mean", - "Median", - "Max", - "Min" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Insert":{ - "name":"Array Insert", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Index", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Spread array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Trigger_Bool":{ - "name":"Boolean Trigger", - "outputs":[ - { - "name":"Trigger", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Boolean", - "tooltip":"" - }, - { - "name":"Trigger condition", - "display_data":[ - "True frame", - "False to True", - "True to False", - "Value changed" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Transform":{ - "name":"Transform Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Anchor", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Armature_Sample":{ - "name":"Armature Sample", - "outputs":[ - { - "name":"Position", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Armature", - "tooltip":"" - }, - { - "name":"Bone name", - "tooltip":"" - }, - { - "name":"Sample point", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Camera":{ - "name":"Camera", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Background", - "tooltip":"" - }, - { - "name":"Focus area", - "tooltip":"" - }, - { - "name":"Zoom", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Repeat", - "Repeat X", - "Repeat Y" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Fix background", - "tooltip":"" - }, - { - "name":"Depth of Field", - "tooltip":"" - }, - { - "name":"Focal distance", - "tooltip":"" - }, - { - "name":"Defocus", - "tooltip":"" - }, - { - "name":"Focal range", - "tooltip":"" - } - ], - "tooltip":"Create camera that crop image to fix dimension with control of position, zoom. Also can be use to create parallax effect." - }, - "Node_VFX_Destroy":{ - "name":"Destroy", - "outputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Layer":{ - "name":"Layer", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Layer", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Display_Image":{ - "name":"Display Image", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "tooltip":"Display image on the graph." - }, - "Node_WAV_File_Read":{ - "name":"WAV File In", - "outputs":[ - { - "name":"Data", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Sample rate", - "tooltip":"" - }, - { - "name":"Channels", - "tooltip":"" - }, - { - "name":"Duration (s)", - "tooltip":"" - }, - { - "name":"Loudness", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Sync lenght", - "tooltip":"" - } - ], - "tooltip":"Load wav audio file." - }, - "Node_Boolean":{ - "name":"Boolean", - "outputs":[ - { - "name":"Boolean", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Hide Background", - "tooltip":"" - }, - { - "name":"Name location", - "display_data":[ - "Top", - "Bottom" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Text_File_Read":{ - "name":"Text File In", - "outputs":[ - { - "name":"Content", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "tooltip":"Load .txt in as text." - }, - "Node_Cellular":{ - "name":"Cellular Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Point", - "Edge", - "Cell", - "Crystal" - ], - "tooltip":"" - }, - { - "name":"Contrast", - "tooltip":"" - }, - { - "name":"Pattern", - "display_data":[ - "Uniform", - "Radial" - ], - "tooltip":"" - }, - { - "name":"Middle", - "tooltip":"" - }, - { - "name":"Radial scale", - "tooltip":"" - }, - { - "name":"Radial shatter", - "tooltip":"" - }, - { - "name":"Colored", - "tooltip":"" - } - ], - "tooltip":"Generate voronoi pattern." - }, - "Node_Blur_Radial":{ - "name":"Radial Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur image by rotating aroung a mid point." - }, - "Node_Iterator_Each_Input":{ - "name":"Input", - "outputs":[ - { - "name":"Value in", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Dither":{ - "name":"Dither", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Palette", - "tooltip":"" - }, - { - "name":"Pattern", - "display_data":[ - "2 x 2 Bayer", - "4 x 4 Bayer", - "8 x 8 Bayer", - "Custom" - ], - "tooltip":"" - }, - { - "name":"Dither map", - "tooltip":"" - }, - { - "name":"Contrast", - "tooltip":"" - }, - { - "name":"Contrast map", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Color", - "Alpha" - ], - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Reduce color and use dithering to preserve original color." - }, - "Node_Transform":{ - "name":"Transform", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Output dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Anchor", - "tooltip":"" - }, - { - "name":"Relative anchor", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Render Mode", - "display_data":[ - "Normal", - "Tile", - "Wrap" - ], - "tooltip":"" - }, - { - "name":"Rotate by velocity", - "tooltip":"Make the surface rotates to follow its movement." - }, - { - "name":"Output dimension type", - "display_data":[ - "Same as input", - "Constant", - "Relative to input", - "Scale" - ], - "tooltip":"" - }, - { - "name":"Round position", - "tooltip":"Round position to the closest integer value to avoid jittering." - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Move, rotate, and scale image." - }, - "Node_Grid_Noise":{ - "name":"Grid Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Texture sample", - "tooltip":"" - }, - { - "name":"Shift axis", - "display_data":[ - "x", - "y" - ], - "tooltip":"" - }, - { - "name":"Color mode", - "display_data":[ - "Greyscale", - "RGB", - "HSV" - ], - "tooltip":"" - }, - { - "name":"Color R range", - "tooltip":"" - }, - { - "name":"Color G range", - "tooltip":"" - }, - { - "name":"Color B range", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Region_Fill":{ - "name":"Region Fill", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Fill Color", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"Fill connected pixel with the same color." - }, - "Node_Lua_Surface":{ - "name":"Lua Surface", - "outputs":[ - { - "name":"Execution thread", - "tooltip":"" - }, - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Function name", - "tooltip":"" - }, - { - "name":"Output dimension", - "tooltip":"" - }, - { - "name":"Lua code", - "tooltip":14.0 - }, - { - "name":"Execution thread", - "tooltip":"" - }, - { - "name":"Execute on frame", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Convolution":{ - "name":"Convolution", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Kernel", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply convolution operation on each pixel using a custom 3x3 kernel." - }, - "Node_Array_Set":{ - "name":"Array Set", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - }, - { - "name":"Index", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Iterator_Length":{ - "name":"Loop amount", - "outputs":[ - { - "name":"Length", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Iterator_Each_Length":{ - "name":"Array Length", - "outputs":[ - { - "name":"Length", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Local_Analyze":{ - "name":"Local Analyze", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Algorithm", - "display_data":[ - "Average (Blur)", - "Maximum", - "Minimum" - ], - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Shape", - "display_data":[ - "Square", - "Circle", - "Diamond" - ], - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply non-linear operation (minimum, maximum) on each pixel locally." - }, - "Node_Curve":{ - "name":"Curve", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - }, - { - "name":"Red", - "tooltip":"" - }, - { - "name":"Green", - "tooltip":"" - }, - { - "name":"Blue", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Adjust brightness of an image using curves." - }, - "Node_Rigid_Render":{ - "name":"Render", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Render dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Wrap_Area":{ - "name":"Area Warp", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Wrap image to fit area value (x, y, w, h)." - }, - "Node_PB_Draw_Trapezoid":{ - "name":"Trapezoid", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - }, - { - "name":"Axis", - "display_data":[ - "Horizontal", - "Vertical" - ], - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Symmetric", - "Independent" - ], - "tooltip":"" - }, - { - "name":"Bevel", - "tooltip":"" - }, - { - "name":"Bevel 1", - "tooltip":"" - }, - { - "name":"Bevel 2", - "tooltip":"" - }, - { - "name":"Invert", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Random":{ - "name":"Random", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"seed", - "tooltip":"" - }, - { - "name":"from", - "tooltip":"" - }, - { - "name":"to", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Composite":{ - "name":"Composite", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Atlas data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Padding", - "tooltip":"" - }, - { - "name":"Output dimension", - "display_data":[ - "First surface", - "Largest surface", - "Constant" - ], - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - } - ], - "tooltip":"Combine multiple images with controllable position, rotation, scale." - }, - "Node_Path_Sample":{ - "name":"Sample Path", - "outputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Ratio", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Loop", - "Ping pong" - ], - "tooltip":"" - } - ], - "tooltip":"Sample a 2D position from a path" - }, - "Node_Rigid_Group":{ - "name":"RigidSim", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"Create group for rigidbody simulation." - }, - "Node_Array_Zip":{ - "name":"Array Zip", - "outputs":[ - { - "name":"Output", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Color_Mix":{ - "name":"Mix Color", - "outputs":[ - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Color from", - "tooltip":"" - }, - { - "name":"Color to", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "RGB", - "HSV" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Path_Shift":{ - "name":"Shift Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Distance", - "tooltip":"" - } - ], - "tooltip":"Move path along its normal." - }, - "Node_Lua_Compute":{ - "name":"Lua Compute", - "outputs":[ - { - "name":"Execution thread", - "tooltip":"" - }, - { - "name":"Return value", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Function name", - "tooltip":"" - }, - { - "name":"Return type", - "display_data":[ - "Number", - "String", - "Struct" - ], - "tooltip":"" - }, - { - "name":"Lua code", - "tooltip":14.0 - }, - { - "name":"Execution thread", - "tooltip":"" - }, - { - "name":"Execute on frame", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Surface_Replace":{ - "name":"Replace Image", - "outputs":[ - { - "name":"Surface Out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Base Image", - "tooltip":"" - }, - { - "name":"Target Image", - "tooltip":"" - }, - { - "name":"Replacement Image", - "tooltip":"" - }, - { - "name":"Color Threshold", - "tooltip":"How similiar the color need to be in order to be count as matched." - }, - { - "name":"Draw Base Image", - "tooltip":"" - }, - { - "name":"Fast Mode", - "tooltip":"" - }, - { - "name":"Pixel Threshold", - "tooltip":"How many pixel need to me matched to replace with replacement image." - }, - { - "name":"Array mode", - "display_data":[ - "Match index", - "Randomized" - ], - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Lua_Global":{ - "name":"Lua Global", - "outputs":[ - { - "name":"Execution thread", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Lua code", - "tooltip":14.0 - }, - { - "name":"Run order", - "display_data":[ - "On start", - "Every frame" - ], - "tooltip":"" - }, - { - "name":"Execution thread", - "tooltip":"" - } - ], - "tooltip":"" - }, - "__Node_3D_Cube":{ - "name":"3D Cube", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"3D scene", - "tooltip":"" - }, - { - "name":"Normal pass", - "tooltip":"" - }, - { - "name":"3D vertex", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Main texture", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Render position", - "tooltip":"" - }, - { - "name":"Render rotation", - "tooltip":"" - }, - { - "name":"Render scale", - "tooltip":"" - }, - { - "name":"Textures per face", - "tooltip":"" - }, - { - "name":"Textures 0", - "tooltip":"" - }, - { - "name":"Textures 1", - "tooltip":"" - }, - { - "name":"Textures 2", - "tooltip":"" - }, - { - "name":"Textures 3", - "tooltip":"" - }, - { - "name":"Textures 4", - "tooltip":"" - }, - { - "name":"Textures 5", - "tooltip":"" - }, - { - "name":"Object scale", - "tooltip":"" - }, - { - "name":"Light direction", - "tooltip":"" - }, - { - "name":"Light height", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Object rotation", - "tooltip":"" - }, - { - "name":"Object position", - "tooltip":"" - }, - { - "name":"Projection", - "display_data":[ - "Orthographic", - "Perspective" - ], - "tooltip":"" - }, - { - "name":"Field of view", - "tooltip":"" - }, - { - "name":"Scale view with dimension", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Domain":{ - "name":"Fluid Domain", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Collision", - "tooltip":"" - }, - { - "name":"Material dissipation type", - "display_data":[ - "Multiply", - "Subtract" - ], - "tooltip":"" - }, - { - "name":"Material dissipation", - "tooltip":"" - }, - { - "name":"Velocity dissipation type", - "display_data":[ - "Multiply", - "Subtract" - ], - "tooltip":"" - }, - { - "name":"Velocity dissipation", - "tooltip":"" - }, - { - "name":"Acceleration", - "tooltip":"" - }, - { - "name":"Material intertia", - "tooltip":"" - }, - { - "name":"Initial pressure", - "tooltip":"" - }, - { - "name":"Material maccormack weight", - "tooltip":"" - }, - { - "name":"Velocity maccormack weight", - "tooltip":"" - }, - { - "name":"Wrap", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Add":{ - "name":"Add Fluid", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Fluid brush", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Inherit velocity", - "tooltip":"" - }, - { - "name":"Density", - "tooltip":"" - }, - { - "name":"Expand velocity mask", - "tooltip":"" - }, - { - "name":"Velocity", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Apply_Velocity":{ - "name":"Apply Velocity", - "outputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Brush", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Velocity", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_FFT":{ - "name":"FFT", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Data", - "tooltip":"" - }, - { - "name":"Preprocess Function", - "display_data":[ - "None", - "Hann" - ], - "tooltip":"" - } - ], - "tooltip":"Perform fourier transform on number array." - }, - "Node_Mesh_Transform":{ - "name":"Mesh Transform", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Mesh", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Anchor", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Array_Shuffle":{ - "name":"Shuffle Array", - "outputs":[ - { - "name":"Shuffled array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array in", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Crop":{ - "name":"Crop", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Crop", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Crop out image to create smaller ones." - }, - "Node_Corner":{ - "name":"Corner", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Radius", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Round out sharp corner of the image." - }, - "Node_Blur_Directional":{ - "name":"Directional Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur image given a direction." - }, - "Node_Armature_Pose":{ - "name":"Armature Pose", - "outputs":[ - { - "name":"Armature", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Armature", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Level_Selector":{ - "name":"Level Selector", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Mid point", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Isolate part of the image that falls in the selected brightness range." - }, - "Node_PB_Fx_Intersect":{ - "name":"Intersect", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Surface", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PCX_fn_var":{ - "name":"Fn Variable", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Default Value", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Displace":{ - "name":"Displace", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Displace map", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"Vector to displace pixel by." - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Mid value", - "tooltip":"Brightness value to be use as a basis for 'no displacement'." - }, - { - "name":"Color data", - "display_data":[ - "Ignore", - "Vector", - "Angle" - ], - "tooltip":"Use color data set extra information.\r\n - Ignore: Don't use color data.\r\n - Vector: Use red as X displacement, green as Y displacement.\r\n - Angle: Use red as angle, green as distance." - }, - { - "name":"Iterate", - "tooltip":"If not set, then strength value is multiplied directly to the displacement.\r\nIf set, then strength value control how many times the effect applies on itself." - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Distort image using another image as a map." - }, - "Node_VFX_Group":{ - "name":"VFX", - "outputs":[ - ], - "inputs":[ - ], - "tooltip":"Create VFX group, which generate particles that can be manipulated using different force nodes." - }, - "Node_CSV_File_Write":{ - "name":"CSV File Out", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Content", - "tooltip":"" - } - ], - "tooltip":"Save array as .csv file." - }, - "Node_PB_Fx_Shading":{ - "name":"Shading", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Width", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Noise_Tri":{ - "name":"Triangular Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Texture sample", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Blur_Contrast":{ - "name":"Contrast Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Threshold", - "tooltip":"Brightness different to be blur together." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur only pixel of a similiar color." - }, - "Node_Mesh_Warp":{ - "name":"Mesh Warp", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Mesh data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Sample", - "tooltip":"Amount of grid subdivision. Higher number means more grid, detail." - }, - { - "name":"Spring Force", - "tooltip":"" - }, - { - "name":"Mesh", - "tooltip":"" - }, - { - "name":"Diagonal Link", - "tooltip":"Include diagonal link to prevent drastic grid deformation." - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Link Strength", - "tooltip":"Link length preservation, setting it to 1 will prevent any stretching, contraction." - }, - { - "name":"Full Mesh", - "tooltip":"" - }, - { - "name":"Mesh Type", - "display_data":[ - "Grid", - "Custom" - ], - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"Wrap image by converting it to mesh, and using control points." - }, - "Node_VFX_Variable":{ - "name":"VFX Variable", - "outputs":[ - { - "name":"Positions", - "tooltip":"" - }, - { - "name":"Scales", - "tooltip":"" - }, - { - "name":"Rotations", - "tooltip":"" - }, - { - "name":"Blending", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Life", - "tooltip":"" - }, - { - "name":"Max life", - "tooltip":"" - }, - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"Velocity", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Seperate_Shape":{ - "name":"Separate Shape", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Boundary data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Tolerance", - "tooltip":"" - }, - { - "name":"Override color", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Ignore blank", - "tooltip":"Skip empty and black shape." - } - ], - "tooltip":"Separate disconnected pixel each into an image in an image array." - }, - "Node_Iterator_Input":{ - "name":"Input", - "outputs":[ - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Loop entrance", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Display type", - "display_data":[ - "Default", - "Range", - "Rotation", - "Rotation range", - "Slider", - "Slider range", - "Padding", - "Vector", - "Vector range", - "Area", - "Enum button", - "Menu scroll" - ], - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Input type", - "display_data":[ - "Integer", - "Float", - "Boolean", - "Color", - "Surface", - "File Path", - "Curve", - "Text", - "Object", - "Node", - "3D object", - "Any", - "Path", - "Particle", - "Rigidbody Object", - "Fluid Domain", - "Struct", - "Strands", - "Mesh", - "Trigger" - ], - "tooltip":"" - }, - { - "name":"Enum label", - "tooltip":"" - }, - { - "name":"Vector size", - "display_data":[ - "2", - "3", - "4" - ], - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - }, - { - "name":"Display preview gizmo", - "tooltip":"" - }, - { - "name":"Step", - "tooltip":"" - }, - { - "name":"Button Label", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Grid_Tri":{ - "name":"Triangular Grid", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Gap", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Tile color", - "tooltip":"" - }, - { - "name":"Gap color", - "tooltip":"" - }, - { - "name":"Texture", - "tooltip":"" - }, - { - "name":"Render type", - "display_data":[ - "Colored tile", - "Height map", - "Texture grid", - "Texture sample" - ], - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"Generate triangular grid pattern." - }, - "Node_Path_Array":{ - "name":"Path Array", - "outputs":[ - { - "name":"Path array", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Iterate_Each":{ - "name":"Loop Array", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "tooltip":"Create group that iterate to each member in an array." - }, - "Node_String_Merge":{ - "name":"Combine Text", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text A", - "tooltip":"" - }, - { - "name":"Text B", + "name":"Shape path", "tooltip":"" } - ], - "tooltip":"" + ] }, "Node_To_Number":{ "name":"To Number", @@ -10954,329 +12983,30 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Text", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Interpret_Number":{ - "name":"Interpret Number", + "Node_Corner":{ + "name":"Corner", "outputs":[ { "name":"Surface out", "tooltip":"" } ], - "inputs":[ - { - "name":"Number", - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Greyscale", - "Gradient" - ], - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Gradient", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Color_Data":{ - "name":"Color Data", - "outputs":[ - { - "name":"Red", - "tooltip":"" - }, - { - "name":"Green", - "tooltip":"" - }, - { - "name":"Blue", - "tooltip":"" - }, - { - "name":"Hue", - "tooltip":"" - }, - { - "name":"Saturation", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - }, - { - "name":"Brightness", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Normalize", - "tooltip":"" - } - ], - "tooltip":"Get data (rgb, hsv, brightness) from color." - }, - "Node_Print":{ - "name":"Print", - "outputs":[ - ], - "inputs":[ - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Text", - "tooltip":"" - } - ], - "tooltip":"Display text to notification." - }, - "Node_Widget_Test":{ - "name":"Widget Test", - "outputs":[ - ], - "inputs":[ - { - "name":"textBox", - "tooltip":"" - }, - { - "name":"rangeBox", - "tooltip":"" - }, - { - "name":"vectorBox", - "tooltip":"" - }, - { - "name":"vectorRangeBox", - "tooltip":"" - }, - { - "name":"rotator", - "tooltip":"" - }, - { - "name":"rotatorRange", - "tooltip":"" - }, - { - "name":"rotatorRandom", - "tooltip":"" - }, - { - "name":"slider", - "tooltip":"" - }, - { - "name":"sliderRange", - "tooltip":"" - }, - { - "name":"areaBox", - "tooltip":"" - }, - { - "name":"paddingBox", - "tooltip":"" - }, - { - "name":"cornerBox", - "tooltip":"" - }, - { - "name":"controlPointBox", - "tooltip":"" - }, - { - "name":"scrollBox", - "display_data":[ - "Choice 1", - "Choice 2" - ], - "tooltip":"" - }, - { - "name":"buttonGroup", - "display_data":[ - "Choice 1", - "Choice 2" - ], - "tooltip":"" - }, - { - "name":"matrixGrid", - "tooltip":"" - }, - { - "name":"transformBox", - "tooltip":"" - }, - { - "name":"toggleGroup", - "tooltip":"" - }, - { - "name":"quarternionBox", - "tooltip":"" - }, - { - "name":"checkBox", - "tooltip":"" - }, - { - "name":"buttonColor", - "tooltip":"" - }, - { - "name":"buttonPalette", - "tooltip":"" - }, - { - "name":"buttonGradient", - "tooltip":"" - }, - { - "name":"pathArrayBox", - "tooltip":"" - }, - { - "name":"textBox", - "tooltip":"" - }, - { - "name":"textBox", - "tooltip":"" - }, - { - "name":"fontScrollBox", - "tooltip":"" - }, - { - "name":"curveBox", - "tooltip":"" - }, - { - "name":"textArea", - "tooltip":"" - }, - { - "name":"textBox", - "tooltip":"" - }, - { - "name":"textArea", - "tooltip":"" - }, - { - "name":"textArea", - "tooltip":"" - }, - { - "name":"textArrayBox", - "tooltip":"" - }, - { - "name":"surfaceBox", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Shell":{ - "name":"Execute Shell", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Script", - "tooltip":"" - } - ], - "tooltip":"Execute shell script." - }, - "Node_Sampler":{ - "name":"Sampler", - "outputs":[ - { - "name":"Color", - "tooltip":"" - } - ], + "tooltip":"Round out sharp corner of the image.", "inputs":[ { "name":"Surface in", "tooltip":"" }, { - "name":"Position", - "tooltip":"" - }, - { - "name":"Sampling size", - "tooltip":"Size of square around the position to sample and average pixel color." - } - ], - "tooltip":"Sample color from an image." - }, - "__Node_3D_Export":{ - "name":"3D Export", - "outputs":[ - ], - "inputs":[ - { - "name":"Vertex data", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"Export location without '.obj' extension." - }, - { - "name":"Export texture", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Polar":{ - "name":"Polar", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", + "name":"Radius", "tooltip":"" }, { @@ -11291,1276 +13021,7 @@ "name":"Active", "tooltip":"" } - ], - "tooltip":"Convert image to polar coordinate." - }, - "Node_Vector_Split":{ - "name":"Vector Split", - "outputs":[ - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"z", - "tooltip":"" - }, - { - "name":"w", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Vector", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Time_Remap":{ - "name":"Time Remap", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Map", - "tooltip":"" - }, - { - "name":"Max life", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - } - ], - "tooltip":"Remap image using texture as time map. Where brighter pixel means using pixel from an older frame." - }, - "Node_Pin":{ - "name":"Pin", - "outputs":[ - { - "name":"Out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"In", - "tooltip":"" - } - ], - "tooltip":"Craete pin to organize your connection. Can be create by double clicking on a connection line." - }, - "Node_Path_L_System":{ - "name":"L system", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Length", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Starting position", - "tooltip":"" - }, - { - "name":"Iteration", - "tooltip":"" - }, - { - "name":"Starting rule", - "tooltip":31.0 - }, - { - "name":"End replacement", - "tooltip":"Replace symbol of the last generated rule, for example a=F to replace all a with F. Use comma to separate different replacements." - }, - { - "name":"Starting angle", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Fluid_Render":{ - "name":"Render Domain", - "outputs":[ - { - "name":"Fluid", - "tooltip":"" - }, - { - "name":"Domain", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Fluid Domain", - "tooltip":"" - }, - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Interpolate", - "tooltip":"" - }, - { - "name":"Draw Domain", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Trail":{ - "name":"Trail", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Trail UV", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Max life", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - }, - { - "name":"Max distance", - "tooltip":"Maximum distance to search for movement, set to -1 to search the entire image." - }, - { - "name":"Match color", - "tooltip":"Make trail track pixels of the same color, instead of the closet pixels." - }, - { - "name":"Blend color", - "tooltip":"Blend color between two pixel smoothly." - }, - { - "name":"Alpha over life", - "tooltip":"" - } - ], - "tooltip":"Blend animation by filling in the pixel 'in-between' two or more frames." - }, - "Node_Iterator_Filter_Input":{ - "name":"Input", - "outputs":[ - { - "name":"Value in", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Compare":{ - "name":"Compare", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "Equal", - "Not equal", - "Greater", - "Greater or equal", - "Lesser", - "Lesser or equal" - ], - "tooltip":"" - }, - { - "name":"a", - "tooltip":"" - }, - { - "name":"b", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Tunnel_Out":{ - "name":"Tunnel Out", - "outputs":[ - { - "name":"Value out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Name", - "tooltip":"" - } - ], - "tooltip":"Receive value from tunnel in of the same key." - }, - "Node_Grid_Hex":{ - "name":"Hexagonal Grid", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Angle", - "tooltip":"" - }, - { - "name":"Gap", - "tooltip":"" - }, - { - "name":"Tile color", - "tooltip":"" - }, - { - "name":"Gap color", - "tooltip":"" - }, - { - "name":"Render type", - "display_data":[ - "Colored tile", - "Height map", - "Texture grid", - "Texture sample" - ], - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Texture", - "tooltip":"" - } - ], - "tooltip":"Generate hexagonal grid pattern." - }, - "Node_Iterator_Sort_Input":{ - "name":"Sort Input", - "outputs":[ - { - "name":"Value in", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Value in", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_String":{ - "name":"Text", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Rigid_Activate":{ - "name":"Activate Physics", - "outputs":[ - { - "name":"Object", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Object", - "tooltip":"" - }, - { - "name":"Physics activated", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_PB_Draw_Fill":{ - "name":"Fill", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Apply Mask", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_String_Split":{ - "name":"Split Text", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Delimiter", - "tooltip":"Character that used to split text,\nleave blank to create character array." - } - ], - "tooltip":"" - }, - "Node_Text":{ - "name":"Draw Text", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Font", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Anti-Aliasing ", - "tooltip":"" - }, - { - "name":"Character range", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Fixed dimension", - "tooltip":"" - }, - { - "name":"Horizontal alignment", - "display_data":[ - 596.0, - 596.0, - 596.0 - ], - "tooltip":"" - }, - { - "name":"Vertical alignment", - "display_data":[ - 734.0, - 734.0, - 734.0 - ], - "tooltip":"" - }, - { - "name":"Output dimension", - "display_data":[ - "Fixed", - "Dynamic" - ], - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - } - ], - "tooltip":"Draw text on an image." - }, - "Node_Zigzag":{ - "name":"Zigzag", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Color 1", - "tooltip":"" - }, - { - "name":"Color 2", - "tooltip":"" - }, - { - "name":"Smooth", - "tooltip":"" - } - ], - "tooltip":"Generate zigzag pattern." - }, - "Node_Iterate_Filter":{ - "name":"Filter Array", - "outputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Array", - "tooltip":"" - } - ], - "tooltip":"Filter array using condition." - }, - "Node_Random_Shape":{ - "name":"Random Shape", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_VFX_Vortex":{ - "name":"Vortex", - "outputs":[ - { - "name":"Particles", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Particles", - "tooltip":"" - }, - { - "name":"Area", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", - "tooltip":"" - }, - { - "name":"Attraction force", - "tooltip":"" - }, - { - "name":"Clockwise", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Stack":{ - "name":"Stack", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Atlas data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Axis", - "display_data":[ - "Horizontal", - "Vertical", - "On top" - ], - "tooltip":"" - }, - { - "name":"Align", - "display_data":[ - "Start", - "Middle", - "End" - ], - "tooltip":"" - }, - { - "name":"Spacing", - "tooltip":"" - } - ], - "tooltip":"Place image next to each other linearly, or on top of each other." - }, - "Node_De_Corner":{ - "name":"De-Corner", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Tolerance", - "tooltip":"" - } - ], - "tooltip":"Attempt to remove single pixel corner from the image." - }, - "Node_Path_Trim":{ - "name":"Trim Path", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Plot_Linear":{ - "name":"Bar \/ Graph", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Data", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Sample frequency", - "tooltip":"" - }, - { - "name":"Origin", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Base Color", - "tooltip":"" - }, - { - "name":"Graph Thickness", - "tooltip":"" - }, - { - "name":"Use Background", - "tooltip":"" - }, - { - "name":"Background", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Bar chart", - "Graph" - ], - "tooltip":"" - }, - { - "name":"Value Offset", - "tooltip":"" - }, - { - "name":"Color Over Sample", - "tooltip":"" - }, - { - "name":"Trim mode", - "display_data":[ - "Range", - "Window" - ], - "tooltip":"" - }, - { - "name":"Window Size", - "tooltip":"" - }, - { - "name":"Window Offset", - "tooltip":"" - }, - { - "name":"Spacing", - "tooltip":"" - }, - { - "name":"Bar Width", - "tooltip":"" - }, - { - "name":"Rounded Bar", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Flip Value", - "tooltip":"" - }, - { - "name":"Loop", - "tooltip":"" - }, - { - "name":"Smooth", - "tooltip":"" - } - ], - "tooltip":"Plot graph or bar chart from array of number." - }, - "Node_Blur_Zoom":{ - "name":"Zoom Blur", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Center", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." - }, - { - "name":"Zoom mode", - "display_data":[ - "Start", - "Middle", - "End" - ], - "tooltip":"" - }, - { - "name":"Blur mask", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Blur image by zooming in\/out from a mid point." - }, - "Node_Frame":{ - "name":"Frame", - "outputs":[ - ], - "inputs":[ - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - } - ], - "tooltip":"Create frame surrounding nodes." - }, - "Node_Strand_Length_Adjust":{ - "name":"Strand Length Adjust", - "outputs":[ - { - "name":"Strand", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Strand", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Point", - "Band" - ], - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Increase", - "Decrease" - ], - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Atlas_Get":{ - "name":"Atlas Get", - "outputs":[ - { - "name":"Surface", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Blend", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Atlas", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Image_Animated":{ - "name":"Animation", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - }, - { - "name":"Stretch frame", - "tooltip":"Stretch animation speed to match project length." - }, - { - "name":"Frame duration", - "tooltip":"" - }, - { - "name":"Animation end", - "display_data":[ - "Loop", - "Ping pong", - "Hold last frame", - "Hide" - ], - "tooltip":"" - }, - { - "name":"Set animation length to match", - "tooltip":"" - } - ], - "tooltip":"Load multiple images from your computer as animation." - }, - "Node_3D_Mesh_Sphere_Ico":{ - "name":"3D Icosphere", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Subdivision", - "tooltip":"" - }, - { - "name":"Material", - "tooltip":"" - }, - { - "name":"Smooth Normal", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Combine_HSV":{ - "name":"HSV Combine", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Hue", - "tooltip":"" - }, - { - "name":"Saturation", - "tooltip":"" - }, - { - "name":"Value", - "tooltip":"" - } - ], - "tooltip":"Combine 4 image in to one. Each image use to control HSVA channel." - }, - "Node_Strand_Create":{ - "name":"Strand Create", - "outputs":[ - { - "name":"Strand", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "Point", - "Path", - "Mesh" - ], - "tooltip":"" - }, - { - "name":"Density", - "tooltip":"How many strands to generate." - }, - { - "name":"Length", - "tooltip":"" - }, - { - "name":"Segment", - "tooltip":"" - }, - { - "name":"Elasticity", - "tooltip":"Length preservation, the higher the value the easier it is to stretch each segment." - }, - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Side", - "display_data":[ - "Inner", - "Outer", - "Both" - ], - "tooltip":"" - }, - { - "name":"Spring", - "tooltip":"Angular stiffness, the higher the value the easier it is to bend each segment." - }, - { - "name":"Structure", - "tooltip":"The ability to keep its original shape." - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Curl frequency", - "tooltip":"" - }, - { - "name":"Curliness", - "tooltip":"" - }, - { - "name":"Mesh", - "tooltip":"" - }, - { - "name":"Distribution", - "display_data":[ - "Uniform", - "Random" - ], - "tooltip":"" - }, - { - "name":"Bake hair", - "tooltip":"Prevent strand reseting to apply manual modification. Unbaking will remove all changes." - }, - { - "name":"View fix hair", - "tooltip":"" - }, - { - "name":"Root strength", - "tooltip":"The force required to break strand from its root. Set to -1 to make strand infinitely strong." - } - ], - "tooltip":"" - }, - "Node_Armature":{ - "name":"Armature Create", - "outputs":[ - { - "name":"Armature", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Rigid_Variable":{ - "name":"Rigidbody Variable", - "outputs":[ - { - "name":"Positions", - "tooltip":"" - }, - { - "name":"Scales", - "tooltip":"" - }, - { - "name":"Rotations", - "tooltip":"" - }, - { - "name":"Blends", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Velocity", - "tooltip":"" - }, - { - "name":"Center of mass", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Object", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Color_replace":{ - "name":"Replace Palette", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Palette from", - "tooltip":"Color to be replaced." - }, - { - "name":"Palette to", - "tooltip":"Palette to be replaced to." - }, - { - "name":"Threshold", - "tooltip":"" - }, - { - "name":"Set others to black", - "tooltip":"Set pixel that doesn't match any color in 'palette from' to black." - }, - { - "name":"Multiply alpha", - "tooltip":"" - }, - { - "name":"Hard replace", - "tooltip":"Completely override pixel with new color instead of blending between it." - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Replace color that match one palette with another palette." + ] }, "Node_Move_Point":{ "name":"Translate Point", @@ -12570,6 +13031,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Point", @@ -12595,205 +13057,75 @@ "name":"Distance", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Shadow_Cast":{ - "name":"Cast Shadow", + "Node_Rate_Remap":{ + "name":"Rate Remap", "outputs":[ { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Light mask", + "name":"Surface", "tooltip":"" } ], + "tooltip":"Remap animation to a new framerate.", "inputs":[ { - "name":"Background", + "name":"Surface", "tooltip":"" }, { - "name":"Solid", - "tooltip":"" - }, - { - "name":"Light Position", - "tooltip":"" - }, - { - "name":"Soft light radius", - "tooltip":"" - }, - { - "name":"Light density", - "tooltip":"" - }, - { - "name":"Light type", - "display_data":[ - "Point", - "Sun" - ], - "tooltip":"" - }, - { - "name":"Ambient color", - "tooltip":"" - }, - { - "name":"Light color", - "tooltip":"" - }, - { - "name":"Light radius", - "tooltip":"" - }, - { - "name":"Render solid", - "tooltip":"" - }, - { - "name":"Use BG color", - "tooltip":"If checked, background color will be used as shadow caster." - }, - { - "name":"BG threshold", - "tooltip":"" - }, - { - "name":"Light intensity", - "tooltip":"" - }, - { - "name":"Banding", - "tooltip":"" - }, - { - "name":"Attenuation", - "display_data":[ - "Quadratic", - "Invert quadratic", - "Linear" - ], - "tooltip":"Control how light fade out over distance." - }, - { - "name":"Ambient occlusion", - "tooltip":"" - }, - { - "name":"Ambient occlusion strength", + "name":"Framerate", "tooltip":"" }, { "name":"Active", "tooltip":"" } - ], - "tooltip":"Apply light that create shadow using shadow mask." + ] }, - "Node_3D_Light_Directional":{ - "name":"Directional Light", + "Node_Text_File_Write":{ + "name":"Text File Out", "outputs":[ - { - "name":"Light", - "tooltip":"" - } ], + "tooltip":"Save text as a .txt file.", "inputs":[ { - "name":"Position", + "name":"Path", "tooltip":"" }, { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Intensity", - "tooltip":"" - }, - { - "name":"Cast Shadow", - "tooltip":"" - }, - { - "name":"Shadow Map Size", - "tooltip":"" - }, - { - "name":"Shadow Map Scale", - "tooltip":"" - }, - { - "name":"Shadow Bias", + "name":"Content", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_Strand_Update":{ - "name":"Strand Update", + "Node_Fluid_Group":{ + "name":"FluidSim", + "outputs":[ + ], + "tooltip":"Create group for fluid simulation.", + "inputs":[ + ] + }, + "Node_Array_Add":{ + "name":"Array Add", "outputs":[ { - "name":"Strand", + "name":"Output", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Strand", + "name":"Array", "tooltip":"" }, { - "name":"Step", + "name":"Spread array", "tooltip":"" } - ], - "tooltip":"" - }, - "Node_Logic":{ - "name":"Logic Opr", - "outputs":[ - { - "name":"Result", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Type", - "display_data":[ - "And", - "Or", - "Not", - "Nand", - "Nor", - "Xor" - ], - "tooltip":"" - }, - { - "name":"a", - "tooltip":"" - } - ], - "tooltip":"" + ] }, "Node_Atlas_Set":{ "name":"Atlas Set", @@ -12803,6 +13135,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Atlas", @@ -12832,8 +13165,7 @@ "name":"Alpha", "tooltip":"" } - ], - "tooltip":"" + ] }, "Node_Path_Wave":{ "name":"Wave Path", @@ -12843,6 +13175,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Path", @@ -12864,178 +13197,7 @@ "name":"Smooth", "tooltip":"" } - ], - "tooltip":"" - }, - "Node_Path_Plot":{ - "name":"Path plot", - "outputs":[ - { - "name":"Path", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Output scale", - "tooltip":"" - }, - { - "name":"Coordinate", - "display_data":[ - "Cartesian", - "Polar" - ], - "tooltip":"" - }, - { - "name":"Equation type", - "display_data":[ - "x function", - "y function", - "parametric" - ], - "tooltip":"" - }, - { - "name":"0 function", - "tooltip":"" - }, - { - "name":"1 function", - "tooltip":"" - }, - { - "name":"Origin", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Input scale", - "tooltip":"" - }, - { - "name":"Input shift", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Noise_Hex":{ - "name":"Hexagonal Noise", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Texture sample", - "tooltip":"" - }, - { - "name":"Oversample mode", - "display_data":[ - "Empty", - "Clamp", - "Repeat" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Scale_Algo":{ - "name":"Scale Algorithm", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Algorithm", - "display_data":[ - "Scale2x", - "Scale3x" - ], - "tooltip":"" - }, - { - "name":"Tolerance", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Scale image using scale2x, scale3x algorithm." - }, - "Node_String_Trim":{ - "name":"Trim Text", - "outputs":[ - { - "name":"Text", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Head", - "tooltip":"" - }, - { - "name":"Tail", - "tooltip":"" - }, - { - "name":"Trim", - "display_data":[ - "Character", - "Word" - ], - "tooltip":"" - }, - { - "name":"Mode", - "display_data":[ - "Counter", - "Progress" - ], - "tooltip":"Set to progress to use ratio, where 0 means no change and 1 means the entire length of the text." - } - ], - "tooltip":"" + ] }, "Node_PB_Fx_Strip":{ "name":"Strip", @@ -13045,6 +13207,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"pBox", @@ -13070,8 +13233,7 @@ ], "tooltip":"" } - ], - "tooltip":"" + ] }, "Node_Outline":{ "name":"Outline", @@ -13085,6 +13247,7 @@ "tooltip":"" } ], + "tooltip":"Add border to the image.", "inputs":[ { "name":"Surface in", @@ -13143,113 +13306,35 @@ "name":"Active", "tooltip":"" } - ], - "tooltip":"Add border to the image." + ] }, - "Node_VFX_Accelerate":{ - "name":"Accelerate", + "Node_Gradient_Shift":{ + "name":"Gradient Shift", "outputs":[ { - "name":"Particles", + "name":"Gradient", "tooltip":"" } ], + "tooltip":"Move gradients keys.", "inputs":[ { - "name":"Particles", + "name":"Gradient", "tooltip":"" }, { - "name":"Area", + "name":"Shift", "tooltip":"" }, { - "name":"Falloff", + "name":"Wrap", "tooltip":"" }, { - "name":"Falloff distance", - "tooltip":"" - }, - { - "name":"Effect Vector", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Rotate particle", - "tooltip":"" - }, - { - "name":"Scale particle", + "name":"Scale", "tooltip":"" } - ], - "tooltip":"" - }, - "Node_Rigid_Object":{ - "name":"Object", - "outputs":[ - { - "name":"Object", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Affect by force", - "tooltip":"" - }, - { - "name":"Weight", - "tooltip":"" - }, - { - "name":"Contact friction", - "tooltip":"" - }, - { - "name":"Air resistance", - "tooltip":"" - }, - { - "name":"Rotation resistance", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Box", - "Circle", - "Custom" - ], - "tooltip":"" - }, - { - "name":"Texture", - "tooltip":"" - }, - { - "name":"Start shape", - "tooltip":"" - }, - { - "name":"Spawn", - "tooltip":"Make object spawn when start." - }, - { - "name":"Generate mesh", - "tooltip":"" - }, - { - "name":"Mesh expansion", - "tooltip":"" - } - ], - "tooltip":"" + ] }, "Node_VFX_Wind":{ "name":"Wind", @@ -13259,6 +13344,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Particles", @@ -13292,17 +13378,41 @@ "name":"Scale particle", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_3D_Mesh_Plane":{ - "name":"3D Plane", + "Node_Gradient_Extract":{ + "name":"Gradient Data", "outputs":[ { - "name":"Mesh", + "name":"Colors", + "tooltip":"" + }, + { + "name":"Positions", + "tooltip":"" + }, + { + "name":"Type", "tooltip":"" } ], + "tooltip":"Get palatte and array of key positions from gradient.", + "inputs":[ + { + "name":"Gradient", + "tooltip":"" + } + ] + }, + "Node_3D_Light_Point":{ + "name":"Point Light", + "outputs":[ + { + "name":"Light", + "tooltip":"" + } + ], + "tooltip":"", "inputs":[ { "name":"Position", @@ -13317,32 +13427,7 @@ "tooltip":"" }, { - "name":"Material", - "tooltip":"" - }, - { - "name":"Normal", - "display_data":[ - "X", - "Y", - "Z" - ], - "tooltip":"" - } - ], - "tooltip":"Put 2D image on a plane in 3D space." - }, - "Node_PB_Draw_Semi_Ellipse":{ - "name":"Semi-Ellipse", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", + "name":"Active", "tooltip":"" }, { @@ -13350,150 +13435,221 @@ "tooltip":"" }, { - "name":"Apply Mask", + "name":"Intensity", "tooltip":"" }, { - "name":"Side", - "display_data":[ - 776.0, - 776.0, - 776.0, - 776.0 - ], + "name":"Radius", + "tooltip":"" + }, + { + "name":"Cast Shadow", + "tooltip":"" + }, + { + "name":"Shadow Map Size", + "tooltip":"" + }, + { + "name":"Shadow Bias", + "tooltip":"" + } + ] + }, + "Node_Blur_Simple":{ + "name":"Simple Blur", + "outputs":[ + { + "name":"Surface out", "tooltip":"" } ], - "tooltip":"" + "tooltip":"Blur image using simpler algorithm. Allowing for variable blur strength.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Blur mask", + "tooltip":"" + }, + { + "name":"Override color", + "tooltip":"Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel." + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] }, - "Node_Feedback_Input":{ - "name":"Input", + "Node_Blur":{ + "name":"Blur", "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Blur image smoothly.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Size", + "tooltip":"" + }, + { + "name":"Oversample mode", + "display_data":[ + "Empty", + "Clamp", + "Repeat" + ], + "tooltip":"How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture." + }, + { + "name":"Override color", + "tooltip":"Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel." + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_DynaSurf_Out_Height":{ + "name":"getHeight", + "outputs":[ + { + "name":"PCX", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Height", + "tooltip":"" + } + ] + }, + "Node_Color_Data":{ + "name":"Color Data", + "outputs":[ + { + "name":"Red", + "tooltip":"" + }, + { + "name":"Green", + "tooltip":"" + }, + { + "name":"Blue", + "tooltip":"" + }, + { + "name":"Hue", + "tooltip":"" + }, + { + "name":"Saturation", + "tooltip":"" + }, { "name":"Value", "tooltip":"" }, { - "name":"Feedback loop", + "name":"Brightness", "tooltip":"" } ], + "tooltip":"Get data (rgb, hsv, brightness) from color.", "inputs":[ { - "name":"Display type", - "display_data":[ - "Default", - "Range", - "Rotation", - "Rotation range", - "Slider", - "Slider range", - "Padding", - "Vector", - "Vector range", - "Area", - "Enum button", - "Menu scroll" - ], + "name":"Color", "tooltip":"" }, { - "name":"Range", - "tooltip":"" - }, - { - "name":"Input type", - "display_data":[ - "Integer", - "Float", - "Boolean", - "Color", - "Surface", - "File Path", - "Curve", - "Text", - "Object", - "Node", - "3D object", - "Any", - "Path", - "Particle", - "Rigidbody Object", - "Fluid Domain", - "Struct", - "Strands", - "Mesh", - "Trigger" - ], - "tooltip":"" - }, - { - "name":"Enum label", - "tooltip":"" - }, - { - "name":"Vector size", - "display_data":[ - "2", - "3", - "4" - ], - "tooltip":"" - }, - { - "name":"Order", - "tooltip":"" - }, - { - "name":"Display preview gizmo", - "tooltip":"" - }, - { - "name":"Step", - "tooltip":"" - }, - { - "name":"Button Label", + "name":"Normalize", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_String_Join":{ - "name":"Join Text", + "Node_Display_Text":{ + "name":"Display Text", "outputs":[ + ], + "tooltip":"Display text on the graph.", + "inputs":[ + { + "name":"Color", + "tooltip":"" + }, { "name":"Text", "tooltip":"" - } - ], - "inputs":[ + }, { - "name":"Text array", + "name":"Style", + "display_data":[ + "Header", + "Sub header", + "Normal" + ], "tooltip":"" }, { - "name":"Divider", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Text_File_Write":{ - "name":"Text File Out", - "outputs":[ - ], - "inputs":[ - { - "name":"Path", + "name":"Alpha", "tooltip":"" }, { - "name":"Content", + "name":"Line width", "tooltip":"" } - ], - "tooltip":"Save text as a .txt file." + ] }, "Node_Normal_Light":{ "name":"Normal Light", @@ -13503,6 +13659,7 @@ "tooltip":"" } ], + "tooltip":"Light up the image using normal mapping.", "inputs":[ { "name":"Surface in", @@ -13548,334 +13705,79 @@ "name":"Active", "tooltip":"" } - ], - "tooltip":"Light up the image using normal mapping." + ] }, - "Node_Array_Get":{ - "name":"Array Get", + "Node_PB_Box_Contract":{ + "name":"Contract", "outputs":[ { - "name":"Value", + "name":"pBox Center", + "tooltip":"" + }, + { + "name":"pBox Side", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Array", + "name":"Layer Shift", "tooltip":"" }, { - "name":"Index", - "tooltip":"" - }, - { - "name":"Overflow", - "display_data":[ - "Clamp", - "Loop", - "Ping Pong" - ], - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Strand_Force_Apply":{ - "name":"Strand Force Apply", - "outputs":[ - { - "name":"Strand", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Strand", - "tooltip":"" - }, - { - "name":"Shape", - "display_data":[ - "Point", - "Band" - ], - "tooltip":"" - }, - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Direction", - "tooltip":"" - }, - { - "name":"Falloff", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Turbulence", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - }, - { - "name":"Turbulence frequency", - "tooltip":"" - }, - { - "name":"Turbulence detail", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Struct":{ - "name":"Struct", - "outputs":[ - { - "name":"Struct", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Audio_Window":{ - "name":"Audio Window", - "outputs":[ - { - "name":"Windowed Array", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Audio Array", - "tooltip":"" - }, - { - "name":"Sample", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - } - ], - "tooltip":"Take a slice of an audio array based on the current frame." - }, - "Node_Gradient_Extract":{ - "name":"Gradient Data", - "outputs":[ - { - "name":"Colors", - "tooltip":"" - }, - { - "name":"Positions", + "name":"pBox", "tooltip":"" }, { "name":"Type", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Gradient", - "tooltip":"" - } - ], - "tooltip":"Get palatte and array of key positions from gradient." - }, - "Node_Armature_Bind":{ - "name":"Armature Bind", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - }, - { - "name":"Atlas data", - "tooltip":"" - }, - { - "name":"Bind data", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Dimension", - "tooltip":"" - }, - { - "name":"Armature", - "tooltip":"" - }, - { - "name":"Bind data", - "tooltip":"" - }, - { - "name":"Bone transform", - "tooltip":"" - }, - { - "name":"Bone scale", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Glow":{ - "name":"Glow", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Border", - "tooltip":"" - }, - { - "name":"Size", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply glow to the border of the image." - }, - "Node_Vector3":{ - "name":"Vector3", - "outputs":[ - { - "name":"Vector", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"x", - "tooltip":"" - }, - { - "name":"y", - "tooltip":"" - }, - { - "name":"z", - "tooltip":"" - }, - { - "name":"Integer", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_DynaSurf_Out_Height":{ - "name":"getHeight", - "outputs":[ - { - "name":"PCX", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Height", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Display_Text":{ - "name":"Display Text", - "outputs":[ - ], - "inputs":[ - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Text", - "tooltip":"" - }, - { - "name":"Style", "display_data":[ - "Header", - "Sub header", - "Normal" + "Ratio", + "Fix" ], "tooltip":"" }, { - "name":"Alpha", + "name":"Ratio", "tooltip":"" }, { - "name":"Line width", + "name":"Fix Width", + "tooltip":"" + }, + { + "name":"Axis", + "display_data":[ + "X", + "Y" + ], "tooltip":"" } - ], - "tooltip":"Display text on the graph." + ] }, - "Node_Iterate_Sort":{ - "name":"Sort Array", + "Node_PB_Draw_Ellipse":{ + "name":"Ellipse", "outputs":[ { - "name":"Array", + "name":"pBox", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Array", + "name":"pBox", + "tooltip":"" + }, + { + "name":"Color", + "tooltip":"" + }, + { + "name":"Apply Mask", "tooltip":"" } - ], - "tooltip":"Sort array using node graph." + ] }, "Node_Level":{ "name":"Level", @@ -13885,6 +13787,7 @@ "tooltip":"" } ], + "tooltip":"Adjust brightness of an image by changing its brightness range.", "inputs":[ { "name":"Surface in", @@ -13922,186 +13825,35 @@ "name":"Active", "tooltip":"" } - ], - "tooltip":"Adjust brightness of an image by changing its brightness range." + ] }, - "Node_Render_Sprite_Sheet":{ - "name":"Render Spritesheet", + "Node_Iterator_Filter_Input":{ + "name":"Input", + "outputs":[ + { + "name":"Value in", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_Rigid_Render":{ + "name":"Render", "outputs":[ { "name":"Surface out", "tooltip":"" - }, - { - "name":"Atlas Data", - "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Sprites", - "tooltip":"" - }, - { - "name":"Sprite set", - "display_data":[ - "Animation", - "Sprite array" - ], - "tooltip":"" - }, - { - "name":"Frame step", - "tooltip":"Number of frames until next sprite. Can be seen as (Step - 1) frame skip." - }, - { - "name":"Packing type", - "display_data":[ - "Horizontal", - "Vertical", - "Grid" - ], - "tooltip":"" - }, - { - "name":"Grid column", - "tooltip":"" - }, - { - "name":"Alignment", - "display_data":[ - "First", - "Middle", - "Last" - ], - "tooltip":"" - }, - { - "name":"Spacing", - "tooltip":"" - }, - { - "name":"Padding", - "tooltip":"" - }, - { - "name":"Range", - "tooltip":"Starting\/ending frames, set end to 0 to default to last frame." - } - ], - "tooltip":"Create spritesheet from image array or animation." - }, - "Node_PB_Box_Inset":{ - "name":"Inset", - "outputs":[ - { - "name":"pBox Inset", - "tooltip":"" - }, - { - "name":"pBox Frame", + "name":"Render dimension", "tooltip":"" } - ], - "inputs":[ - { - "name":"Layer Shift", - "tooltip":"" - }, - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Inset", - "tooltip":"" - }, - { - "name":"Type", - "display_data":[ - "Padding", - "Ratio" - ], - "tooltip":"" - }, - { - "name":"Width", - "tooltip":"" - }, - { - "name":"Height", - "tooltip":"" - }, - { - "name":"Horizontal alignment", - "tooltip":"" - }, - { - "name":"Vertical alignment", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Struct_Get":{ - "name":"Struct Get", - "outputs":[ - { - "name":"Struct", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Struct", - "tooltip":"" - }, - { - "name":"Key", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_ASE_File_Read":{ - "name":"ASE File In", - "outputs":[ - { - "name":"Output", - "tooltip":"" - }, - { - "name":"Content", - "tooltip":"" - }, - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Palette", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Path", - "tooltip":"" - }, - { - "name":"Generate layers", - "tooltip":"" - }, - { - "name":"Current tag", - "tooltip":"" - }, - { - "name":"Use cel dimension", - "tooltip":"" - } - ], - "tooltip":"Load Aseprite file with support for layers, tags." + ] }, "Node_Strand_Collision":{ "name":"Strand Collision", @@ -14111,6 +13863,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Strand", @@ -14120,70 +13873,7 @@ "name":"Collision mesh", "tooltip":"" } - ], - "tooltip":"" - }, - "Node_PB_Fx_Stack":{ - "name":"Stack", - "outputs":[ - { - "name":"pBox", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"pBox", - "tooltip":"" - }, - { - "name":"Amount", - "tooltip":"" - }, - { - "name":"Direction", - "display_data":[ - 798.0, - 798.0, - 798.0, - 798.0 - ], - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Highlight", - "tooltip":"" - }, - { - "name":"Highlight Color", - "tooltip":"" - }, - { - "name":"Invert", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_Color":{ - "name":"Color", - "outputs":[ - { - "name":"Color", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Color", - "tooltip":"" - } - ], - "tooltip":"" + ] }, "Node_PB_Box_Split":{ "name":"Split", @@ -14197,6 +13887,7 @@ "tooltip":"" } ], + "tooltip":"", "inputs":[ { "name":"Layer Shift", @@ -14235,101 +13926,57 @@ "name":"Mirror", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_3D_Mesh_Sphere_UV":{ - "name":"3D UV Sphere", + "Node_Armature_Bind":{ + "name":"Armature Bind", "outputs":[ { - "name":"Mesh", + "name":"Surface out", + "tooltip":"" + }, + { + "name":"Atlas data", + "tooltip":"" + }, + { + "name":"Bind data", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Position", + "name":"Dimension", "tooltip":"" }, { - "name":"Rotation", + "name":"Armature", "tooltip":"" }, { - "name":"Scale", + "name":"Bind data", "tooltip":"" }, { - "name":"Horizontal Slices", + "name":"Bone transform", "tooltip":"" }, { - "name":"Vertical Slices", - "tooltip":"" - }, - { - "name":"Material", - "tooltip":"" - }, - { - "name":"Smooth Normal", + "name":"Bone scale", "tooltip":"" } - ], - "tooltip":"" + ] }, - "Node_3D_Mesh_Cylinder":{ - "name":"3D Cylinder", - "outputs":[ - { - "name":"Mesh", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Position", - "tooltip":"" - }, - { - "name":"Rotation", - "tooltip":"" - }, - { - "name":"Scale", - "tooltip":"" - }, - { - "name":"Side", - "tooltip":"" - }, - { - "name":"Material Top", - "tooltip":"" - }, - { - "name":"Material Bottom", - "tooltip":"" - }, - { - "name":"Material Side", - "tooltip":"" - }, - { - "name":"Smooth Side", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_FXAA":{ - "name":"FXAA", + "Node_Atlas":{ + "name":"Pixel Expand", "outputs":[ { "name":"Surface out", "tooltip":"" } ], + "tooltip":"Replace transparent pixel with the closet non-transparent pixel.", "inputs":[ { "name":"Surface in", @@ -14339,8 +13986,536 @@ "name":"Active", "tooltip":"" } + ] + }, + "Node_Perlin":{ + "name":"Perlin Noise", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } ], - "tooltip":"" + "tooltip":"Generate perlin noise.", + "inputs":[ + { + "name":"Dimension", + "tooltip":"" + }, + { + "name":"Position", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + }, + { + "name":"Iteration", + "tooltip":"" + }, + { + "name":"Tile", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Color mode", + "display_data":[ + "Greyscale", + "RGB", + "HSV" + ], + "tooltip":"" + }, + { + "name":"Color R range", + "tooltip":"" + }, + { + "name":"Color G range", + "tooltip":"" + }, + { + "name":"Color B range", + "tooltip":"" + } + ] + }, + "Node_Vector4":{ + "name":"Vector4", + "outputs":[ + { + "name":"Vector", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"x", + "tooltip":"" + }, + { + "name":"y", + "tooltip":"" + }, + { + "name":"z", + "tooltip":"" + }, + { + "name":"w", + "tooltip":"" + }, + { + "name":"Integer", + "tooltip":"" + } + ] + }, + "Node_3D_Material":{ + "name":"3D Material", + "outputs":[ + { + "name":"Material", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Texture", + "tooltip":"" + }, + { + "name":"Diffuse", + "tooltip":"" + }, + { + "name":"Specular", + "tooltip":"" + }, + { + "name":"Shininess", + "tooltip":"" + }, + { + "name":"Metalic", + "tooltip":"" + }, + { + "name":"Normal Map", + "tooltip":"" + }, + { + "name":"Normal Strength", + "tooltip":"" + }, + { + "name":"Roughness", + "tooltip":"" + } + ] + }, + "Node_Normal":{ + "name":"Normal", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Create normal map using greyscale value as height.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Height", + "tooltip":"" + }, + { + "name":"Smooth", + "tooltip":"Include diagonal pixel in normal calculation, which leads to smoother output." + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Iterator_Index":{ + "name":"Index", + "outputs":[ + { + "name":"Loop index", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + ] + }, + "Node_HSV_Channel":{ + "name":"HSV Extract", + "outputs":[ + { + "name":"Hue", + "tooltip":"" + }, + { + "name":"Saturation", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Alpha", + "tooltip":"" + } + ], + "tooltip":"Extract HSVA channel on an image, each channel becomes its own image.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + } + ] + }, + "Node_Rigid_Object_Spawner":{ + "name":"Object Spawner", + "outputs":[ + { + "name":"Object", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Object", + "tooltip":"" + }, + { + "name":"Spawn area", + "tooltip":"" + }, + { + "name":"Spawn type", + "display_data":[ + "Stream", + "Burst" + ], + "tooltip":"" + }, + { + "name":"Spawn delay", + "tooltip":"" + }, + { + "name":"Spawn amount", + "tooltip":"" + }, + { + "name":"Spawn frame", + "tooltip":"" + }, + { + "name":"Spawn", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + } + ] + }, + "Node_Iterate_Sort":{ + "name":"Sort Array", + "outputs":[ + { + "name":"Array", + "tooltip":"" + } + ], + "tooltip":"Sort array using node graph.", + "inputs":[ + { + "name":"Array", + "tooltip":"" + } + ] + }, + "Node_Colors_Replace":{ + "name":"Replace Colors", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Palette from", + "tooltip":"" + }, + { + "name":"Palette to", + "tooltip":"" + }, + { + "name":"Threshold", + "tooltip":"" + }, + { + "name":"Mask", + "tooltip":"" + }, + { + "name":"Mix", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Path_Map_Area":{ + "name":"Remap Path", + "outputs":[ + { + "name":"Path", + "tooltip":"" + } + ], + "tooltip":"Scale path to fit a given area.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + } + ] + }, + "Node_VFX_Turbulence":{ + "name":"Turbulence", + "outputs":[ + { + "name":"Particles", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Particles", + "tooltip":"" + }, + { + "name":"Area", + "tooltip":"" + }, + { + "name":"Falloff", + "tooltip":"" + }, + { + "name":"Falloff distance", + "tooltip":"" + }, + { + "name":"Effect Vector", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Rotate particle", + "tooltip":"" + }, + { + "name":"Scale particle", + "tooltip":"" + }, + { + "name":"Turbulence scale", + "tooltip":"" + } + ] + }, + "Node_Transform_Array":{ + "name":"Transform Array", + "outputs":[ + { + "name":"Transform", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Postion", + "tooltip":"" + }, + { + "name":"Rotation", + "tooltip":"" + }, + { + "name":"Scale", + "tooltip":"" + } + ] + }, + "Node_Color_HSV":{ + "name":"HSV Color", + "outputs":[ + { + "name":"Color", + "tooltip":"" + } + ], + "tooltip":"Create color from HSV value.", + "inputs":[ + { + "name":"Hue", + "tooltip":"" + }, + { + "name":"Saturation", + "tooltip":"" + }, + { + "name":"Value", + "tooltip":"" + }, + { + "name":"Normalized", + "tooltip":"" + } + ] + }, + "Node_Trigger":{ + "name":"Trigger", + "outputs":[ + { + "name":"Trigger", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Trigger", + "tooltip":"" + }, + { + "name":"Trigger", + "tooltip":"" + } + ] + }, + "Node_FXAA":{ + "name":"FXAA", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Pixel_Cloud":{ + "name":"Pixel Cloud", + "outputs":[ + { + "name":"Surface out", + "tooltip":"" + } + ], + "tooltip":"Displace each pixel of the image randomly.", + "inputs":[ + { + "name":"Surface in", + "tooltip":"" + }, + { + "name":"Seed", + "tooltip":"" + }, + { + "name":"Strength", + "tooltip":"" + }, + { + "name":"Strength map", + "tooltip":"" + }, + { + "name":"Color over lifetime", + "tooltip":"" + }, + { + "name":"Distance", + "tooltip":"" + }, + { + "name":"Alpha over lifetime", + "tooltip":"" + }, + { + "name":"Random blending", + "tooltip":"" + }, + { + "name":"Active", + "tooltip":"" + } + ] + }, + "Node_Json_File_Write":{ + "name":"JSON File Out", + "outputs":[ + ], + "tooltip":"Save data to .json file.", + "inputs":[ + { + "name":"Path", + "tooltip":"" + }, + { + "name":"Struct", + "tooltip":"" + } + ] }, "Node_Line":{ "name":"Line", @@ -14350,6 +14525,7 @@ "tooltip":"" } ], + "tooltip":"Draw line on an image. Connect path data to it to draw line from path.", "inputs":[ { "name":"Dimension", @@ -14447,376 +14623,243 @@ "name":"Texture scale", "tooltip":"" } - ], - "tooltip":"Draw line on an image. Connect path data to it to draw line from path." + ] }, - "Node_Shadow":{ - "name":"Shadow", + "Node_Random_Shape":{ + "name":"Random Shape", "outputs":[ { "name":"Surface out", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Color", - "tooltip":"" - }, - { - "name":"Strength", - "tooltip":"" - }, - { - "name":"Shift", - "tooltip":"" - }, - { - "name":"Grow", - "tooltip":"" - }, - { - "name":"Blur", - "tooltip":"" - }, - { - "name":"Mask", - "tooltip":"" - }, - { - "name":"Mix", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - } - ], - "tooltip":"Apply shadow behind the image." - }, - "Node_Iterator_Each_Output":{ - "name":"Output", - "outputs":[ - { - "name":"Preview", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Value out", - "tooltip":"" - } - ], - "tooltip":"" - }, - "Node_SDF":{ - "name":"SDF", - "outputs":[ - { - "name":"Surface out", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - }, - { - "name":"Active", - "tooltip":"" - }, - { - "name":"Side", - "display_data":[ - "Inside", - "Outside", - "Both" - ], - "tooltip":"" - }, - { - "name":"Max distance", - "tooltip":"" - } - ], - "tooltip":"Create signed distance field using jump flooding algorithm." - }, - "Node_Wiggler":{ - "name":"Wiggler", - "outputs":[ - { - "name":"Output", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Range", - "tooltip":"" - }, - { - "name":"Frequency", + "name":"Dimension", "tooltip":"" }, { "name":"Seed", "tooltip":"" - }, - { - "name":"Display", - "display_data":[ - "Number", - "Graph" - ], - "tooltip":"" } - ], - "tooltip":"Create smooth random value." + ] }, - "Node_Array_Range":{ - "name":"Array Range", + "Node_IsoSurf":{ + "name":"IsoSurf", "outputs":[ { - "name":"Array", + "name":"IsoSurf", "tooltip":"" } ], + "tooltip":"", "inputs":[ { - "name":"Start", + "name":"Direction", "tooltip":"" }, { - "name":"End", + "name":"Surfaces", "tooltip":"" }, { - "name":"Step", + "name":"Angle Shift", + "tooltip":"" + }, + { + "name":"Angle Split", + "tooltip":"" + } + ] + }, + "Node_PB_Box_Transform":{ + "name":"Transform", + "outputs":[ + { + "name":"pBox", "tooltip":"" } ], - "tooltip":"Create array of numbers by setting start, end and step length." + "tooltip":"", + "inputs":[ + { + "name":"Layer Shift", + "tooltip":"" + }, + { + "name":"pBox", + "tooltip":"" + }, + { + "name":"Translate", + "tooltip":"" + } + ] }, - "Node_Image_Sheet":{ - "name":"Splice Spritesheet", + "__Node_3D_Repeat":{ + "name":"3D Repeat", "outputs":[ { "name":"Surface out", "tooltip":"" }, { - "name":"Atlas Data", + "name":"3D objects", + "tooltip":"" + }, + { + "name":"Normal pass", "tooltip":"" } ], + "tooltip":"Repeat 3D object multiple times.", "inputs":[ { - "name":"Surface in", + "name":"Dimension", "tooltip":"" }, { - "name":"Sprite size", + "name":"Object position", "tooltip":"" }, { - "name":"Row", + "name":"Object rotation", "tooltip":"" }, { - "name":"Amount", + "name":"Object scale", "tooltip":"" }, { - "name":"Offset", + "name":"Render position", "tooltip":"" }, { - "name":"Spacing", + "name":"Render scale", "tooltip":"" }, { - "name":"Padding", + "name":"Light direction", "tooltip":"" }, { - "name":"Output", + "name":"Light height", + "tooltip":"" + }, + { + "name":"Light intensity", + "tooltip":"" + }, + { + "name":"Light color", + "tooltip":"" + }, + { + "name":"Ambient color", + "tooltip":"" + }, + { + "name":"3D object", + "tooltip":"" + }, + { + "name":"Repeat", + "tooltip":"Amount of copies to be generated." + }, + { + "name":"Repeat position", + "tooltip":"" + }, + { + "name":"Repeat rotation", + "tooltip":"" + }, + { + "name":"Repeat scale", + "tooltip":"" + }, + { + "name":"Repeat pattern", "display_data":[ - "Animation", - "Array" + "Linear", + "Circular" ], "tooltip":"" }, { - "name":"Animation speed", - "tooltip":"" - }, - { - "name":"Orientation", + "name":"Axis", "display_data":[ - "Horizontal", - "Vertical" + "x", + "y", + "z" ], "tooltip":"" }, { - "name":"Auto fill", - "tooltip":"Automatically set amount based on sprite size." - }, - { - "name":"Sync animation", + "name":"Radius", "tooltip":"" }, { - "name":"Filter empty output", + "name":"Rotation", "tooltip":"" }, { - "name":"Filtered Pixel", + "name":"Projection", "display_data":[ - "Transparent", - "Color" + "Orthographic", + "Perspective" ], "tooltip":"" }, { - "name":"Filtered Color", + "name":"Field of view", + "tooltip":"" + }, + { + "name":"Scale view with dimension", "tooltip":"" } - ], - "tooltip":"Cut up spritesheet into animation or image array." + ] }, - "Node_Iterator_Index":{ - "name":"Index", + "Node_Surface_To_Buffer":{ + "name":"Buffer from Surface", "outputs":[ { - "name":"Loop index", - "tooltip":"" - } - ], - "inputs":[ - ], - "tooltip":"" - }, - "Node_Rigid_Override":{ - "name":"Rigidbody Override", - "outputs":[ - { - "name":"Object", + "name":"Buffer", "tooltip":"" } ], + "tooltip":"Create buffer from surface.", "inputs":[ { - "name":"Object", + "name":"Surface", "tooltip":"" - }, + } + ] + }, + "Node_Base_Convert":{ + "name":"Convert Base", + "outputs":[ { - "name":"Positions", - "tooltip":"" - }, - { - "name":"Scales", - "tooltip":"" - }, - { - "name":"Rotations", - "tooltip":"" - }, - { - "name":"Blends", - "tooltip":"" - }, - { - "name":"Alpha", - "tooltip":"" - }, - { - "name":"Velocity", + "name":"Result", "tooltip":"" } ], - "tooltip":"" - }, - "Node_HSV_Channel":{ - "name":"HSV Extract", - "outputs":[ - { - "name":"Hue", - "tooltip":"" - }, - { - "name":"Saturation", - "tooltip":"" - }, + "tooltip":"", + "inputs":[ { "name":"Value", "tooltip":"" }, { - "name":"Alpha", + "name":"Base from", + "tooltip":"" + }, + { + "name":"Base to", "tooltip":"" } - ], - "inputs":[ - { - "name":"Surface in", - "tooltip":"" - } - ], - "tooltip":"Extract HSVA channel on an image, each channel becomes its own image." - }, - "Node_Rigid_Object_Spawner":{ - "name":"Object Spawner", - "outputs":[ - { - "name":"Object", - "tooltip":"" - } - ], - "inputs":[ - { - "name":"Object", - "tooltip":"" - }, - { - "name":"Spawn area", - "tooltip":"" - }, - { - "name":"Spawn type", - "display_data":[ - "Stream", - "Burst" - ], - "tooltip":"" - }, - { - "name":"Spawn delay", - "tooltip":"" - }, - { - "name":"Spawn amount", - "tooltip":"" - }, - { - "name":"Spawn frame", - "tooltip":"" - }, - { - "name":"Spawn", - "tooltip":"" - }, - { - "name":"Seed", - "tooltip":"" - } - ], - "tooltip":"" + ] } } \ No newline at end of file diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index f9b2a64df..a876d0a5f 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -105,10 +105,10 @@ globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER; - VERSION = 11531; + VERSION = 11540; SAVE_VERSION = 11530; - VERSION_STRING = "1.15.3.1"; - BUILD_NUMBER = 11531; + VERSION_STRING = "1.15.4"; + BUILD_NUMBER = 11540; globalvar APPEND_MAP; APPEND_MAP = ds_map_create(); diff --git a/scripts/node_export/node_export.gml b/scripts/node_export/node_export.gml index c35645a9a..98ebc2ac3 100644 --- a/scripts/node_export/node_export.gml +++ b/scripts/node_export/node_export.gml @@ -41,7 +41,7 @@ enum NODE_EXPORT_FORMAT { gif, } -function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { +function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Export"; preview_channel = 1; autoUpdatedTrigger = false; @@ -105,10 +105,15 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor .setDisplay(VALUE_DISPLAY.slider, [0, 100, 1]) .rejectArray(); - inputs[| 11] = nodeValue("Sequence begin", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + inputs[| 11] = nodeValue("Sequence begin", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); inputs[| 12] = nodeValue("Frame range", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, -1]) - .setDisplay(VALUE_DISPLAY.slider_range, [0, PROJECT.animator.frames_total, 1]) + .setDisplay(VALUE_DISPLAY.slider_range, [0, PROJECT.animator.frames_total, 1]); + + png_format = [ "INDEX4", "INDEX8", "Default (PNG32)" ]; + png_format_r = [ "PNG4", "PNG8" ]; + inputs[| 13] = nodeValue("Subformat", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4) + .setDisplay(VALUE_DISPLAY.enum_scroll, png_format, { update_hover: false }); outputs[| 0] = nodeValue("Loop exit", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0); @@ -196,7 +201,8 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor input_display_list = [ ["Export", false], 0, 1, 2, export_template, ["Format ", false], 3, 9, - ["Settings", false], 12, 8, 5, 6, 7, 10, 11, + ["Animation", false], 12, 8, 5, 11, + ["Quality", false], 6, 7, 10, 13, ]; directory = DIRECTORY + "temp/" + string(irandom_range(100000, 999999)); @@ -448,32 +454,43 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor var extd = inputs[| 9].getValue(); var qual = inputs[| 10].getValue(); + var indx = inputs[| 13].getValue(); var ext = array_safe_get(format_image, extd, ".png"); var _pathOut = _path; - var _pathTemp = directory + "/" + string(irandom_range(10000, 99999)) + ".png"; + var _pathTemp = $"{directory}/{irandom_range(10000, 99999)}.png"; switch(ext) { case ".png": - surface_save_safe(_surf, _path); + if(indx == 0) { + surface_save_safe(_surf, _pathTemp); + + var shell_cmd = $"convert \"{_pathTemp}\" \"{_pathOut}\""; + shell_execute(magick, shell_cmd, self); + } else if(indx == 2) { + surface_save_safe(_surf, _pathOut); + } else { + surface_save_safe(_surf, _pathTemp); + + var shell_cmd = $"convert {_pathTemp} {png_format_r[indx]}:\"{_pathOut}\""; + shell_execute(magick, shell_cmd, self); + } break; case ".jpg": surface_save_safe(_surf, _pathTemp); - - _pathOut = "\"" + string_replace_all(_path, ".png", "") + ".jpg\""; - _pathTemp = "\"" + _pathTemp + "\""; - var shell_cmd = _pathTemp + " -quality " + string(qual) + " " + _pathOut; + + _pathOut = $"\"{string_replace_all(_path, ".png", "")}.jpg\""; + var shell_cmd = $"\"{_pathTemp}\" -quality {qual} {_pathOut}"; shell_execute(magick, shell_cmd, self); break; - case ".webp": + case ".webp": surface_save_safe(_surf, _pathTemp); - _pathOut = "\"" + string_replace_all(_path, ".png", "") + ".webp\""; - _pathTemp = "\"" + _pathTemp + "\""; - var shell_cmd = _pathTemp + " -quality " + string(qual) + " -define webp:lossless=true " + _pathOut; + _pathOut = $"\"{string_replace_all(_path, ".png", "")}.webp\""; + var shell_cmd = $"\"{_pathTemp}\" -quality {qual} -define webp:lossless=true {_pathOut}"; shell_execute(magick, shell_cmd, self); break; @@ -589,7 +606,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor } #endregion static step = function() { #region - var surf = inputs[| 0].getValue(); + var surf = inputs[| 0].getValue(); + var pngf = inputs[| 13].getValue(); + if(is_array(surf)) { inputs[| 3].display_data = format_array; inputs[| 3].editWidget.data_list = format_array; @@ -600,7 +619,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor outputs[| 1].setValue(surf); - var anim = inputs[| 3].getValue(); + var anim = inputs[| 3].getValue(); // single, sequence, animation var extn = inputs[| 9].getValue(); inputs[| 5].setVisible(anim == 2); @@ -608,8 +627,9 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor inputs[| 7].setVisible(anim == 2); inputs[| 8].setVisible(anim == 2); inputs[| 11].setVisible(anim == 1); - inputs[| 12].setVisible(anim >= 1); + inputs[| 12].setVisible(anim > 0); inputs[| 12].editWidget.maxx = PROJECT.animator.frames_total; + inputs[| 13].setVisible(anim < 2); if(anim == NODE_EXPORT_FORMAT.gif) { inputs[| 9].display_data = format_animation; diff --git a/scripts/node_image_animated/node_image_animated.gml b/scripts/node_image_animated/node_image_animated.gml index a80df6e5d..63268b6f2 100644 --- a/scripts/node_image_animated/node_image_animated.gml +++ b/scripts/node_image_animated/node_image_animated.gml @@ -49,10 +49,10 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 2] = nodeValue("Stretch frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Stretch animation speed to match project length.") .rejectArray(); - inputs[| 3] = nodeValue("Frame duration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + inputs[| 3] = nodeValue("Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .rejectArray(); - inputs[| 4] = nodeValue("Animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + inputs[| 4] = nodeValue("Loop modes", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Loop", "Ping pong", "Hold last frame", "Hide"]) .rejectArray(); @@ -62,18 +62,22 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons PROJECT.animator.frames_total = array_length(spr); }, "Match length"] ); + inputs[| 6] = nodeValue("Custom frame order", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); + + inputs[| 7] = nodeValue("Frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); + outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ ["Image", false], 0, 1, - ["Animation", false], 5, 2, 3, 4, + ["Animation", false], 5, 4, 6, 7, 2, 3, ]; attribute_surface_depth(); path_loaded = []; - on_drop_file = function(path) { + on_drop_file = function(path) { #region if(directory_exists(path)) { with(dialogCall(o_dialog_drag_folder, WIN_W / 2, WIN_H / 2)) { dir_paths = path; @@ -91,9 +95,9 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons } return false; - } + } #endregion - function updatePaths(paths) { + function updatePaths(paths) { #region if(!is_array(paths) && ds_exists(paths, ds_type_list)) paths = ds_list_to_array(paths); @@ -123,56 +127,71 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons } return true; - } + } #endregion insp1UpdateTooltip = __txt("Refresh"); insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; - static onInspector1Update = function() { + static onInspector1Update = function() { #region var path = inputs[| 0].getValue(); if(path == "") return; updatePaths(path); update(); - } + } #endregion - static update = function(frame = PROJECT.animator.current_frame) { + static step = function() { #region + var str = inputs[| 2].getValue(); + var _cus = inputs[| 6].getValue(); + + inputs[| 7].setVisible( _cus); + inputs[| 2].setVisible(!_cus); + inputs[| 3].setVisible(!_cus && !str); + inputs[| 4].setVisible(!_cus && !str); + } #endregion + + static update = function(frame = PROJECT.animator.current_frame) { #region var path = inputs[| 0].getValue(); if(path == "") return; if(is_array(path) && !array_equals(path, path_loaded)) updatePaths(path); if(array_length(spr) == 0) return; - var pad = inputs[| 1].getValue(); - var str = inputs[| 2].getValue(); - inputs[| 3].setVisible(!str); - inputs[| 4].setVisible(!str); + var _pad = inputs[| 1].getValue(); - var spd = str? (PROJECT.animator.frames_total + 1) / array_length(spr) : inputs[| 3].getValue(); + var _cus = inputs[| 6].getValue(); + var _str = inputs[| 2].getValue(); var _end = inputs[| 4].getValue(); - if(spd == 0) spd = 1; + var _spd = _str? (PROJECT.animator.frames_total + 1) / array_length(spr) : 1 / inputs[| 3].getValue(); + if(_spd == 0) _spd = 1; + var _frame = _cus? inputs[| 7].getValue() : floor(PROJECT.animator.current_frame / _spd); + + var _len = array_length(spr); + var _drw = true; var ww = sprite_get_width(spr[0]); var hh = sprite_get_height(spr[0]); - ww += pad[0] + pad[2]; - hh += pad[1] + pad[3]; + ww += _pad[0] + _pad[2]; + hh += _pad[1] + _pad[3]; var surfs = outputs[| 0].getValue(); surfs = surface_verify(surfs, ww, hh, attrDepth()); outputs[| 0].setValue(surfs); - var _frame = floor(PROJECT.animator.current_frame / spd); - switch(_end) { case ANIMATION_END.loop : - _frame = safe_mod(_frame, array_length(spr)); + _frame = safe_mod(_frame, _len); break; case ANIMATION_END.ping : - _frame = safe_mod(_frame, array_length(spr) * 2 - 2); - if(_frame >= array_length(spr)) - _frame = array_length(spr) * 2 - 2 - _frame; + _frame = safe_mod(_frame, _len * 2 - 2); + if(_frame >= _len) + _frame = _len * 2 - 2 - _frame; break; case ANIMATION_END.hold : - _frame = min(_frame, array_length(spr) - 1); + _frame = min(_frame, _len - 1); + break; + case ANIMATION_END.hide : + if(_frame < 0 || _frame >= _len) + _drw = false; break; } @@ -181,18 +200,11 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons var curr_w = sprite_get_width(spr[_frame]); var curr_h = sprite_get_height(spr[_frame]); - var curr_x = pad[2] + (ww - curr_w) / 2; - var curr_y = pad[1] + (hh - curr_h) / 2; + var curr_x = _pad[2] + (ww - curr_w) / 2; + var curr_y = _pad[1] + (hh - curr_h) / 2; - surface_set_target(surfs); - DRAW_CLEAR - BLEND_OVERRIDE; - if(_end == ANIMATION_END.hide) { - if(_frame < array_length(spr)) - draw_sprite(spr[_frame], 0, curr_x, curr_y); - } else - draw_sprite(spr[_frame], 0, curr_x, curr_y); - BLEND_NORMAL; - surface_reset_target(); - } + surface_set_shader(surfs); + if(_drw) draw_sprite(spr[_frame], 0, curr_x, curr_y); + surface_reset_shader(); + } #endregion } \ No newline at end of file diff --git a/scripts/node_image_gif/node_image_gif.gml b/scripts/node_image_gif/node_image_gif.gml index e72be1ce2..a8bd35825 100644 --- a/scripts/node_image_gif/node_image_gif.gml +++ b/scripts/node_image_gif/node_image_gif.gml @@ -10,7 +10,6 @@ function Node_create_Image_gif(_x, _y, _group = noone) { node.inputs[| 0].setValue(path); node.doUpdate(); - //ds_list_add(PANEL_GRAPH.nodes_list, node); return node; } @@ -21,7 +20,6 @@ function Node_create_Image_gif_path(_x, _y, path) { node.inputs[| 0].setValue(path); node.doUpdate(); - //ds_list_add(PANEL_GRAPH.nodes_list, node); return node; } @@ -30,7 +28,7 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct color = COLORS.node_blend_input; update_on_frame = true; - inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") + inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") .setDisplay(VALUE_DISPLAY.path_load, ["*.gif", ""]); inputs[| 1] = nodeValue("Set animation length to gif", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, 0) @@ -43,18 +41,35 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct inputs[| 2] = nodeValue("Output as array", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); + inputs[| 3] = nodeValue("Loop modes", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_scroll, ["Loop", "Ping pong", "Hold last frame", "Hide"]) + .rejectArray(); + + inputs[| 4] = nodeValue("Start frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); + + inputs[| 5] = nodeValue("Custom frame order", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); + + inputs[| 6] = nodeValue("Frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0); + + inputs[| 7] = nodeValue("Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); + outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") .setVisible(true, true); + + input_display_list = [ + ["Image", false], 0, + ["Output", false], 2, + ["Animation", false], 1, 3, 5, 4, 6, 7, + ]; attribute_surface_depth(); - spr = noone; + spr = noone; path_current = ""; - loading = 0; - spr_builder = noone; - - surfaces = []; + loading = 0; + spr_builder = noone; + surfaces = []; on_drop_file = function(path) { inputs[| 0].setValue(path); @@ -70,14 +85,14 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct insp1UpdateTooltip = __txt("Refresh"); insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; - static onInspector1Update = function() { + static onInspector1Update = function() { #region var path = inputs[| 0].getValue(); if(path == "") return; updatePaths(path); update(); - } + } #endregion - function updatePaths(path) { + function updatePaths(path) { #region path = try_get_path(path); if(path == -1) return false; @@ -101,9 +116,18 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct path_current = path; return true; - } + } #endregion - static step = function() { + static step = function() { #region + var _arr = inputs[| 2].getValue(); + var _lop = inputs[| 3].getValue(); + var _cus = inputs[| 5].getValue(); + + inputs[| 3].setVisible(!_arr); + inputs[| 4].setVisible(!_cus); + inputs[| 6].setVisible( _cus); + inputs[| 7].setVisible(!_cus); + if(loading == 2 && spr_builder != noone && spr_builder.building()) { surfaces = []; spr = spr_builder._spr; @@ -112,9 +136,9 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct gc_collect(); } - } + } #endregion - static update = function(frame = PROJECT.animator.current_frame) { + static update = function(frame = PROJECT.animator.current_frame) { #region var path = inputs[| 0].getValue(); if(path == "") return; if(path_current != path) updatePaths(path); @@ -148,13 +172,40 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct return; } + var _loop = inputs[| 3].getValue(); + var _strt = inputs[| 4].getValue(); + var _cust = inputs[| 5].getValue(); + var _spd = inputs[| 7].getValue(); + var _frm = _cust? inputs[| 6].getValue() : PROJECT.animator.current_frame * _spd - _strt; + + var _len = sprite_get_number(spr); + var _drw = true; + + switch(_loop) { + case ANIMATION_END.loop : + _frm = safe_mod(_frm, _len); + break; + case ANIMATION_END.ping : + _frm = safe_mod(_frm, _len * 2 - 2); + if(_frm >= _len) + _frm = _len * 2 - 2 - _frm; + break; + case ANIMATION_END.hold : + _frm = clamp(_frm, -_len, _len - 1); + break; + case ANIMATION_END.hide : + if(_frm < 0 || _frm >= _len) + _drw = false; + break; + } + _outsurf = surface_verify(_outsurf, ww, hh, attrDepth()); outputs[| 0].setValue(_outsurf); surface_set_shader(_outsurf); - draw_sprite(spr, PROJECT.animator.current_frame, 0, 0); + if(_drw) draw_sprite(spr, _frm, 0, 0); surface_reset_shader(); - } + } #endregion static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { if(loading) draw_sprite_ui(THEME.loading, 0, xx + w * _s / 2, yy + h * _s / 2, _s, _s, current_time / 2, COLORS._main_icon, 1);