mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-01-23 19:38:05 +01:00
mm
This commit is contained in:
parent
0025f9ab1b
commit
e888c23d45
468 changed files with 1442 additions and 1444 deletions
|
@ -1,50 +1,50 @@
|
||||||
function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "3D Combine";
|
name = "3D Combine";
|
||||||
|
|
||||||
inputs[0] = nodeValue_Dimension(self)
|
newInput(0, nodeValue_Dimension(self))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec3("Object position", self, [ 0, 0, 0 ])
|
newInput(1, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ])
|
newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[3] = nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ])
|
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference)
|
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[5] = nodeValue_Vec2("Render scale", self, [ 1, 1 ])
|
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[6] = nodeValue_Rotation("Light direction", self, 0)
|
newInput(6, nodeValue_Rotation("Light direction", self, 0))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider)
|
.setDisplay(VALUE_DISPLAY.slider)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[9] = nodeValue_Color("Light color", self, c_white)
|
newInput(9, nodeValue_Color("Light color", self, c_white))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[10] = nodeValue_Color("Ambient color", self, c_grey)
|
newInput(10, nodeValue_Color("Ambient color", self, c_grey))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[11] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(11, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[12] = nodeValue_Float("Field of view", self, 60)
|
newInput(12, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[13] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(13, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 0, 13,
|
["Output", false], 0, 13,
|
||||||
|
@ -66,7 +66,7 @@ function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
inputs[index] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone )
|
newInput(index, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
array_push(input_display_list, index);
|
array_push(input_display_list, index);
|
||||||
|
|
|
@ -10,37 +10,37 @@ function __Node_3D_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
|
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(9, nodeValue_Color("Light color", self, c_white));
|
newInput(9, nodeValue_Color("Light color", self, c_white));
|
||||||
|
|
||||||
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
||||||
|
|
||||||
inputs[11] = nodeValue("3D vertex", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [])
|
newInput(11, nodeValue("3D vertex", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, []))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[13] = nodeValue_Float("Field of view", self, 60)
|
newInput(13, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
newInput(14, nodeValue_Bool("Scale view with dimension", self, true));
|
newInput(14, nodeValue_Bool("Scale view with dimension", self, true));
|
||||||
|
|
||||||
newInput(15, nodeValue_Surface("Displacement map", self));
|
newInput(15, nodeValue_Surface("Displacement map", self));
|
||||||
|
|
||||||
inputs[16] = nodeValue_Float("Strength", self, 1)
|
newInput(16, nodeValue_Float("Strength", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 4, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 4, 0.01 ] });
|
||||||
|
|
||||||
input_display_list = [ 11,
|
input_display_list = [ 11,
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "3D Export";
|
name = "3D Export";
|
||||||
|
|
||||||
inputs[0] = nodeValue("Vertex data", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [] )
|
newInput(0, nodeValue("Vertex data", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [] ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Path("Path", self, "", "Export location without '.obj' extension." )
|
newInput(1, nodeValue_Path("Path", self, "", "Export location without '.obj' extension." ))
|
||||||
.setDisplay(VALUE_DISPLAY.path_save, { filter: "3d object|*.obj" });
|
.setDisplay(VALUE_DISPLAY.path_save, { filter: "3d object|*.obj" });
|
||||||
|
|
||||||
newInput(2, nodeValue_Bool("Export texture", self, true ));
|
newInput(2, nodeValue_Bool("Export texture", self, true ));
|
||||||
|
|
|
@ -12,22 +12,22 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
||||||
|
|
||||||
newInput(4, nodeValue_Vec3("Object scale", self, [ 1, 1, 0.1 ]));
|
newInput(4, nodeValue_Vec3("Object scale", self, [ 1, 1, 0.1 ]));
|
||||||
|
|
||||||
inputs[5] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(5, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(1); }, VALUE_UNIT.reference);
|
.setUnitRef( function() { return getInputData(1); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(6, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(6, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
newInput(7, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(7, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
inputs[8] = nodeValue_Trigger("Manual generate", self, false )
|
newInput(8, nodeValue_Trigger("Manual generate", self, false ))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() { generateMesh(); doUpdate(); } });
|
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() { generateMesh(); doUpdate(); } });
|
||||||
|
|
||||||
newInput(9, nodeValue_Rotation("Light direction", self, 0));
|
newInput(9, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[10] = nodeValue_Float("Light height", self, 0.5)
|
newInput(10, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[11] = nodeValue_Float("Light intensity", self, 1)
|
newInput(11, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(12, nodeValue_Color("Light color", self, c_white));
|
newInput(12, nodeValue_Color("Light color", self, c_white));
|
||||||
|
@ -37,15 +37,15 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
||||||
|
|
||||||
newInput(15, nodeValue_Bool("Always update", self, false));
|
newInput(15, nodeValue_Bool("Always update", self, false));
|
||||||
|
|
||||||
inputs[16] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(16, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[17] = nodeValue_Float("Field of view", self, 60)
|
newInput(17, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[18] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(18, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
inputs[19] = nodeValue_Bool("Smooth", self, false)
|
newInput(19, nodeValue_Bool("Smooth", self, false))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 1, 18,
|
["Output", false], 1, 18,
|
||||||
|
|
|
@ -8,7 +8,7 @@ function Node_3D_Light(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
newInput(in_d3d + 1, nodeValue_Color("Color", self, c_white));
|
newInput(in_d3d + 1, nodeValue_Color("Color", self, c_white));
|
||||||
|
|
||||||
inputs[in_d3d + 2] = nodeValue_Float("Intensity", self, 1)
|
newInput(in_d3d + 2, nodeValue_Float("Intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
in_light = array_length(inputs);
|
in_light = array_length(inputs);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
function Node_3D_Modifier(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
function Node_3D_Modifier(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
||||||
name = "3D Mesh Modifier";
|
name = "3D Mesh Modifier";
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone)
|
newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
in_mesh = array_length(inputs);
|
in_mesh = array_length(inputs);
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "3D Object";
|
name = "3D Object";
|
||||||
|
|
||||||
inputs[0] = nodeValue_Path("Path", self, "")
|
newInput(0, nodeValue_Path("Path", self, ""))
|
||||||
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
|
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[1] = nodeValue_Trigger("Generate", self, false )
|
newInput(1, nodeValue_Trigger("Generate", self, false ))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() {
|
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", UI : true, onClick: function() {
|
||||||
updateObj();
|
updateObj();
|
||||||
doUpdate();
|
doUpdate();
|
||||||
|
@ -13,47 +13,47 @@ function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructo
|
||||||
|
|
||||||
newInput(2, nodeValue_Dimension(self));
|
newInput(2, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Rotation("Light direction", self, 0)
|
newInput(6, nodeValue_Rotation("Light direction", self, 0))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider)
|
.setDisplay(VALUE_DISPLAY.slider)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[9] = nodeValue_Color("Light color", self, c_white)
|
newInput(9, nodeValue_Color("Light color", self, c_white))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[10] = nodeValue_Color("Ambient color", self, c_grey)
|
newInput(10, nodeValue_Color("Ambient color", self, c_grey))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(11, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
newInput(11, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[12] = nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error.")
|
newInput(12, nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error."))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(13, nodeValue_Vec3("Object rotation", self, [ 0, 0, 180 ]));
|
newInput(13, nodeValue_Vec3("Object rotation", self, [ 0, 0, 180 ]));
|
||||||
|
|
||||||
newInput(14, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
newInput(14, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
inputs[15] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(15, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[16] = nodeValue_Float("Field of view", self, 60)
|
newInput(16, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 0.1 ] })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[17] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 2, 17,
|
["Output", false], 2, 17,
|
||||||
|
|
|
@ -4,14 +4,14 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
||||||
|
|
||||||
newInput(0, nodeValue_Surface("Surface in", self));
|
newInput(0, nodeValue_Surface("Surface in", self));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(1, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]));
|
newInput(2, nodeValue_Vec3("Object rotation", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(3, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Enum_Scroll("Output dimension", self, OUTPUT_SCALING.same_as_input, [ "Same as input", "Constant", "Relative to input" ])
|
newInput(4, nodeValue_Enum_Scroll("Output dimension", self, OUTPUT_SCALING.same_as_input, [ "Same as input", "Constant", "Relative to input" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(5, nodeValue_Vec2("Constant dimension", self, DEF_SURF));
|
newInput(5, nodeValue_Vec2("Constant dimension", self, DEF_SURF));
|
||||||
|
@ -20,17 +20,17 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
||||||
|
|
||||||
newInput(7, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
newInput(7, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[8] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(8, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[9] = nodeValue_Float("Field of view", self, 60)
|
newInput(9, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
newInput(10, nodeValue_Vec2("Texture scale", self, [ 1, 1 ]));
|
newInput(10, nodeValue_Vec2("Texture scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
newInput(11, nodeValue_Vec2("Texture shift", self, [ 0, 0 ]));
|
newInput(11, nodeValue_Vec2("Texture shift", self, [ 0, 0 ]));
|
||||||
|
|
||||||
inputs[12] = nodeValue_Int("Subdiviion", self, 1)
|
newInput(12, nodeValue_Int("Subdiviion", self, 1))
|
||||||
|
|
||||||
newInput(13, nodeValue_Enum_Button("Normal axis", self, 2, [ "X", "Y", "Z" ]));
|
newInput(13, nodeValue_Enum_Button("Normal axis", self, 2, [ "X", "Y", "Z" ]));
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(0, nodeValue_Dimension(self));
|
newInput(0, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(1, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(2, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(2, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
@ -15,10 +15,10 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(5, nodeValue_Rotation("Light direction", self, 0));
|
newInput(5, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Float("Light height", self, 0.5)
|
newInput(6, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light intensity", self, 1)
|
newInput(7, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(8, nodeValue_Color("Light color", self, c_white));
|
newInput(8, nodeValue_Color("Light color", self, c_white));
|
||||||
|
@ -28,10 +28,10 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(11, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
newInput(11, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[13] = nodeValue_Float("Field of view", self, 60)
|
newInput(13, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
newInput(14, nodeValue_Int("Sides", self, 16));
|
newInput(14, nodeValue_Int("Sides", self, 16));
|
||||||
|
@ -40,7 +40,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(16, nodeValue_Surface("Textures side", self));
|
newInput(16, nodeValue_Surface("Textures side", self));
|
||||||
|
|
||||||
inputs[17] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 0, 17,
|
["Output", false], 0, 17,
|
||||||
|
|
|
@ -7,7 +7,7 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(1, nodeValue_Dimension(self));
|
newInput(1, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(2, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
@ -27,10 +27,10 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(13, nodeValue_Rotation("Light direction", self, 0));
|
newInput(13, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[14] = nodeValue_Float("Light height", self, 0.5)
|
newInput(14, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[15] = nodeValue_Float("Light intensity", self, 1)
|
newInput(15, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(16, nodeValue_Color("Light color", self, c_white));
|
newInput(16, nodeValue_Color("Light color", self, c_white));
|
||||||
|
@ -41,13 +41,13 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(19, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
newInput(19, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
inputs[20] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(20, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[21] = nodeValue_Float("Field of view", self, 60)
|
newInput(21, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[22] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(22, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 1, 22,
|
["Output", false], 1, 22,
|
||||||
|
|
|
@ -9,7 +9,7 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
|
|
||||||
newInput(2, nodeValue_Dimension(self));
|
newInput(2, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
@ -24,10 +24,10 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
|
|
||||||
newInput(10, nodeValue_Rotation("Light direction", self, 0));
|
newInput(10, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[11] = nodeValue_Float("Light height", self, 0.5)
|
newInput(11, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[12] = nodeValue_Float("Light intensity", self, 1)
|
newInput(12, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(13, nodeValue_Color("Light color", self, c_white));
|
newInput(13, nodeValue_Color("Light color", self, c_white));
|
||||||
|
@ -37,16 +37,16 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
|
|
||||||
newInput(16, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
newInput(16, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
inputs[17] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(17, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[18] = nodeValue_Float("Field of view", self, 60)
|
newInput(18, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[19] = nodeValue_Float("Taper", self, 1)
|
newInput(19, nodeValue_Float("Taper", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[20] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(20, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 2, 20,
|
["Output", false], 2, 20,
|
||||||
|
|
|
@ -3,12 +3,12 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
batch_output = false;
|
batch_output = false;
|
||||||
dimension_index = 1;
|
dimension_index = 1;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Vec2("Subdivisions", self, [8, 4])
|
newInput(0, nodeValue_Vec2("Subdivisions", self, [8, 4]))
|
||||||
.setTooltip("Amount of polygon in X and Y axis.");
|
.setTooltip("Amount of polygon in X and Y axis.");
|
||||||
|
|
||||||
newInput(1, nodeValue_Dimension(self));
|
newInput(1, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(2, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
newInput(3, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
@ -21,10 +21,10 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
|
|
||||||
newInput(7, nodeValue_Rotation("Light direction", self, 0));
|
newInput(7, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light height", self, 0.5)
|
newInput(8, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[9] = nodeValue_Float("Light intensity", self, 1)
|
newInput(9, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(10, nodeValue_Color("Light color", self, c_white));
|
newInput(10, nodeValue_Color("Light color", self, c_white));
|
||||||
|
@ -34,13 +34,13 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
|
|
||||||
newInput(13, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
newInput(13, nodeValue_Vec3("Object position", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
inputs[14] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(14, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[15] = nodeValue_Float("Field of view", self, 60)
|
newInput(15, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[16] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(16, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Output", false], 1, 16,
|
["Output", false], 1, 16,
|
||||||
|
|
|
@ -3,39 +3,39 @@
|
||||||
|
|
||||||
// newInput(2, nodeValue_Dimension(self));
|
// newInput(2, nodeValue_Dimension(self));
|
||||||
|
|
||||||
// inputs[3] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
// newInput(3, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
// .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
// .setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
// newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
// newInput(4, nodeValue_Vec3("Render rotation", self, [ 0, 0, 0 ]));
|
||||||
|
|
||||||
// newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
// newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
// inputs[6] = nodeValue_Float("Light direction", self, 0)
|
// newInput(6, nodeValue_Float("Light direction", self, 0))
|
||||||
// .setDisplay(VALUE_DISPLAY.rotation)
|
// .setDisplay(VALUE_DISPLAY.rotation)
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
// newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
// .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
// .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] })
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
// newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
// .setDisplay(VALUE_DISPLAY.slider)
|
// .setDisplay(VALUE_DISPLAY.slider)
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[9] = nodeValue_Color("Light color", self, c_white)
|
// newInput(9, nodeValue_Color("Light color", self, c_white))
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[10] = nodeValue_Color("Ambient color", self, c_grey)
|
// newInput(10, nodeValue_Color("Ambient color", self, c_grey))
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[15] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
// newInput(15, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[16] = nodeValue_Float("Field of view", self, 60)
|
// newInput(16, nodeValue_Float("Field of view", self, 60))
|
||||||
// .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 1 ] })
|
// .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 1 ] })
|
||||||
// .rejectArray();
|
// .rejectArray();
|
||||||
|
|
||||||
// inputs[17] = nodeValue_Bool("Scale view with dimension", self, true)
|
// newInput(17, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
// input_display_list = [
|
// input_display_list = [
|
||||||
// ["Output", false], 2, 17,
|
// ["Output", false], 2, 17,
|
||||||
|
|
|
@ -9,24 +9,24 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Vec3("Render position", self, [ 0.5, 0.5 ])
|
newInput(4, nodeValue_Vec3("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
|
.setUnitRef( function() { return getInputData(0); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(9, nodeValue_Color("Light color", self, c_white));
|
newInput(9, nodeValue_Color("Light color", self, c_white));
|
||||||
|
|
||||||
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
||||||
|
|
||||||
inputs[11] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone)
|
newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(12, nodeValue_Int("Repeat", self, 1, "Amount of copies to be generated."));
|
newInput(12, nodeValue_Int("Repeat", self, 1, "Amount of copies to be generated."));
|
||||||
|
@ -37,7 +37,7 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
newInput(15, nodeValue_Vec3("Repeat scale", self, [ 1, 1, 1 ]));
|
newInput(15, nodeValue_Vec3("Repeat scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[16] = nodeValue_Enum_Button("Repeat pattern", self, 0, [ "Linear", "Circular" ])
|
newInput(16, nodeValue_Enum_Button("Repeat pattern", self, 0, [ "Linear", "Circular" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(17, nodeValue_Enum_Button("Axis", self, 0, [ "x", "y", "z" ]));
|
newInput(17, nodeValue_Enum_Button("Axis", self, 0, [ "x", "y", "z" ]));
|
||||||
|
@ -46,13 +46,13 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
newInput(19, nodeValue_Rotation_Range("Rotation", self, [ 0, 360 ]));
|
newInput(19, nodeValue_Rotation_Range("Rotation", self, [ 0, 360 ]));
|
||||||
|
|
||||||
inputs[20] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(20, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[21] = nodeValue_Float("Field of view", self, 60)
|
newInput(21, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[22] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(22, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [ 11,
|
input_display_list = [ 11,
|
||||||
["Output", false], 0, 22,
|
["Output", false], 0, 22,
|
||||||
|
|
|
@ -10,33 +10,33 @@ function __Node_3D_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
newInput(3, nodeValue_Vec3("Object scale", self, [ 1, 1, 1 ]));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ])
|
newInput(4, nodeValue_Vec2("Render position", self, [ 0.5, 0.5 ]))
|
||||||
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
.setUnitRef( function() { return getInputData(2); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
newInput(5, nodeValue_Vec2("Render scale", self, [ 1, 1 ]));
|
||||||
|
|
||||||
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
newInput(6, nodeValue_Rotation("Light direction", self, 0));
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Light height", self, 0.5)
|
newInput(7, nodeValue_Float("Light height", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 0.01] });
|
||||||
|
|
||||||
inputs[8] = nodeValue_Float("Light intensity", self, 1)
|
newInput(8, nodeValue_Float("Light intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(9, nodeValue_Color("Light color", self, c_white));
|
newInput(9, nodeValue_Color("Light color", self, c_white));
|
||||||
|
|
||||||
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
|
||||||
|
|
||||||
inputs[11] = nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone)
|
newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[12] = nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ])
|
newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[13] = nodeValue_Float("Field of view", self, 60)
|
newInput(13, nodeValue_Float("Field of view", self, 60))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 1, 90, 0.1 ] });
|
||||||
|
|
||||||
inputs[14] = nodeValue_Bool("Scale view with dimension", self, true)
|
newInput(14, nodeValue_Bool("Scale view with dimension", self, true))
|
||||||
|
|
||||||
input_display_list = [ 11,
|
input_display_list = [ 11,
|
||||||
["Output", false], 0, 14,
|
["Output", false], 0, 14,
|
||||||
|
|
|
@ -20,31 +20,31 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
seed = 1;
|
seed = 1;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Particle("Particles", self, -1 )
|
newInput(0, nodeValue_Particle("Particles", self, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Area("Area", self, DEF_AREA)
|
newInput(1, nodeValue_Area("Area", self, DEF_AREA))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue("Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01 )
|
newInput(2, nodeValue("Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01 ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Falloff distance", self, 4 )
|
newInput(3, nodeValue_Float("Falloff distance", self, 4 ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[4] = nodeValue_Vec2("Effect Vector", self, [ -1, 0 ] )
|
newInput(4, nodeValue_Vec2("Effect Vector", self, [ -1, 0 ] ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[5] = nodeValue_Float("Strength", self, 1 )
|
newInput(5, nodeValue_Float("Strength", self, 1 ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[6] = nodeValue_Rotation_Range("Rotate particle", self, [ 0, 0 ] )
|
newInput(6, nodeValue_Rotation_Range("Rotate particle", self, [ 0, 0 ] ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[7] = nodeValue_Vec2_Range("Scale particle", self, [ 0, 0, 0, 0 ] , { linked : true })
|
newInput(7, nodeValue_Vec2_Range("Scale particle", self, [ 0, 0, 0, 0 ] , { linked : true }))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[8] = nodeValue_Int("Seed", self, seed_random(6))
|
newInput(8, nodeValue_Int("Seed", self, seed_random(6)))
|
||||||
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[8].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) })
|
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[8].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ function Node_Custom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
||||||
|
|
||||||
for( var i = 0, n = array_length(info.inputs); i < n; i++ ) {
|
for( var i = 0, n = array_length(info.inputs); i < n; i++ ) {
|
||||||
var _input = info.inputs[i];
|
var _input = info.inputs[i];
|
||||||
inputs[i] = nodeValue(_input.name, self, JUNCTION_CONNECT.input, value_type_from_string(_input.type), _input.value)
|
newInput(i, nodeValue(_input.name, self, JUNCTION_CONNECT.input, value_type_from_string(_input.type), _input.value))
|
||||||
.setVisible(_input.show_in_inspector, _input.show_in_graph);
|
.setVisible(_input.show_in_inspector, _input.show_in_graph);
|
||||||
input_index_map[? _input.name] = i;
|
input_index_map[? _input.name] = i;
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(1, nodeValue_Int("Spawn delay", self, 4, "Frames delay between each particle spawn." ));
|
newInput(1, nodeValue_Int("Spawn delay", self, 4, "Frames delay between each particle spawn." ));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Range("Spawn amount", self, [ 2, 2 ] , { linked : true })
|
newInput(2, nodeValue_Range("Spawn amount", self, [ 2, 2 ] , { linked : true }))
|
||||||
.setTooltip("Amount of particle spawn in that frame.");
|
.setTooltip("Amount of particle spawn in that frame.");
|
||||||
|
|
||||||
newInput(3, nodeValue_Area("Spawn area", self, DEF_AREA ));
|
newInput(3, nodeValue_Area("Spawn area", self, DEF_AREA ));
|
||||||
|
@ -47,20 +47,20 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(21, nodeValue_Bool("Loop", self, true ));
|
newInput(21, nodeValue_Bool("Loop", self, true ));
|
||||||
|
|
||||||
inputs[22] = nodeValue_Enum_Scroll("Surface array", self, 0, [ "Random", "Order", "Animation", "Scale" ])
|
newInput(22, nodeValue_Enum_Scroll("Surface array", self, 0, [ "Random", "Order", "Animation", "Scale" ]))
|
||||||
.setTooltip("Whether to select image from an array in order, at random, or treat array as animation.")
|
.setTooltip("Whether to select image from an array in order, at random, or treat array as animation.")
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
inputs[23] = nodeValue_Range("Animation speed", self, [ 1, 1 ] , { linked : true })
|
newInput(23, nodeValue_Range("Animation speed", self, [ 1, 1 ] , { linked : true }))
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
newInput(24, nodeValue_Enum_Button("Scatter", self, 1, [ "Uniform", "Random" ]));
|
newInput(24, nodeValue_Enum_Button("Scatter", self, 1, [ "Uniform", "Random" ]));
|
||||||
|
|
||||||
inputs[25] = nodeValue_Int("Boundary data", self, [])
|
newInput(25, nodeValue_Int("Boundary data", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(false, true);
|
.setVisible(false, true);
|
||||||
|
|
||||||
inputs[26] = nodeValue_Enum_Button("On animation end", self, ANIM_END_ACTION.loop, [ "Loop", "Ping pong", "Destroy" ])
|
newInput(26, nodeValue_Enum_Button("On animation end", self, ANIM_END_ACTION.loop, [ "Loop", "Ping pong", "Destroy" ]))
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
newInput(27, nodeValue_Bool("Spawn", self, true));
|
newInput(27, nodeValue_Bool("Spawn", self, true));
|
||||||
|
@ -69,12 +69,12 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(29, nodeValue_Bool("Directed from center", self, false, "Make particle move away from the spawn center."));
|
newInput(29, nodeValue_Bool("Directed from center", self, false, "Make particle move away from the spawn center."));
|
||||||
|
|
||||||
inputs[30] = nodeValue_Surface("Distribution map", self)
|
newInput(30, nodeValue_Surface("Distribution map", self))
|
||||||
|
|
||||||
inputs[31] = nodeValue_Surface("Atlas", self, [])
|
newInput(31, nodeValue_Surface("Atlas", self, []))
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
inputs[32] = nodeValue_Float("Seed", self, seed_random(6))
|
newInput(32, nodeValue_Float("Seed", self, seed_random(6)))
|
||||||
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
||||||
|
|
||||||
newInput(33, nodeValue_Rotation("Gravity direction", self, -90));
|
newInput(33, nodeValue_Rotation("Gravity direction", self, -90));
|
||||||
|
@ -89,10 +89,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(38, nodeValue_Float("Ground offset", self, 0 ));
|
newInput(38, nodeValue_Float("Ground offset", self, 0 ));
|
||||||
|
|
||||||
inputs[39] = nodeValue_Float("Bounce amount", self, 0.5 )
|
newInput(39, nodeValue_Float("Bounce amount", self, 0.5 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[40] = nodeValue_Float("Bounce friction", self, 0.1, "Apply horizontal friction once particle stop bouncing." )
|
newInput(40, nodeValue_Float("Bounce friction", self, 0.1, "Apply horizontal friction once particle stop bouncing." ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(41, nodeValue_Vec2("Position wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
|
newInput(41, nodeValue_Vec2("Position wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
|
||||||
|
@ -101,7 +101,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(43, nodeValue_Vec2("Scale wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
|
newInput(43, nodeValue_Vec2("Scale wiggle", self, [ 0, 0 ] , { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }));
|
||||||
|
|
||||||
inputs[44] = nodeValue_Trigger("Spawn", self, false )
|
newInput(44, nodeValue_Trigger("Spawn", self, false ))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" });
|
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" });
|
||||||
|
|
||||||
newInput(45, nodeValue_Bool("Follow Path", self, false ));
|
newInput(45, nodeValue_Bool("Follow Path", self, false ));
|
||||||
|
@ -110,7 +110,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(47, nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
|
newInput(47, nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
|
||||||
|
|
||||||
inputs[48] = nodeValue_Trigger("Reset Seed", self, false )
|
newInput(48, nodeValue_Trigger("Reset Seed", self, false ))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" })
|
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" })
|
||||||
|
|
||||||
newInput(49, nodeValue_Bool("Stretch Animation", self, false ));
|
newInput(49, nodeValue_Bool("Stretch Animation", self, false ));
|
||||||
|
|
|
@ -40,7 +40,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
icon = THEME.strandSim;
|
icon = THEME.strandSim;
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Strand", self, JUNCTION_CONNECT.input, VALUE_TYPE.strands, noone)
|
newInput(0, nodeValue("Strand", self, JUNCTION_CONNECT.input, VALUE_TYPE.strands, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Enum_Scroll("Shape", self, 0, [ "Point", "Band" ]));
|
newInput(1, nodeValue_Enum_Scroll("Shape", self, 0, [ "Point", "Band" ]));
|
||||||
|
@ -51,7 +51,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(4, nodeValue_Rotation("Direction", self, 0));
|
newInput(4, nodeValue_Rotation("Direction", self, 0));
|
||||||
|
|
||||||
inputs[5] = nodeValue_Float("Falloff", self, 0.2)
|
newInput(5, nodeValue_Float("Falloff", self, 0.2))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Strand", self, VALUE_TYPE.strands, noone);
|
outputs[0] = nodeValue_Output("Strand", self, VALUE_TYPE.strands, noone);
|
||||||
|
|
|
@ -3,7 +3,7 @@ function __init_mask_modifier(_mask_index) { #region
|
||||||
|
|
||||||
newInput(_ind + 0, nodeValue_Bool("Invert mask", self, false));
|
newInput(_ind + 0, nodeValue_Bool("Invert mask", self, false));
|
||||||
|
|
||||||
inputs[_ind + 1] = nodeValue_Float("Mask feather", self, 0)
|
newInput(_ind + 1, nodeValue_Float("Mask feather", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 32, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 32, 0.1] });
|
||||||
|
|
||||||
__mask_index = _mask_index;
|
__mask_index = _mask_index;
|
||||||
|
|
|
@ -16,7 +16,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(5, nodeValue_Enum_Scroll("Palette Select", self, 0, [ "Loop", "Pingpong", "Random" ]));
|
newInput(5, nodeValue_Enum_Scroll("Palette Select", self, 0, [ "Loop", "Pingpong", "Random" ]));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Int("Seed", self, seed_random(6))
|
newInput(6, nodeValue_Int("Seed", self, seed_random(6)))
|
||||||
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[6].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[6].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Surface", self, VALUE_TYPE.surface, noone);
|
outputs[0] = nodeValue_Output("Surface", self, VALUE_TYPE.surface, noone);
|
||||||
|
|
|
@ -22,12 +22,12 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
|
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
|
||||||
new scrollItem("Spot", s_node_2d_light_shape, 3), ]);
|
new scrollItem("Spot", s_node_2d_light_shape, 3), ]);
|
||||||
|
|
||||||
inputs[2] = nodeValue_Vec2("Center", self, [ 16, 16 ])
|
newInput(2, nodeValue_Vec2("Center", self, [ 16, 16 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); });
|
.setUnitRef(function(index) { return getDimension(index); });
|
||||||
|
|
||||||
newInput(3, nodeValue_Float("Range", self, 16));
|
newInput(3, nodeValue_Float("Range", self, 16));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Float("Intensity", self, 1)
|
newInput(4, nodeValue_Float("Intensity", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(5, nodeValue_Color("Color", self, c_white));
|
newInput(5, nodeValue_Color("Color", self, c_white));
|
||||||
|
@ -36,13 +36,13 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
newInput(7, nodeValue_Vec2("Finish", self, [ 32, 16 ]));
|
newInput(7, nodeValue_Vec2("Finish", self, [ 32, 16 ]));
|
||||||
|
|
||||||
inputs[8] = nodeValue_Int("Sweep", self, 15)
|
newInput(8, nodeValue_Int("Sweep", self, 15))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
|
||||||
|
|
||||||
inputs[9] = nodeValue_Int("Sweep end", self, 0)
|
newInput(9, nodeValue_Int("Sweep end", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [-80, 80, 0.1] });
|
||||||
|
|
||||||
inputs[10] = nodeValue_Int("Banding", self, 0)
|
newInput(10, nodeValue_Int("Banding", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
|
||||||
|
|
||||||
inputs[11] = nodeValue_Enum_Scroll("Attenuation", self, 0,
|
inputs[11] = nodeValue_Enum_Scroll("Attenuation", self, 0,
|
||||||
|
@ -51,12 +51,12 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
new scrollItem("Linear", s_node_curve, 2), ])
|
new scrollItem("Linear", s_node_curve, 2), ])
|
||||||
.setTooltip("Control how light fade out over distance.");
|
.setTooltip("Control how light fade out over distance.");
|
||||||
|
|
||||||
inputs[12] = nodeValue_Int("Radial banding", self, 0)
|
newInput(12, nodeValue_Int("Radial banding", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
|
||||||
|
|
||||||
newInput(13, nodeValue_Rotation("Radial start", self, 0));
|
newInput(13, nodeValue_Rotation("Radial start", self, 0));
|
||||||
|
|
||||||
inputs[14] = nodeValue_Float("Radial band ratio", self, 0.5)
|
newInput(14, nodeValue_Float("Radial band ratio", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(15, nodeValue_Bool("Active", self, true));
|
newInput(15, nodeValue_Bool("Active", self, true));
|
||||||
|
|
|
@ -18,7 +18,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
global.SKY_SPHERE = new __3dUVSphere(0.5, 16, 8, true);
|
global.SKY_SPHERE = new __3dUVSphere(0.5, 16, 8, true);
|
||||||
|
|
||||||
inputs[in_d3d + 0] = nodeValue_Int("FOV", self, 60 )
|
newInput(in_d3d + 0, nodeValue_Int("FOV", self, 60 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 10, 90, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 10, 90, 0.1 ] });
|
||||||
|
|
||||||
newInput(in_d3d + 1, nodeValue_Vec2("Clipping Distance", self, [ 1, 10 ] ));
|
newInput(in_d3d + 1, nodeValue_Vec2("Clipping Distance", self, [ 1, 10 ] ));
|
||||||
|
@ -27,7 +27,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
newInput(in_d3d + 3, nodeValue_Enum_Button("Projection", self, 1 , [ "Perspective", "Orthographic" ]));
|
newInput(in_d3d + 3, nodeValue_Enum_Button("Projection", self, 1 , [ "Perspective", "Orthographic" ]));
|
||||||
|
|
||||||
inputs[in_d3d + 4] = nodeValue_D3Scene("Scene", self, noone )
|
newInput(in_d3d + 4, nodeValue_D3Scene("Scene", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_d3d + 5, nodeValue_Color("Ambient Light", self, c_dkgrey ));
|
newInput(in_d3d + 5, nodeValue_Color("Ambient Light", self, c_dkgrey ));
|
||||||
|
@ -36,7 +36,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
newInput(in_d3d + 7, nodeValue_Enum_Button("Backface Culling", self, 2 , [ "None", "CW", "CCW" ]));
|
newInput(in_d3d + 7, nodeValue_Enum_Button("Backface Culling", self, 2 , [ "None", "CW", "CCW" ]));
|
||||||
|
|
||||||
inputs[in_d3d + 8] = nodeValue_Float("Orthographic Scale", self, 0.5 )
|
newInput(in_d3d + 8, nodeValue_Float("Orthographic Scale", self, 0.5 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
|
||||||
|
|
||||||
newInput(in_d3d + 9, nodeValue_Enum_Scroll("Postioning Mode", self, 2, [ "Position + Rotation", "Position + Lookat", "Lookat + Rotation" ] ));
|
newInput(in_d3d + 9, nodeValue_Enum_Scroll("Postioning Mode", self, 2, [ "Position + Rotation", "Position + Lookat", "Lookat + Rotation" ] ));
|
||||||
|
@ -47,7 +47,7 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
newInput(in_d3d + 12, nodeValue_Rotation("Horizontal Angle", self, 45 ));
|
newInput(in_d3d + 12, nodeValue_Rotation("Horizontal Angle", self, 45 ));
|
||||||
|
|
||||||
inputs[in_d3d + 13] = nodeValue_Float("Vertical Angle", self, 30 )
|
newInput(in_d3d + 13, nodeValue_Float("Vertical Angle", self, 30 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
||||||
|
|
||||||
newInput(in_d3d + 14, nodeValue_Float("Distance", self, 4 ));
|
newInput(in_d3d + 14, nodeValue_Float("Distance", self, 4 ));
|
||||||
|
@ -62,10 +62,10 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
|
|
||||||
newInput(in_d3d + 19, nodeValue_Float("AO Bias", self, 0.05 ));
|
newInput(in_d3d + 19, nodeValue_Float("AO Bias", self, 0.05 ));
|
||||||
|
|
||||||
inputs[in_d3d + 20] = nodeValue_Float("AO Strength", self, 1. )
|
newInput(in_d3d + 20, nodeValue_Float("AO Strength", self, 1. ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
|
||||||
|
|
||||||
inputs[in_d3d + 21] = nodeValue_Int("Round Normal", self, 0 )
|
newInput(in_d3d + 21, nodeValue_Int("Round Normal", self, 0 ))
|
||||||
.setWindows();
|
.setWindows();
|
||||||
|
|
||||||
newInput(in_d3d + 22, nodeValue_Enum_Button("Blend mode", self, 0 , [ "Normal", "Additive" ]));
|
newInput(in_d3d + 22, nodeValue_Enum_Button("Blend mode", self, 0 , [ "Normal", "Additive" ]));
|
||||||
|
|
|
@ -5,31 +5,31 @@ function Node_3D_Camera_Set(_x, _y, _group = noone) : Node_3D_Camera(_x, _y, _gr
|
||||||
light_key = new __3dLightDirectional();
|
light_key = new __3dLightDirectional();
|
||||||
light_fill = new __3dLightDirectional();
|
light_fill = new __3dLightDirectional();
|
||||||
|
|
||||||
inputs[in_cam + 0] = nodeValue_Rotation("L1 H angle", self, 30)
|
newInput(in_cam + 0, nodeValue_Rotation("L1 H angle", self, 30))
|
||||||
.setName("Horizontal angle");
|
.setName("Horizontal angle");
|
||||||
|
|
||||||
inputs[in_cam + 1] = nodeValue_Float("L1 V angle", self, 45 )
|
newInput(in_cam + 1, nodeValue_Float("L1 V angle", self, 45 ))
|
||||||
.setName("Vertical angle")
|
.setName("Vertical angle")
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
||||||
|
|
||||||
inputs[in_cam + 2] = nodeValue_Color("L1 Color", self, c_white )
|
newInput(in_cam + 2, nodeValue_Color("L1 Color", self, c_white ))
|
||||||
.setName("Color")
|
.setName("Color")
|
||||||
|
|
||||||
inputs[in_cam + 3] = nodeValue_Float("L1 Intensity", self, 1 )
|
newInput(in_cam + 3, nodeValue_Float("L1 Intensity", self, 1 ))
|
||||||
.setName("Intensity")
|
.setName("Intensity")
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[in_cam + 4] = nodeValue_Rotation("L2 H angle", self, -45)
|
newInput(in_cam + 4, nodeValue_Rotation("L2 H angle", self, -45))
|
||||||
.setName("Horizontal angle");
|
.setName("Horizontal angle");
|
||||||
|
|
||||||
inputs[in_cam + 5] = nodeValue_Float("L2 V angle", self, 45 )
|
newInput(in_cam + 5, nodeValue_Float("L2 V angle", self, 45 ))
|
||||||
.setName("Vertical angle")
|
.setName("Vertical angle")
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
||||||
|
|
||||||
inputs[in_cam + 6] = nodeValue_Color("L2 Color", self, c_white )
|
newInput(in_cam + 6, nodeValue_Color("L2 Color", self, c_white ))
|
||||||
.setName("Color")
|
.setName("Color")
|
||||||
|
|
||||||
inputs[in_cam + 7] = nodeValue_Float("L2 Intensity", self, 0.25 )
|
newInput(in_cam + 7, nodeValue_Float("L2 Intensity", self, 0.25 ))
|
||||||
.setName("Intensity")
|
.setName("Intensity")
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ function Node_3D_Instancer(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _g
|
||||||
|
|
||||||
newInput(in_mesh + 0, nodeValue_Int("Amounts", self, 1));
|
newInput(in_mesh + 0, nodeValue_Int("Amounts", self, 1));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_Vec3("Positions", self, [ 0, 0, 0 ])
|
newInput(in_mesh + 1, nodeValue_Vec3("Positions", self, [ 0, 0, 0 ]))
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||||
|
|
|
@ -3,15 +3,15 @@ function Node_3D_Light_Point(_x, _y, _group = noone) : Node_3D_Light(_x, _y, _gr
|
||||||
|
|
||||||
object_class = __3dLightPoint;
|
object_class = __3dLightPoint;
|
||||||
|
|
||||||
inputs[in_light + 0] = nodeValue_Float("Radius", self, 4)
|
newInput(in_light + 0, nodeValue_Float("Radius", self, 4))
|
||||||
|
|
||||||
inputs[in_light + 1] = nodeValue_Bool("Cast Shadow", self, false)
|
newInput(in_light + 1, nodeValue_Bool("Cast Shadow", self, false))
|
||||||
.setWindows();
|
.setWindows();
|
||||||
|
|
||||||
inputs[in_light + 2] = nodeValue_Int("Shadow Map Size", self, 1024)
|
newInput(in_light + 2, nodeValue_Int("Shadow Map Size", self, 1024))
|
||||||
.setWindows();
|
.setWindows();
|
||||||
|
|
||||||
inputs[in_light + 3] = nodeValue_Float("Shadow Bias", self, .001)
|
newInput(in_light + 3, nodeValue_Float("Shadow Bias", self, .001))
|
||||||
.setWindows();
|
.setWindows();
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
|
|
@ -2,13 +2,13 @@ function Node_3D_Material(_x, _y, _group = noone) : Node_3D(_x, _y, _group) cons
|
||||||
name = "3D Material";
|
name = "3D Material";
|
||||||
solid_surf = noone;
|
solid_surf = noone;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Surface("Texture", self)
|
newInput(0, nodeValue_Surface("Texture", self))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Diffuse", self, 1 )
|
newInput(1, nodeValue_Float("Diffuse", self, 1 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Specular", self, 0 )
|
newInput(2, nodeValue_Float("Specular", self, 0 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(3, nodeValue_Float("Shininess", self, 1 ));
|
newInput(3, nodeValue_Float("Shininess", self, 1 ));
|
||||||
|
@ -17,10 +17,10 @@ function Node_3D_Material(_x, _y, _group = noone) : Node_3D(_x, _y, _group) cons
|
||||||
|
|
||||||
newInput(5, nodeValue_Surface("Normal Map", self));
|
newInput(5, nodeValue_Surface("Normal Map", self));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Float("Normal Strength", self, 1 )
|
newInput(6, nodeValue_Float("Normal Strength", self, 1 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
|
||||||
|
|
||||||
inputs[7] = nodeValue_Float("Roughness", self, 1 )
|
newInput(7, nodeValue_Float("Roughness", self, 1 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(8, nodeValue_Bool("Anti aliasing", self, false ));
|
newInput(8, nodeValue_Bool("Anti aliasing", self, false ));
|
||||||
|
|
|
@ -3,13 +3,13 @@ function Node_3D_Mesh_Cone(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group
|
||||||
|
|
||||||
object_class = __3dCone;
|
object_class = __3dCone;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Int("Side", self, 8 )
|
newInput(in_mesh + 0, nodeValue_Int("Side", self, 8 ))
|
||||||
.setValidator(VV_min(3));
|
.setValidator(VV_min(3));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial())
|
newInput(in_mesh + 1, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_D3Material("Material Side", self, new __d3dMaterial())
|
newInput(in_mesh + 2, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 3, nodeValue_Bool("Smooth Side", self, false ));
|
newInput(in_mesh + 3, nodeValue_Bool("Smooth Side", self, false ));
|
||||||
|
|
|
@ -4,22 +4,22 @@ function Node_3D_Mesh_Cube(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group
|
||||||
|
|
||||||
newInput(in_mesh + 0, nodeValue_Bool("Material per side", self, false ));
|
newInput(in_mesh + 0, nodeValue_Bool("Material per side", self, false ));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(in_mesh + 1, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial())
|
newInput(in_mesh + 2, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 3] = nodeValue_D3Material("Material Left", self, new __d3dMaterial())
|
newInput(in_mesh + 3, nodeValue_D3Material("Material Left", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 4] = nodeValue_D3Material("Material Right", self, new __d3dMaterial())
|
newInput(in_mesh + 4, nodeValue_D3Material("Material Right", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 5] = nodeValue_D3Material("Material Back", self, new __d3dMaterial())
|
newInput(in_mesh + 5, nodeValue_D3Material("Material Back", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 6] = nodeValue_D3Material("Material Front", self, new __d3dMaterial())
|
newInput(in_mesh + 6, nodeValue_D3Material("Material Front", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
|
|
@ -3,16 +3,16 @@ function Node_3D_Mesh_Cylinder(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _g
|
||||||
|
|
||||||
object_class = __3dCylinder;
|
object_class = __3dCylinder;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Int("Side", self, 8 )
|
newInput(in_mesh + 0, nodeValue_Int("Side", self, 8 ))
|
||||||
.setValidator(VV_min(3));
|
.setValidator(VV_min(3));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_D3Material("Material Top", self, new __d3dMaterial())
|
newInput(in_mesh + 1, nodeValue_D3Material("Material Top", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_D3Material("Material Bottom", self, new __d3dMaterial())
|
newInput(in_mesh + 2, nodeValue_D3Material("Material Bottom", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 3] = nodeValue_D3Material("Material Side", self, new __d3dMaterial())
|
newInput(in_mesh + 3, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 4, nodeValue_Bool("Smooth Side", self, false ));
|
newInput(in_mesh + 4, nodeValue_Bool("Smooth Side", self, false ));
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Mesh Export";
|
name = "Mesh Export";
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone)
|
newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Path("Paths", self, "")
|
newInput(1, nodeValue_Path("Paths", self, ""))
|
||||||
.setDisplay(VALUE_DISPLAY.path_save, { filter: "Obj (.obj)|*.obj" })
|
.setDisplay(VALUE_DISPLAY.path_save, { filter: "Obj (.obj)|*.obj" })
|
||||||
.setVisible(true);
|
.setVisible(true);
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,18 @@ function Node_3D_Mesh_Extrude(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
|
||||||
|
|
||||||
object_class = __3dSurfaceExtrude;
|
object_class = __3dSurfaceExtrude;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_D3Material("Front Surface", self, new __d3dMaterial())
|
newInput(in_mesh + 0, nodeValue_D3Material("Front Surface", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 1, nodeValue_Surface("Front Height", self));
|
newInput(in_mesh + 1, nodeValue_Surface("Front Height", self));
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_Bool("Smooth", self, false)
|
newInput(in_mesh + 2, nodeValue_Bool("Smooth", self, false))
|
||||||
|
|
||||||
newInput(in_mesh + 3, nodeValue_Bool("Always update", self, false));
|
newInput(in_mesh + 3, nodeValue_Bool("Always update", self, false));
|
||||||
|
|
||||||
newInput(in_mesh + 4, nodeValue_Bool("Double Side", self, false));
|
newInput(in_mesh + 4, nodeValue_Bool("Double Side", self, false));
|
||||||
|
|
||||||
inputs[in_mesh + 5] = nodeValue_D3Material("Back Surface", self, new __d3dMaterial())
|
newInput(in_mesh + 5, nodeValue_D3Material("Back Surface", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 6, nodeValue_Surface("Back Height", self));
|
newInput(in_mesh + 6, nodeValue_Surface("Back Height", self));
|
||||||
|
|
|
@ -25,17 +25,17 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
|
||||||
object = noone;
|
object = noone;
|
||||||
object_class = __3dObject;
|
object_class = __3dObject;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Path("File Path", self, "" )
|
newInput(in_mesh + 0, nodeValue_Path("File Path", self, "" ))
|
||||||
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
|
.setDisplay(VALUE_DISPLAY.path_load, { filter: "3d object|*.obj" })
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error.")
|
newInput(in_mesh + 1, nodeValue_Bool("Flip UV", self, true, "Flip UV axis, can be use to fix some texture mapping error."))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_Float("Import Scale", self, 1)
|
newInput(in_mesh + 2, nodeValue_Float("Import Scale", self, 1))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[in_mesh + 3] = nodeValue_Enum_Scroll("Axis", self, 0, [ "XYZ", "XZ-Y", "X-ZY" ])
|
newInput(in_mesh + 3, nodeValue_Enum_Scroll("Axis", self, 0, [ "XYZ", "XZ-Y", "X-ZY" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
@ -73,7 +73,7 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
|
||||||
static createNewInput = function(index = -1) { #region
|
static createNewInput = function(index = -1) { #region
|
||||||
if(index == -1) index = array_length(inputs);
|
if(index == -1) index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(index, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
|
|
@ -3,26 +3,26 @@ function Node_3D_Mesh_Path_Extrude(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y
|
||||||
|
|
||||||
object_class = __3dPathExtrude;
|
object_class = __3dPathExtrude;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_PathNode("Path", self, noone )
|
newInput(in_mesh + 0, nodeValue_PathNode("Path", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_Int("Side", self, 8 )
|
newInput(in_mesh + 1, nodeValue_Int("Side", self, 8 ))
|
||||||
.setValidator(VV_min(2));
|
.setValidator(VV_min(2));
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_D3Material("Material Side", self, new __d3dMaterial())
|
newInput(in_mesh + 2, nodeValue_D3Material("Material Side", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_mesh + 3] = nodeValue_D3Material("Material Cap", self, new __d3dMaterial())
|
newInput(in_mesh + 3, nodeValue_D3Material("Material Cap", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 4, nodeValue_Bool("Smooth", self, false ));
|
newInput(in_mesh + 4, nodeValue_Bool("Smooth", self, false ));
|
||||||
|
|
||||||
newInput(in_mesh + 5, nodeValue_Bool("End caps", self, true ));
|
newInput(in_mesh + 5, nodeValue_Bool("End caps", self, true ));
|
||||||
|
|
||||||
inputs[in_mesh + 6] = nodeValue_Int("Subdivision", self, 8 )
|
newInput(in_mesh + 6, nodeValue_Int("Subdivision", self, 8 ))
|
||||||
.setValidator(VV_min(2));
|
.setValidator(VV_min(2));
|
||||||
|
|
||||||
inputs[in_mesh + 7] = nodeValue_Float("Radius", self, 0.25 )
|
newInput(in_mesh + 7, nodeValue_Float("Radius", self, 0.25 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(in_mesh + 8, nodeValue("Radius Over Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
|
newInput(in_mesh + 8, nodeValue("Radius Over Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
|
||||||
|
|
|
@ -3,15 +3,15 @@ function Node_3D_Mesh_Plane(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _grou
|
||||||
|
|
||||||
object_class = __3dPlane;
|
object_class = __3dPlane;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(in_mesh + 0, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
|
newInput(in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_Bool("Both side", self, false )
|
newInput(in_mesh + 2, nodeValue_Bool("Both side", self, false ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[in_mesh + 3] = nodeValue_D3Material("Back Material", self, new __d3dMaterial())
|
newInput(in_mesh + 3, nodeValue_D3Material("Back Material", self, new __d3dMaterial()))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
__d3d_input_list_mesh, in_mesh + 1,
|
__d3d_input_list_mesh, in_mesh + 1,
|
||||||
|
|
|
@ -3,10 +3,10 @@ function Node_3D_Mesh_Sphere_Ico(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y,
|
||||||
|
|
||||||
object_class = __3dICOSphere;
|
object_class = __3dICOSphere;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Int("Subdivision", self, 1 )
|
newInput(in_mesh + 0, nodeValue_Int("Subdivision", self, 1 ))
|
||||||
.setValidator(VV_min(0));
|
.setValidator(VV_min(0));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(in_mesh + 1, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 2, nodeValue_Bool("Smooth Normal", self, false ));
|
newInput(in_mesh + 2, nodeValue_Bool("Smooth Normal", self, false ));
|
||||||
|
|
|
@ -3,13 +3,13 @@ function Node_3D_Mesh_Sphere_UV(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _
|
||||||
|
|
||||||
object_class = __3dUVSphere;
|
object_class = __3dUVSphere;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Int("Horizontal Slices", self, 8 )
|
newInput(in_mesh + 0, nodeValue_Int("Horizontal Slices", self, 8 ))
|
||||||
.setValidator(VV_min(2));
|
.setValidator(VV_min(2));
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_Int("Vertical Slices", self, 16 )
|
newInput(in_mesh + 1, nodeValue_Int("Vertical Slices", self, 16 ))
|
||||||
.setValidator(VV_min(3));
|
.setValidator(VV_min(3));
|
||||||
|
|
||||||
inputs[in_mesh + 2] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(in_mesh + 2, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 3, nodeValue_Bool("Smooth Normal", self, false ));
|
newInput(in_mesh + 3, nodeValue_Bool("Smooth Normal", self, false ));
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
function Node_3D_Mesh_Stack_Slice(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
function Node_3D_Mesh_Stack_Slice(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
name = "Slice Stack";
|
name = "Slice Stack";
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Mesh("Mesh", self, noone)
|
newInput(0, nodeValue_D3Mesh("Mesh", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Vec2("Output Dimension", self, [ 16, 16 ]));
|
newInput(1, nodeValue_Vec2("Output Dimension", self, [ 16, 16 ]));
|
||||||
|
|
|
@ -3,7 +3,7 @@ function Node_3D_Mesh_Terrain(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
|
||||||
|
|
||||||
object_class = __3dTerrain;
|
object_class = __3dTerrain;
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_D3Material("Material", self, new __d3dMaterial())
|
newInput(in_mesh + 0, nodeValue_D3Material("Material", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_mesh + 1, nodeValue_Enum_Button("Input type", self, 0 , [ "Surface", "Array" ]));
|
newInput(in_mesh + 1, nodeValue_Enum_Button("Input type", self, 0 , [ "Surface", "Array" ]));
|
||||||
|
@ -12,7 +12,7 @@ function Node_3D_Mesh_Terrain(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _gr
|
||||||
|
|
||||||
newInput(in_mesh + 3, nodeValue_Int("Subdivision", self, 4 ));
|
newInput(in_mesh + 3, nodeValue_Int("Subdivision", self, 4 ));
|
||||||
|
|
||||||
inputs[in_mesh + 4] = nodeValue_Float("Height array", self, [] )
|
newInput(in_mesh + 4, nodeValue_Float("Height array", self, [] ))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
newInput(in_mesh + 5, nodeValue_Bool("Smooth", self, false ));
|
newInput(in_mesh + 5, nodeValue_Bool("Smooth", self, false ));
|
||||||
|
|
|
@ -5,7 +5,7 @@ function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y,
|
||||||
gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ];
|
gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ];
|
||||||
gizmo_object = noone;
|
gizmo_object = noone;
|
||||||
|
|
||||||
inputs[in_d3d + 0] = nodeValue_Vec3("Points", self, [ 0, 0, 0 ])
|
newInput(in_d3d + 0, nodeValue_Vec3("Points", self, [ 0, 0, 0 ]))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(in_d3d + 1, nodeValue_Vec3("Initial value", self, [ 0, 0, 0 ]));
|
newInput(in_d3d + 1, nodeValue_Vec3("Initial value", self, [ 0, 0, 0 ]));
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
||||||
name = "3D Repeat";
|
name = "3D Repeat";
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Mesh("Objects", self, noone)
|
newInput(0, nodeValue_D3Mesh("Objects", self, noone))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Enum_Button("Object Mode", self, 0 , [ "Duplicate", "Array" ] )
|
newInput(1, nodeValue_Enum_Button("Object Mode", self, 0 , [ "Duplicate", "Array" ] ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(2, nodeValue_Int("Amount", self, 1 ));
|
newInput(2, nodeValue_Int("Amount", self, 1 ));
|
||||||
|
@ -22,16 +22,16 @@ function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constr
|
||||||
|
|
||||||
newInput(8, nodeValue_Vec3("Shift Scale", self, [ 0, 0, 0 ] ));
|
newInput(8, nodeValue_Vec3("Shift Scale", self, [ 0, 0, 0 ] ));
|
||||||
|
|
||||||
inputs[9] = nodeValue_Float("Positions", self, [] )
|
newInput(9, nodeValue_Float("Positions", self, [] ))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
inputs[10] = nodeValue_Float("Rotations", self, [] )
|
newInput(10, nodeValue_Float("Rotations", self, [] ))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
inputs[11] = nodeValue_Float("Scales", self, [] )
|
newInput(11, nodeValue_Float("Scales", self, [] ))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
inputs[12] = nodeValue_Bool("Use Instance", self, true )
|
newInput(12, nodeValue_Bool("Use Instance", self, true ))
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Scene", self, VALUE_TYPE.d3Scene, noone);
|
outputs[0] = nodeValue_Output("Scene", self, VALUE_TYPE.d3Scene, noone);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
function Node_3D_Round_Vertex(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
|
function Node_3D_Round_Vertex(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
|
||||||
name = "Discretize vertex";
|
name = "Discretize vertex";
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Float("Step", self, 0.1)
|
newInput(in_mesh + 0, nodeValue_Float("Step", self, 0.1))
|
||||||
|
|
||||||
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||||
var _obj = _data[0];
|
var _obj = _data[0];
|
||||||
|
|
|
@ -7,7 +7,7 @@ function Node_3D_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constru
|
||||||
|
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
inputs[index] = nodeValue_D3Mesh("Object", self, noone)
|
newInput(index, nodeValue_D3Mesh("Object", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
return inputs[index];
|
return inputs[index];
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
function Node_3D_Set_Material(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
|
function Node_3D_Set_Material(_x, _y, _group = noone) : Node_3D_Modifier(_x, _y, _group) constructor {
|
||||||
name = "Set Material";
|
name = "Set Material";
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_D3Material("Materials", self, new __d3dMaterial())
|
newInput(in_mesh + 0, nodeValue_D3Material("Materials", self, new __d3dMaterial()))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
inputs[in_mesh + 1] = nodeValue_Bool("Single material", self, true)
|
newInput(in_mesh + 1, nodeValue_Bool("Single material", self, true))
|
||||||
|
|
||||||
static preGetInputs = function() { #region
|
static preGetInputs = function() { #region
|
||||||
var _sing = inputs[in_mesh + 1].getValue();
|
var _sing = inputs[in_mesh + 1].getValue();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
function Node_3D_Transform(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor {
|
function Node_3D_Transform(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor {
|
||||||
name = "Transform";
|
name = "Transform";
|
||||||
|
|
||||||
inputs[in_d3d + 0] = nodeValue_D3Mesh("Mesh", self, noone)
|
newInput(in_d3d + 0, nodeValue_D3Mesh("Mesh", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);
|
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);
|
||||||
|
|
|
@ -3,14 +3,14 @@ function Node_3D_Mesh_Plane(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _grou
|
||||||
|
|
||||||
object_class = __3dPlane;
|
object_class = __3dPlane;
|
||||||
|
|
||||||
inputs[| in_mesh + 0] = nodeValue("Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone )
|
newInput(| in_mesh + 0, nodeValue("Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(| in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
|
newInput(| in_mesh + 1, nodeValue_Enum_Button("Normal", self, 2 , [ "X", "Y", "Z" ]));
|
||||||
|
|
||||||
inputs[| in_mesh + 2] = nodeValue_Bool("Both side", self, false )
|
newInput(| in_mesh + 2, nodeValue_Bool("Both side", self, false ))
|
||||||
|
|
||||||
inputs[| in_mesh + 3] = nodeValue("Back Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone )
|
newInput(| in_mesh + 3, nodeValue("Back Material", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Material, noone ))
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
__d3d_input_list_mesh, in_mesh + 1,
|
__d3d_input_list_mesh, in_mesh + 1,
|
||||||
|
|
|
@ -19,7 +19,7 @@ function Node_3D_Transform_Image(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y,
|
||||||
projMat = matrix_build_projection_ortho(1, 1, 0.001, 10);
|
projMat = matrix_build_projection_ortho(1, 1, 0.001, 10);
|
||||||
|
|
||||||
|
|
||||||
inputs[in_mesh + 0] = nodeValue_Surface("Surface", self)
|
newInput(in_mesh + 0, nodeValue_Surface("Surface", self))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
function Node_3D_Transform_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
function Node_3D_Transform_Scene(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor {
|
||||||
name = "Transform Scene";
|
name = "Transform Scene";
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Scene("Scene", self, noone)
|
newInput(0, nodeValue_D3Scene("Scene", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Position", self, [])
|
newInput(1, nodeValue_Float("Position", self, []))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Rotation", self, [])
|
newInput(2, nodeValue_Float("Rotation", self, []))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Scale", self, [])
|
newInput(3, nodeValue_Float("Scale", self, []))
|
||||||
.setArrayDepth(2);
|
.setArrayDepth(2);
|
||||||
|
|
||||||
newInput(4, nodeValue_Enum_Scroll("Positioning type", self, 0, [ "Additive", "Override" ]));
|
newInput(4, nodeValue_Enum_Scroll("Positioning type", self, 0, [ "Additive", "Override" ]));
|
||||||
|
|
|
@ -2,13 +2,13 @@ function Node_3D_UV_Remap(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _grou
|
||||||
name = "UV Remap";
|
name = "UV Remap";
|
||||||
gizmo = new __3dGizmoPlane();
|
gizmo = new __3dGizmoPlane();
|
||||||
|
|
||||||
inputs[in_d3d + 0] = nodeValue_D3Mesh("Mesh", self, noone)
|
newInput(in_d3d + 0, nodeValue_D3Mesh("Mesh", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[in_d3d + 1] = nodeValue_Int("Target subobject", self, -1)
|
newInput(in_d3d + 1, nodeValue_Int("Target subobject", self, -1))
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
inputs[in_d3d + 2] = nodeValue_Int("Bake UV", self, 0)
|
newInput(in_d3d + 2, nodeValue_Int("Bake UV", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Bake", onClick: function() { attributes.bakedUV = !attributes.bakedUV; triggerRender(); } });
|
.setDisplay(VALUE_DISPLAY.button, { name: "Bake", onClick: function() { attributes.bakedUV = !attributes.bakedUV; triggerRender(); } });
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);
|
outputs[0] = nodeValue_Output("Mesh", self, VALUE_TYPE.d3Mesh, noone);
|
||||||
|
|
|
@ -3,12 +3,12 @@ function Node_3DSurf(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
||||||
cached_object = [];
|
cached_object = [];
|
||||||
object_class = dynaSurf_3d;
|
object_class = dynaSurf_3d;
|
||||||
|
|
||||||
inputs[0] = nodeValue_D3Scene("Scene", self, noone)
|
newInput(0, nodeValue_D3Scene("Scene", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Vec2("Base Dimension", self, DEF_SURF));
|
newInput(1, nodeValue_Vec2("Base Dimension", self, DEF_SURF));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Vertical Angle", self, 45 )
|
newInput(2, nodeValue_Float("Vertical Angle", self, 45 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 90, 0.1] });
|
||||||
|
|
||||||
newInput(3, nodeValue_Float("Distance", self, 4 ));
|
newInput(3, nodeValue_Float("Distance", self, 4 ));
|
||||||
|
|
|
@ -5,7 +5,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(1, nodeValue_Dimension(self));
|
newInput(1, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Padding("Splice", self, [ 0, 0, 0, 0 ])
|
newInput(2, nodeValue_Padding("Splice", self, [ 0, 0, 0, 0 ]))
|
||||||
.setUnitRef(function(index) { return getDimension(index); });
|
.setUnitRef(function(index) { return getDimension(index); });
|
||||||
|
|
||||||
newInput(3, nodeValue_Enum_Scroll("Filling modes", self, 0, [ "Scale", "Repeat" ]));
|
newInput(3, nodeValue_Enum_Scroll("Filling modes", self, 0, [ "Scale", "Repeat" ]));
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_FFT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
|
||||||
name = "FFT";
|
name = "FFT";
|
||||||
setDimension(96, 72);
|
setDimension(96, 72);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Float("Data", self, [])
|
newInput(0, nodeValue_Float("Data", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,10 @@ function Node_FLIP_Add_Rigidbody(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.rigid, [] )
|
newInput(1, nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.rigid, [] ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
|
|
|
@ -22,10 +22,10 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Radius", self, 4 )
|
inputs[2] = nodeValue_Float("Radius", self, 4 )
|
||||||
|
@ -35,7 +35,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
|
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
|
||||||
|
|
||||||
inputs[5] = nodeValue_Surface("Texture", self)
|
newInput(5, nodeValue_Surface("Texture", self))
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
["Collider", false], 3, 2, 4,
|
["Collider", false], 3, 2, 4,
|
||||||
|
|
|
@ -6,10 +6,10 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Radius", self, 4 )
|
inputs[2] = nodeValue_Float("Radius", self, 4 )
|
||||||
|
|
|
@ -6,10 +6,10 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
newInput(2, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]));
|
newInput(2, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]));
|
||||||
|
@ -19,7 +19,7 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
|
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));
|
||||||
|
|
||||||
inputs[5] = nodeValue_Float("Ratio", self, 1 )
|
newInput(5, nodeValue_Float("Ratio", self, 1 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Domain", self, VALUE_TYPE.fdomain, noone );
|
outputs[0] = nodeValue_Output("Domain", self, VALUE_TYPE.fdomain, noone );
|
||||||
|
|
|
@ -13,14 +13,14 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
newInput(2, nodeValue_Int("Particle Density", self, 10));
|
newInput(2, nodeValue_Int("Particle Density", self, 10));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("FLIP Ratio", self, 0.8)
|
newInput(3, nodeValue_Float("FLIP Ratio", self, 0.8))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(4, nodeValue_Float("Resolve accelerator", self, 1.5));
|
newInput(4, nodeValue_Float("Resolve accelerator", self, 1.5));
|
||||||
|
|
||||||
newInput(5, nodeValue_Int("Iteration", self, 8));
|
newInput(5, nodeValue_Int("Iteration", self, 8));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Float("Damping", self, 0.8)
|
newInput(6, nodeValue_Float("Damping", self, 0.8))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(7, nodeValue_Float("Gravity", self, 5));
|
newInput(7, nodeValue_Float("Gravity", self, 5));
|
||||||
|
@ -29,13 +29,13 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
newInput(9, nodeValue_Toggle("Wall", self, 0b1111, { data: [ "T", "B", "L", "R" ] }));
|
newInput(9, nodeValue_Toggle("Wall", self, 0b1111, { data: [ "T", "B", "L", "R" ] }));
|
||||||
|
|
||||||
inputs[10] = nodeValue_Float("Viscosity", self, 0.)
|
newInput(10, nodeValue_Float("Viscosity", self, 0.))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] });
|
||||||
|
|
||||||
inputs[11] = nodeValue_Float("Friction", self, 0.)
|
newInput(11, nodeValue_Float("Friction", self, 0.))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[12] = nodeValue_Float("Wall Elasticity", self, 0.)
|
newInput(12, nodeValue_Float("Wall Elasticity", self, 0.))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01 ] });
|
||||||
|
|
||||||
newInput(13, nodeValue_Rotation("Gravity Direction", self, 0));
|
newInput(13, nodeValue_Rotation("Gravity Direction", self, 0));
|
||||||
|
|
|
@ -5,10 +5,10 @@ function Node_FLIP_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone)
|
newInput(0, nodeValue_Fdomain("Domain", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Merge threshold", self, 0.75)
|
newInput(1, nodeValue_Float("Merge threshold", self, 0.75))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(2, nodeValue_Range("Lifespan", self, [ 0, 0 ], { linked : true }));
|
newInput(2, nodeValue_Range("Lifespan", self, [ 0, 0 ], { linked : true }));
|
||||||
|
|
|
@ -6,15 +6,15 @@ function Node_FLIP_Repel(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
newInput(2, nodeValue_Float("Radius", self, 4 ));
|
newInput(2, nodeValue_Float("Radius", self, 4 ));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Strength", self, 4 )
|
newInput(3, nodeValue_Float("Strength", self, 4 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 16, 0.1 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 16, 0.1 ] });
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
|
|
|
@ -6,12 +6,12 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Enum_Scroll("Spawn Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), "Surface" ]));
|
newInput(1, nodeValue_Enum_Scroll("Spawn Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), "Surface" ]));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Vec2("Spawn Position", self, [ 0.5, 0.25 ] )
|
newInput(2, nodeValue_Vec2("Spawn Position", self, [ 0.5, 0.25 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); }, VALUE_UNIT.reference);
|
.setUnitRef(function(index) { return getDimension(); }, VALUE_UNIT.reference);
|
||||||
|
|
||||||
newInput(3, nodeValue_Enum_Button("Spawn Type", self, 0 , [ "Stream", "Splash" ]));
|
newInput(3, nodeValue_Enum_Button("Spawn Type", self, 0 , [ "Stream", "Splash" ]));
|
||||||
|
@ -27,7 +27,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
inputs[8] = nodeValue_Float("Spawn Radius", self, 2 )
|
inputs[8] = nodeValue_Float("Spawn Radius", self, 2 )
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
||||||
|
|
||||||
inputs[9] = nodeValue_Int("Seed", self, seed_random(6))
|
newInput(9, nodeValue_Int("Seed", self, seed_random(6)))
|
||||||
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[9].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { randomize(); inputs[9].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
||||||
|
|
||||||
newInput(10, nodeValue_Rotation_Random("Spawn Direction", self, [ 0, 45, 135, 0, 0 ] ));
|
newInput(10, nodeValue_Rotation_Random("Spawn Direction", self, [ 0, 45, 135, 0, 0 ] ));
|
||||||
|
|
|
@ -6,7 +6,7 @@ function Node_FLIP_to_VFX(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone)
|
newInput(0, nodeValue_Fdomain("Domain", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, [] );
|
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, [] );
|
||||||
|
|
|
@ -6,7 +6,7 @@ function Node_FLIP_Update(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone)
|
newInput(0, nodeValue_Fdomain("Domain", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Bool("Update", self, true));
|
newInput(1, nodeValue_Bool("Update", self, true));
|
||||||
|
|
|
@ -6,18 +6,18 @@ function Node_FLIP_Vortex(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setUnitRef(function(index) { return getDimension(); });
|
.setUnitRef(function(index) { return getDimension(); });
|
||||||
|
|
||||||
newInput(2, nodeValue_Float("Radius", self, 4 ));
|
newInput(2, nodeValue_Float("Radius", self, 4 ));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Strength", self, 4 )
|
newInput(3, nodeValue_Float("Strength", self, 4 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
|
||||||
|
|
||||||
inputs[4] = nodeValue_Float("Attraction", self, 0 )
|
newInput(4, nodeValue_Float("Attraction", self, 0 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ -8, 8, 0.01 ] });
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
|
|
|
@ -6,7 +6,7 @@ function Node_FLIP_Wall(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
|
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Fdomain("Domain", self, noone )
|
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Area("Area", self, DEF_AREA , { useShape : false }));
|
newInput(1, nodeValue_Area("Area", self, DEF_AREA , { useShape : false }));
|
||||||
|
|
|
@ -5,10 +5,10 @@ function Node_FXAA(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
||||||
|
|
||||||
newInput(1, nodeValue_Bool("Active", self, true));
|
newInput(1, nodeValue_Bool("Active", self, true));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Distance", self, 0.5)
|
newInput(2, nodeValue_Float("Distance", self, 0.5))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Mix", self, 1)
|
newInput(3, nodeValue_Float("Mix", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
active_index = 1;
|
active_index = 1;
|
||||||
|
|
|
@ -50,10 +50,10 @@ function Node_PCX_Equation(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) co
|
||||||
|
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
inputs[index + 0] = nodeValue_Text("Argument name", self, "" )
|
newInput(index + 0, nodeValue_Text("Argument name", self, "" ))
|
||||||
.setDisplay(VALUE_DISPLAY.text_box);
|
.setDisplay(VALUE_DISPLAY.text_box);
|
||||||
|
|
||||||
inputs[index + 1] = nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone )
|
newInput(index + 1, nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
inputs[index + 1].editWidget.interactable = false;
|
inputs[index + 1].editWidget.interactable = false;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
|
||||||
color = COLORS.node_blend_vct;
|
color = COLORS.node_blend_vct;
|
||||||
vct = new VCT(self);
|
vct = new VCT(self);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Int("Editor", self, 0)
|
newInput(0, nodeValue_Int("Editor", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.button, { name: "Editor", onClick: function() {
|
.setDisplay(VALUE_DISPLAY.button, { name: "Editor", onClick: function() {
|
||||||
vct.createDialog();
|
vct.createDialog();
|
||||||
} });
|
} });
|
||||||
|
@ -22,7 +22,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
|
||||||
|
|
||||||
var _var = vct[$ key];
|
var _var = vct[$ key];
|
||||||
|
|
||||||
inputs[index] = nodeValue(name, self, JUNCTION_CONNECT.input, _var.type, 0)
|
newInput(index, nodeValue(name, self, JUNCTION_CONNECT.input, _var.type, 0))
|
||||||
.setDisplay(_var.disp, _var.disp_data);
|
.setDisplay(_var.disp, _var.disp_data);
|
||||||
inputs[index].display_data.key = key;
|
inputs[index].display_data.key = key;
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ function Node_VFX_Group(_x, _y, _group = noone) : Node_Collection(_x, _y, _group
|
||||||
preview_node = noone;
|
preview_node = noone;
|
||||||
allCached = false;
|
allCached = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Bool("Loop", self, true )
|
newInput(0, nodeValue_Bool("Loop", self, true ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
custom_input_index = array_length(inputs);
|
custom_input_index = array_length(inputs);
|
||||||
|
|
|
@ -6,7 +6,7 @@ function Node_VFX_Group_Inline(_x, _y, _group = noone) : Node_Collection_Inline(
|
||||||
is_root = false;
|
is_root = false;
|
||||||
topoList = [];
|
topoList = [];
|
||||||
|
|
||||||
inputs[0] = nodeValue_Bool("Loop", self, true )
|
newInput(0, nodeValue_Bool("Loop", self, true ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
is_simulation = true;
|
is_simulation = true;
|
||||||
|
|
|
@ -7,7 +7,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Particle("Particles", self, -1 )
|
newInput(0, nodeValue_Particle("Particles", self, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Float("Positions", self, noone ));
|
newInput(1, nodeValue_Float("Positions", self, noone ));
|
||||||
|
@ -20,7 +20,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
newInput(5, nodeValue_Float("Alpha", self, noone ));
|
newInput(5, nodeValue_Float("Alpha", self, noone ));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Surface("Surface", self)
|
newInput(6, nodeValue_Surface("Surface", self))
|
||||||
.setVisible(true, false);
|
.setVisible(true, false);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, -1 );
|
outputs[0] = nodeValue_Output("Particles", self, VALUE_TYPE.particle, -1 );
|
||||||
|
|
|
@ -8,13 +8,13 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
|
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering.")
|
newInput(1, nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering."))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ])
|
newInput(2, nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[3] = nodeValue_Int("Line life", self, 4 )
|
newInput(3, nodeValue_Int("Line life", self, 4 ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
@ -28,10 +28,10 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index + 0] = nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ])
|
newInput(index + 0, nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[index + 1] = nodeValue_Particle("Particles", self, noone )
|
newInput(index + 1, nodeValue_Particle("Particles", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
array_push(input_display_list, ["Particle", false], index + 0, index + 1);
|
array_push(input_display_list, ["Particle", false], index + 0, index + 1);
|
||||||
|
|
|
@ -9,13 +9,13 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x
|
||||||
|
|
||||||
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF));
|
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering.")
|
newInput(1, nodeValue_Bool("Round position", self, true, "Round position to the closest integer value to avoid jittering."))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ])
|
newInput(2, nodeValue_Enum_Button("Render Type", self, PARTICLE_RENDER_TYPE.surface , [ "Surface", "Line" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[3] = nodeValue_Int("Line life", self, 4 )
|
newInput(3, nodeValue_Int("Line life", self, 4 ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
|
@ -34,10 +34,10 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index + 0] = nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ])
|
newInput(index + 0, nodeValue_Enum_Scroll("Blend mode", self, 0 , [ "Normal", "Alpha", "Additive" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[index + 1] = nodeValue_Particle("Particles", self, noone )
|
newInput(index + 1, nodeValue_Particle("Particles", self, noone ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
array_push(input_display_list, ["Particle", false], index + 0, index + 1);
|
array_push(input_display_list, ["Particle", false], index + 0, index + 1);
|
||||||
|
|
|
@ -12,7 +12,7 @@ function Node_VFX_Spawner(_x, _y, _group = noone) : Node_VFX_Spawner_Base(_x, _y
|
||||||
|
|
||||||
inputs[21].setVisible(false, false);
|
inputs[21].setVisible(false, false);
|
||||||
|
|
||||||
inputs[input_len + 0] = nodeValue("Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false)
|
newInput(input_len + 0, nodeValue("Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(input_len + 1, nodeValue_Int("Step interval", self, 1, "How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames."));
|
newInput(input_len + 1, nodeValue_Int("Step interval", self, 1, "How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames."));
|
||||||
|
|
|
@ -10,7 +10,7 @@ function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
lineLength = [];
|
lineLength = [];
|
||||||
lineData = [];
|
lineData = [];
|
||||||
|
|
||||||
inputs[0] = nodeValue_Particle("Particles", self, -1 )
|
newInput(0, nodeValue_Particle("Particles", self, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Int("Life", self, 4 ));
|
newInput(1, nodeValue_Int("Life", self, 4 ));
|
||||||
|
|
|
@ -16,7 +16,7 @@ function Node_VFX_Triangulate(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
|
|
||||||
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
|
newInput(0, nodeValue_Vec2("Output dimension", self, DEF_SURF ));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Particle("Particles", self, -1 )
|
newInput(1, nodeValue_Particle("Particles", self, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(2, nodeValue_Float("Thickness", self, 1 ));
|
newInput(2, nodeValue_Float("Thickness", self, 1 ));
|
||||||
|
|
|
@ -8,7 +8,7 @@ function Node_VFX_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
manual_ungroupable = false;
|
manual_ungroupable = false;
|
||||||
|
|
||||||
|
|
||||||
inputs[0] = nodeValue_Particle("Particles", self, -1 )
|
newInput(0, nodeValue_Particle("Particles", self, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [ 0 ];
|
input_display_list = [ 0 ];
|
||||||
|
|
|
@ -13,7 +13,7 @@ function Node_Active_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
|
|
||||||
newInput(5, nodeValue_Color("Color", self, c_white ));
|
newInput(5, nodeValue_Color("Color", self, c_white ));
|
||||||
|
|
||||||
inputs[6] = nodeValue_Float("Alpha", self, 1 )
|
newInput(6, nodeValue_Float("Alpha", self, 1 ))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(7, nodeValue_Bool("Active", self, true ));
|
newInput(7, nodeValue_Bool("Active", self, true ));
|
||||||
|
|
|
@ -3,12 +3,12 @@ function Node_Alpha_Cutoff(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
||||||
|
|
||||||
newInput(0, nodeValue_Surface("Surface in", self));
|
newInput(0, nodeValue_Surface("Surface in", self));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Minimum", self, 0.2, "Any pixel with less alpha (more transparent) than this will be removed.")
|
newInput(1, nodeValue_Float("Minimum", self, 0.2, "Any pixel with less alpha (more transparent) than this will be removed."))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(2, nodeValue_Surface("Mask", self));
|
newInput(2, nodeValue_Surface("Mask", self));
|
||||||
|
|
||||||
inputs[3] = nodeValue_Float("Mix", self, 1)
|
newInput(3, nodeValue_Float("Mix", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(4, nodeValue_Bool("Active", self, true));
|
newInput(4, nodeValue_Bool("Active", self, true));
|
||||||
|
|
|
@ -5,7 +5,7 @@ function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
newInput(0, nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
|
newInput(0, nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
|
||||||
inputs[1] = nodeValue_Float("Progress", self, 0)
|
newInput(1, nodeValue_Float("Progress", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
newInput(2, nodeValue_Float("Minimum", self, 0));
|
newInput(2, nodeValue_Float("Minimum", self, 0));
|
||||||
|
|
|
@ -3,10 +3,10 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Vec2("Position", self, [ 0, 0 ] )
|
newInput(0, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Vec2("Span", self, [ 16, 16 ] )
|
newInput(1, nodeValue_Vec2("Span", self, [ 16, 16 ] ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[2] = nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [
|
inputs[2] = nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [
|
||||||
|
|
|
@ -14,17 +14,17 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
|
|
||||||
newInput(0, nodeValue_Dimension(self));
|
newInput(0, nodeValue_Dimension(self));
|
||||||
|
|
||||||
inputs[1] = nodeValue_Armature("Armature", self, noone)
|
newInput(1, nodeValue_Armature("Armature", self, noone))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue_Struct("Bind data", self, noone)
|
newInput(2, nodeValue_Struct("Bind data", self, noone))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
newInput(3, nodeValue_Vec2("Bone transform", self, [ 0, 0 ]));
|
newInput(3, nodeValue_Vec2("Bone transform", self, [ 0, 0 ]));
|
||||||
|
|
||||||
inputs[4] = nodeValue_Float("Bone scale", self, 1)
|
newInput(4, nodeValue_Float("Bone scale", self, 1))
|
||||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.1, 2, 0.01 ] });
|
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.1, 2, 0.01 ] });
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone);
|
outputs[0] = nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone);
|
||||||
|
@ -400,7 +400,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
||||||
inputs[index + 0].hover_effect = 0;
|
inputs[index + 0].hover_effect = 0;
|
||||||
inputs[index + 0].display_data.bone_id = "";
|
inputs[index + 0].display_data.bone_id = "";
|
||||||
|
|
||||||
inputs[index + 1] = nodeValue_Float("Transform", self, [ 0, 0, 0, 1, 1 ] )
|
newInput(index + 1, nodeValue_Float("Transform", self, [ 0, 0, 0, 1, 1 ] ))
|
||||||
.setDisplay(VALUE_DISPLAY.transform);
|
.setDisplay(VALUE_DISPLAY.transform);
|
||||||
newInput(index + 2, nodeValue_Bool("Inherit Rotation", self, true ));
|
newInput(index + 2, nodeValue_Bool("Inherit Rotation", self, true ));
|
||||||
newInput(index + 3, nodeValue_Bool("Apply Bone Rotation", self, false ));
|
newInput(index + 3, nodeValue_Bool("Apply Bone Rotation", self, false ));
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
name = "Armature Path";
|
name = "Armature Path";
|
||||||
setDimension(96, 72);
|
setDimension(96, 72);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Armature("Armature", self, noone)
|
newInput(0, nodeValue_Armature("Armature", self, noone))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
name = "Armature Pose";
|
name = "Armature Pose";
|
||||||
setDimension(96, 72);
|
setDimension(96, 72);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Armature("Armature", self, noone)
|
newInput(0, nodeValue_Armature("Armature", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
|
@ -27,7 +27,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
static createNewInput = function(bone = noone) {
|
static createNewInput = function(bone = noone) {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index] = nodeValue(bone != noone? bone.name : "bone", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] )
|
newInput(index, nodeValue(bone != noone? bone.name : "bone", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] ))
|
||||||
.setDisplay(VALUE_DISPLAY.transform);
|
.setDisplay(VALUE_DISPLAY.transform);
|
||||||
inputs[index].display_data.bone_id = bone != noone? bone.ID : noone;
|
inputs[index].display_data.bone_id = bone != noone? bone.ID : noone;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@ function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
name = "Armature Sample";
|
name = "Armature Sample";
|
||||||
setDimension(96, 72);
|
setDimension(96, 72);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Armature("Armature", self, noone)
|
newInput(0, nodeValue_Armature("Armature", self, noone))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(1, nodeValue_Text("Bone name", self, ""));
|
newInput(1, nodeValue_Text("Bone name", self, ""));
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Sample point", self, 0)
|
newInput(2, nodeValue_Float("Sample point", self, 0))
|
||||||
.setDisplay(VALUE_DISPLAY.slider);
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Position", self, VALUE_TYPE.integer, [ 0, 0 ])
|
outputs[0] = nodeValue_Output("Position", self, VALUE_TYPE.integer, [ 0, 0 ])
|
||||||
|
|
|
@ -3,10 +3,10 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
|
||||||
attributes.spread_value = false;
|
attributes.spread_value = false;
|
||||||
|
|
||||||
inputs[0] = nodeValue_Enum_Scroll("Type", self, 0, { data: [ "Any", "Surface", "Number", "Color", "Text" ], update_hover: false })
|
newInput(0, nodeValue_Enum_Scroll("Type", self, 0, { data: [ "Any", "Surface", "Number", "Color", "Text" ], update_hover: false }))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[1] = nodeValue_Bool("Spread array", self, false, "Unpack array and push the contents into the output one by one." )
|
newInput(1, nodeValue_Bool("Spread array", self, false, "Unpack array and push the contents into the output one by one." ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
array_adjust_tool = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
|
array_adjust_tool = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
|
||||||
|
@ -36,7 +36,7 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
var _typ = getType();
|
var _typ = getType();
|
||||||
|
|
||||||
inputs[index] = nodeValue("Input", self, JUNCTION_CONNECT.input, _typ, -1 )
|
newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, _typ, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
array_push(input_display_list, index);
|
array_push(input_display_list, index);
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
name = "Array Add";
|
name = "Array Add";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Bool("Spread array", self, false )
|
newInput(1, nodeValue_Bool("Spread array", self, false ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.integer, 0);
|
outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.integer, 0);
|
||||||
|
@ -15,7 +15,7 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
newInput(index, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
array_push(input_display_list, index);
|
array_push(input_display_list, index);
|
||||||
|
|
|
@ -2,11 +2,11 @@ function Node_Array_Composite(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
name = "Array Composite";
|
name = "Array Composite";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Float("Array", self, [])
|
newInput(0, nodeValue_Float("Array", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Compose", self, [])
|
newInput(1, nodeValue_Float("Compose", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ function Node_Array_Convolute(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
name = "Array Convolute";
|
name = "Array Convolute";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Float("Array", self, 0)
|
newInput(0, nodeValue_Float("Array", self, 0))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Kernel", self, [])
|
newInput(1, nodeValue_Float("Kernel", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
name = "Array Copy";
|
name = "Array Copy";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Array_CSV_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
name = "CSV Parse";
|
name = "CSV Parse";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Text("CSV string", self, 0)
|
newInput(0, nodeValue_Text("CSV string", self, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Int("Skip line", self, 0));
|
newInput(1, nodeValue_Int("Skip line", self, 0));
|
||||||
|
|
|
@ -2,10 +2,10 @@ function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
name = "Array Find";
|
name = "Array Find";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(1, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true)
|
.setVisible(true, true)
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@ function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
name = "Array Get";
|
name = "Array Get";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Int("Index", self, 0)
|
newInput(1, nodeValue_Int("Index", self, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[2] = nodeValue_Enum_Scroll("Overflow", self, 0, [ "Clamp", "Loop", "Ping Pong" ])
|
newInput(2, nodeValue_Enum_Scroll("Overflow", self, 0, [ "Clamp", "Loop", "Ping Pong" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Value", self, VALUE_TYPE.any, 0);
|
outputs[0] = nodeValue_Output("Value", self, VALUE_TYPE.any, 0);
|
||||||
|
|
|
@ -2,15 +2,15 @@ function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "Array Insert";
|
name = "Array Insert";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newInput(1, nodeValue_Int("Index", self, 0));
|
newInput(1, nodeValue_Int("Index", self, 0));
|
||||||
|
|
||||||
inputs[2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(2, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[3] = nodeValue_Bool("Spread array", self, false )
|
newInput(3, nodeValue_Bool("Spread array", self, false ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "Array Length";
|
name = "Array Length";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Size", self, VALUE_TYPE.integer, 0);
|
outputs[0] = nodeValue_Output("Size", self, VALUE_TYPE.integer, 0);
|
||||||
|
|
|
@ -17,7 +17,7 @@ function Node_Array_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
static createNewInput = function() {
|
static createNewInput = function() {
|
||||||
var index = array_length(inputs);
|
var index = array_length(inputs);
|
||||||
|
|
||||||
inputs[index] = nodeValue("Input", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
return inputs[index];
|
return inputs[index];
|
||||||
|
|
|
@ -2,13 +2,13 @@ function Node_Array_Range(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
name = "Array Range";
|
name = "Array Range";
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Float("Start", self, 0)
|
newInput(0, nodeValue_Float("Start", self, 0))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("End", self, 10)
|
newInput(1, nodeValue_Float("End", self, 10))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
inputs[2] = nodeValue_Float("Step", self, 1)
|
newInput(2, nodeValue_Float("Step", self, 1))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, []);
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, []);
|
||||||
|
|
|
@ -4,11 +4,11 @@ function Node_Array_Rearrange(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
draw_pad_w = 10;
|
draw_pad_w = 10;
|
||||||
setDimension(96, 48);
|
setDimension(96, 48);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Int("Orders", self, [])
|
newInput(1, nodeValue_Int("Orders", self, []))
|
||||||
.setArrayDepth(1);
|
.setArrayDepth(1);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0)
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0)
|
||||||
|
|
|
@ -2,18 +2,18 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "Array Remove";
|
name = "Array Remove";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Enum_Button("Type", self, 0, [ "Index", "Value" ])
|
newInput(1, nodeValue_Enum_Button("Type", self, 0, [ "Index", "Value" ]))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
newInput(2, nodeValue_Int("Index", self, 0));
|
newInput(2, nodeValue_Int("Index", self, 0));
|
||||||
|
|
||||||
inputs[3] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(3, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[4] = nodeValue_Bool("Spread array", self, false )
|
newInput(4, nodeValue_Bool("Spread array", self, false ))
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
||||||
|
|
|
@ -2,7 +2,7 @@ function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
name = "Array Reverse";
|
name = "Array Reverse";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);
|
||||||
|
|
|
@ -2,11 +2,11 @@ function Node_Array_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
name = "Array Sample";
|
name = "Array Sample";
|
||||||
setDimension(96, 32 + 24);
|
setDimension(96, 32 + 24);
|
||||||
|
|
||||||
inputs[0] = nodeValue_Float("Array", self, [])
|
newInput(0, nodeValue_Float("Array", self, []))
|
||||||
.setArrayDepth(1)
|
.setArrayDepth(1)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[1] = nodeValue_Float("Step", self, 1)
|
newInput(1, nodeValue_Float("Step", self, 1))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, 0)
|
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.float, 0)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue