diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index d7407da2d..c1f042b9e 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -957,6 +957,7 @@ {"name":"node_rigid_variable","order":11,"path":"scripts/node_rigid_variable/node_rigid_variable.yy",}, {"name":"node_rigid_wall","order":12,"path":"scripts/node_rigid_wall/node_rigid_wall.yy",}, {"name":"node_rim","order":22,"path":"scripts/node_rim/node_rim.yy",}, + {"name":"node_rm_extrude","order":2,"path":"scripts/node_rm_extrude/node_rm_extrude.yy",}, {"name":"node_rm_primitive","order":1,"path":"scripts/node_rm_primitive/node_rm_primitive.yy",}, {"name":"node_sampler","order":3,"path":"scripts/node_sampler/node_sampler.yy",}, {"name":"node_scale_algo","order":12,"path":"scripts/node_scale_algo/node_scale_algo.yy",}, @@ -1470,6 +1471,7 @@ {"name":"sh_remove_black","order":17,"path":"shaders/sh_remove_black/sh_remove_black.yy",}, {"name":"sh_replace_color","order":4,"path":"shaders/sh_replace_color/sh_replace_color.yy",}, {"name":"sh_rim","order":39,"path":"shaders/sh_rim/sh_rim.yy",}, + {"name":"sh_rm_extrude","order":1,"path":"shaders/sh_rm_extrude/sh_rm_extrude.yy",}, {"name":"sh_rsh_erode","order":2,"path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",}, {"name":"sh_rsh_rotate","order":1,"path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",}, {"name":"sh_sample_points","order":9,"path":"shaders/sh_sample_points/sh_sample_points.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 192337a9e..e868739ac 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -1401,6 +1401,7 @@ {"id":{"name":"node_rigid_variable","path":"scripts/node_rigid_variable/node_rigid_variable.yy",},}, {"id":{"name":"node_rigid_wall","path":"scripts/node_rigid_wall/node_rigid_wall.yy",},}, {"id":{"name":"node_rim","path":"scripts/node_rim/node_rim.yy",},}, + {"id":{"name":"node_rm_extrude","path":"scripts/node_rm_extrude/node_rm_extrude.yy",},}, {"id":{"name":"node_rm_primitive","path":"scripts/node_rm_primitive/node_rm_primitive.yy",},}, {"id":{"name":"node_sampler","path":"scripts/node_sampler/node_sampler.yy",},}, {"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},}, @@ -2000,6 +2001,7 @@ {"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},}, {"id":{"name":"sh_replace_color","path":"shaders/sh_replace_color/sh_replace_color.yy",},}, {"id":{"name":"sh_rim","path":"shaders/sh_rim/sh_rim.yy",},}, + {"id":{"name":"sh_rm_extrude","path":"shaders/sh_rm_extrude/sh_rm_extrude.yy",},}, {"id":{"name":"sh_rm_primitive","path":"shaders/sh_rm_primitive/sh_rm_primitive.yy",},}, {"id":{"name":"sh_rsh_corner","path":"shaders/sh_rsh_corner/sh_rsh_corner.yy",},}, {"id":{"name":"sh_rsh_erode","path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},}, diff --git a/scripts/node_rm_extrude/node_outline.yy b/scripts/node_rm_extrude/node_outline.yy new file mode 100644 index 000000000..86468bc09 --- /dev/null +++ b/scripts/node_rm_extrude/node_outline.yy @@ -0,0 +1,12 @@ +{ + "isDnD": false, + "isCompatibility": false, + "parent": { + "name": "process", + "path": "folders/nodes/data/process.yy", + }, + "resourceVersion": "1.0", + "name": "node_outline", + "tags": [], + "resourceType": "GMScript", +} \ No newline at end of file diff --git a/scripts/node_rm_extrude/node_rm_extrude.gml b/scripts/node_rm_extrude/node_rm_extrude.gml new file mode 100644 index 000000000..5e5afe411 --- /dev/null +++ b/scripts/node_rm_extrude/node_rm_extrude.gml @@ -0,0 +1,278 @@ +function Node_RM_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "RM Extrude"; + + inputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 1] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone ); + + inputs[| 2] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 3] = nodeValue("Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 4] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 4, 0.01 ] }); + + inputs[| 5] = nodeValue("FOV", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 30) + .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 90, 1 ] }); + + inputs[| 6] = nodeValue("View Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 3, 6 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 7] = nodeValue("Depth", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 8] = nodeValue("Light Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ -.5, -.5, 1 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 9] = nodeValue("Ambient", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); + + inputs[| 10] = nodeValue("Ambient Intensity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 11] = nodeValue("Elongate", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 12] = nodeValue("Rounded", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 13] = nodeValue("Projection", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_button, [ "Perspective", "Orthographic" ]) + .setVisible(false, false); + + inputs[| 14] = nodeValue("Ortho Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 5.) + + inputs[| 15] = nodeValue("Wave Amplitude", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4, 4 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 16] = nodeValue("Wave Intensity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 17] = nodeValue("Wave Phase", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 18] = nodeValue("Twist Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_button, [ "X", "Y", "Z" ]); + + inputs[| 19] = nodeValue("Twist Amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 8, 0.1 ] }); + + inputs[| 20] = nodeValue("Tile", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + inputs[| 21] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ]) + .setDisplay(VALUE_DISPLAY.vector); + + inputs[| 22] = nodeValue("Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .7) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 23] = nodeValue("Thickness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .2) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 24] = nodeValue("Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.) + .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] }); + + inputs[| 25] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 30.) + .setDisplay(VALUE_DISPLAY.rotation); + + inputs[| 26] = nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .5) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 27] = nodeValue("Radius Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .7) + .setDisplay(VALUE_DISPLAY.slider); + + inputs[| 28] = nodeValue("Uniform Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + .setDisplay(VALUE_DISPLAY.slider); + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + inputs[| 29] = nodeValue("Tile Amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) + .setDisplay(VALUE_DISPLAY.vector); + + outputs[| 0] = nodeValue("Surface Out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); + + input_display_list = [ 0, + ["Primitive", false], 1, 21, 22, 23, 24, 25, 26, 27, 28, + ["Modify", false], 12, 11, + ["Deform", true], 15, 16, 17, 18, 19, + ["Transform", false], 3, 4, + ["Camera", false], 13, 14, 5, 6, + ["Render", false], 7, 9, 10, 8, 20, 29, + ["Tile", false], 20, 29, + ]; + + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {} + + static step = function() { + var _shp = getSingleValue( 1); + var _ort = getSingleValue(13); + + inputs[| 21].setVisible(false); + inputs[| 22].setVisible(false); + inputs[| 23].setVisible(false); + inputs[| 24].setVisible(false); + inputs[| 25].setVisible(false); + inputs[| 26].setVisible(false); + inputs[| 27].setVisible(false); + inputs[| 28].setVisible(false); + + var _shape = shape_types[_shp]; + switch(_shape) { // Size + case "Box" : + case "Box Frame" : + case "Ellipse" : + inputs[| 21].setVisible(true); + break; + } + + switch(_shape) { // Radius + case "Sphere" : + case "Torus" : + case "Cut Sphere" : + case "Cut Hollow Sphere" : + case "Capped Torus" : + case "Cylinder" : + case "Capsule" : + case "3D Arc" : + inputs[| 22].setVisible(true); + break; + } + + switch(_shape) { // Thickness + case "Box Frame" : + case "Torus" : + case "Cut Hollow Sphere" : + case "Capped Torus" : + inputs[| 23].setVisible(true); + break; + } + + switch(_shape) { // Crop + case "Cut Sphere" : + case "Cut Hollow Sphere" : + inputs[| 24].setVisible(true); + break; + } + + switch(_shape) { // Angle + case "Capped Torus" : + case "Cone" : + case "3D Arc" : + inputs[| 25].setVisible(true); + break; + } + + switch(_shape) { // Height + case "Cylinder" : + case "Capsule" : + case "Cone" : + case "Capped Cone" : + case "Round Cone" : + inputs[| 26].setVisible(true); + break; + } + + switch(_shape) { // Radius Range + case "Capped Cone" : + case "Round Cone" : + inputs[| 27].setVisible(true); + break; + } + + switch(_shape) { // Uniform Size + case "Octahedron" : + case "Pyramid" : + inputs[| 28].setVisible(true); + break; + } + + inputs[| 5].setVisible(_ort == 0); + inputs[| 14].setVisible(_ort == 1); + } + + static processData = function(_outSurf, _data, _output_index, _array_index = 0) { + var _dim = _data[0]; + var _shp = _data[1]; + + var _pos = _data[2]; + var _rot = _data[3]; + var _sca = _data[4]; + + var _fov = _data[5]; + var _rng = _data[6]; + + var _dpi = _data[7]; + var _lPos = _data[8]; + var _amb = _data[9]; + var _ambI = _data[10]; + var _elon = _data[11]; + var _rond = _data[12]; + + var _ort = _data[13]; + var _ortS = _data[14]; + + var _wavA = _data[15]; + var _wavI = _data[16]; + var _wavS = _data[17]; + var _twsX = _data[18]; + var _twsA = _data[19]; + var _tile = _data[20]; + + var _size = _data[21]; + var _rad = _data[22]; + var _thk = _data[23]; + var _crop = _data[24]; + var _angl = _data[25]; + var _heig = _data[26]; + var _radR = _data[27]; + var _sizz = _data[28]; + var _tilA = _data[29]; + + _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); + + surface_set_shader(_outSurf, sh_rm_primitive); + shader_set_i("shape", _shp); + shader_set_f("size", _size); + shader_set_f("radius", _rad); + shader_set_f("thickness", _thk); + shader_set_f("crop", _crop); + shader_set_f("angle", degtorad(_angl)); + shader_set_f("height", _heig); + shader_set_f("radRange", _radR); + shader_set_f("sizeUni", _sizz); + shader_set_f("elongate", _elon); + shader_set_f("rounded", _rond); + + shader_set_f("waveAmp", _wavA); + shader_set_f("waveInt", _wavI); + shader_set_f("waveShift", _wavS); + + shader_set_i("twistAxis", _twsX); + shader_set_f("twistAmount", _twsA); + + shader_set_f("position", _pos); + shader_set_f("rotation", _rot); + shader_set_f("objectScale", _sca); + + shader_set_i("ortho", _ort); + shader_set_f("fov", _fov); + shader_set_f("orthoScale", _ortS); + shader_set_f("viewRange", _rng); + shader_set_f("depthInt", _dpi); + shader_set_f("tileSize", _tile); + shader_set_f("tileAmount", _tilA); + + shader_set_color("ambient", _amb); + shader_set_f("ambientIntns", _ambI); + shader_set_f("lightPosition", _lPos); + + draw_sprite_stretched(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1]); + surface_reset_shader(); + + return _outSurf; + } +} diff --git a/scripts/node_rm_extrude/node_rm_extrude.yy b/scripts/node_rm_extrude/node_rm_extrude.yy new file mode 100644 index 000000000..9906e20af --- /dev/null +++ b/scripts/node_rm_extrude/node_rm_extrude.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"", + "%Name":"node_rm_extrude", + "isCompatibility":false, + "isDnD":false, + "name":"node_rm_extrude", + "parent":{ + "name":"ray march", + "path":"folders/nodes/data/generator/ray march.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/scripts/node_rm_primitive/node_rm_primitive.gml b/scripts/node_rm_primitive/node_rm_primitive.gml index 2929f2c07..791cb93ac 100644 --- a/scripts/node_rm_primitive/node_rm_primitive.gml +++ b/scripts/node_rm_primitive/node_rm_primitive.gml @@ -12,6 +12,8 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro "Cylinder", "Capsule", "Cone", "Capped Cone", "Round Cone", "3D Arc", -1, "Octahedron", "Pyramid", + -1, + "Extrude" ]; shape_types_str = []; @@ -113,15 +115,17 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro inputs[| 29] = nodeValue("Tile Amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); + inputs[| 30] = nodeValue("Extrude Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + outputs[| 0] = nodeValue("Surface Out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 0, - ["Primitive", false], 1, 21, 22, 23, 24, 25, 26, 27, 28, + ["Primitive", false], 1, 21, 22, 23, 24, 25, 26, 27, 28, 30, ["Modify", false], 12, 11, ["Deform", true], 15, 16, 17, 18, 19, ["Transform", false], 3, 4, ["Camera", false], 13, 14, 5, 6, - ["Render", false], 7, 9, 10, 8, 20, 29, + ["Render", false], 7, 9, 10, 8, ["Tile", false], 20, 29, ]; @@ -139,6 +143,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro inputs[| 26].setVisible(false); inputs[| 27].setVisible(false); inputs[| 28].setVisible(false); + inputs[| 30].setVisible(false); var _shape = shape_types[_shp]; switch(_shape) { // Size @@ -167,6 +172,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro case "Torus" : case "Cut Hollow Sphere" : case "Capped Torus" : + case "Extrude" : inputs[| 23].setVisible(true); break; } @@ -206,10 +212,17 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro switch(_shape) { // Uniform Size case "Octahedron" : case "Pyramid" : + case "Extrude" : inputs[| 28].setVisible(true); break; } + switch(_shape) { // Extrude + case "Extrude" : + inputs[| 30].setVisible(true); + break; + } + inputs[| 5].setVisible(_ort == 0); inputs[| 14].setVisible(_ort == 1); } @@ -251,9 +264,12 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro var _radR = _data[27]; var _sizz = _data[28]; var _tilA = _data[29]; + var _extr = _data[30]; _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); + // gpu_set_texfilter(true); + surface_set_shader(_outSurf, sh_rm_primitive); shader_set_i("shape", _shp); shader_set_f("size", _size); @@ -266,6 +282,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro shader_set_f("sizeUni", _sizz); shader_set_f("elongate", _elon); shader_set_f("rounded", _rond); + shader_set_surface("extrudeSurface", _extr); shader_set_f("waveAmp", _wavA); shader_set_f("waveInt", _wavI); @@ -293,6 +310,8 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro draw_sprite_stretched(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1]); surface_reset_shader(); + gpu_set_texfilter(false); + return _outSurf; } } diff --git a/shaders/sh_de_stray/sh_de_stray.fsh b/shaders/sh_de_stray/sh_de_stray.fsh index b14dc5edc..8603491e4 100644 --- a/shaders/sh_de_stray/sh_de_stray.fsh +++ b/shaders/sh_de_stray/sh_de_stray.fsh @@ -6,13 +6,14 @@ uniform float tolerance; uniform int strict; uniform int fill; -float d(in vec4 c1, in vec4 c2) { return length(c1.rgb * c1.a - c2.rgb * c2.a) / sqrt(3.); } +vec4 a4; +float d(in vec4 c1, in vec4 c2) { return length(c1 - c2) / sqrt(4.); } bool s(in vec4 c1, in vec4 c2) { return d(c1, c2) <= tolerance; } #region select closet color - vec4 sel2(in vec4 c, in vec4 c0, in vec4 c1) { - float d0 = d(c, c0); - float d1 = d(c, c1); + vec4 sel2(in vec4 c0, in vec4 c1) { + float d0 = d(a4, c0); + float d1 = d(a4, c1); float mn = min(d0, d1); @@ -20,10 +21,10 @@ bool s(in vec4 c1, in vec4 c2) { return d(c1, c2) <= tolerance; } return c1; } - vec4 sel3(in vec4 c, in vec4 c0, in vec4 c1, in vec4 c2) { - float d0 = d(c, c0); - float d1 = d(c, c1); - float d2 = d(c, c2); + vec4 sel3(in vec4 c0, in vec4 c1, in vec4 c2) { + float d0 = d(a4, c0); + float d1 = d(a4, c1); + float d2 = d(a4, c2); float mn = min(min(d0, d1), d2); @@ -32,11 +33,11 @@ bool s(in vec4 c1, in vec4 c2) { return d(c1, c2) <= tolerance; } return c2; } - vec4 sel4(in vec4 c, in vec4 c0, in vec4 c1, in vec4 c2, in vec4 c3) { - float d0 = d(c, c0); - float d1 = d(c, c1); - float d2 = d(c, c2); - float d3 = d(c, c3); + vec4 sel4(in vec4 c0, in vec4 c1, in vec4 c2, in vec4 c3) { + float d0 = d(a4, c0); + float d1 = d(a4, c1); + float d2 = d(a4, c2); + float d3 = d(a4, c3); float mn = min(min(d0, d1), min(d2, d3)); @@ -59,7 +60,7 @@ void main() { vec4 a2 = texture2D( gm_BaseTexture, v_vTexcoord + vec2( tx.x, -tx.y)); vec4 a3 = texture2D( gm_BaseTexture, v_vTexcoord + vec2(-tx.x, 0.)); - vec4 a4 = texture2D( gm_BaseTexture, v_vTexcoord ); + a4 = texture2D( gm_BaseTexture, v_vTexcoord ); vec4 a5 = texture2D( gm_BaseTexture, v_vTexcoord + vec2( tx.x, 0.)); vec4 a6 = texture2D( gm_BaseTexture, v_vTexcoord + vec2(-tx.x, tx.y)); @@ -70,23 +71,23 @@ void main() { if(a4.a == 0.) { if(fill == 0) return; - gl_FragColor = sel4(a4, a1, a3, a5, a7); + gl_FragColor = sel4(a1, a3, a5, a7); return; } if(strict == 0) { - if(a1.a > 0. && !s(a4, a1) && s(a1, a3) && s(a1, a5)) gl_FragColor = sel3(a4, a1, a3, a5); - if(a3.a > 0. && !s(a4, a3) && s(a3, a1) && s(a3, a7)) gl_FragColor = sel3(a4, a3, a1, a7); - if(a5.a > 0. && !s(a4, a5) && s(a5, a1) && s(a5, a7)) gl_FragColor = sel3(a4, a5, a1, a7); - if(a7.a > 0. && !s(a4, a7) && s(a7, a3) && s(a7, a5)) gl_FragColor = sel3(a4, a7, a3, a5); + if(!s(a4, a1) && s(a1, a3) && s(a1, a5)) gl_FragColor = sel3(a1, a3, a5); + if(!s(a4, a3) && s(a3, a1) && s(a3, a7)) gl_FragColor = sel3(a3, a1, a7); + if(!s(a4, a5) && s(a5, a1) && s(a5, a7)) gl_FragColor = sel3(a5, a1, a7); + if(!s(a4, a7) && s(a7, a3) && s(a7, a5)) gl_FragColor = sel3(a7, a3, a5); } else if(strict == 1) { - if(a1.a > 0. && !s(a4, a1) && s(a1, a3) && s(a1, a5) && s(a1, a7)) - gl_FragColor = sel4(a4, a1, a3, a5, a7); + if(!s(a4, a1) && s(a1, a3) && s(a1, a5) && s(a1, a7)) + gl_FragColor = sel4(a1, a3, a5, a7); } else if(strict == 2) { - if(a1.a > 0. && !s(a4, a1) && s(a1, a3) && s(a1, a5) && s(a1, a7) - && s(a1, a0) && s(a1, a2) && s(a1, a6) && s(a1, a8) - ) gl_FragColor = sel4(a4, a1, a3, a5, a7); + if(!s(a4, a1) && s(a1, a3) && s(a1, a5) && s(a1, a7) + && s(a1, a0) && s(a1, a2) && s(a1, a6) && s(a1, a8)) + gl_FragColor = sel4(a1, a3, a5, a7); } } diff --git a/shaders/sh_rm_extrude/sh_rm_extrude.fsh b/shaders/sh_rm_extrude/sh_rm_extrude.fsh new file mode 100644 index 000000000..e28a17897 --- /dev/null +++ b/shaders/sh_rm_extrude/sh_rm_extrude.fsh @@ -0,0 +1,10 @@ +// +// Simple passthrough fragment shader +// +varying vec2 v_vTexcoord; +varying vec4 v_vColour; + +void main() +{ + gl_FragColor = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord ); +} diff --git a/shaders/sh_rm_extrude/sh_rm_extrude.vsh b/shaders/sh_rm_extrude/sh_rm_extrude.vsh new file mode 100644 index 000000000..3900c20f4 --- /dev/null +++ b/shaders/sh_rm_extrude/sh_rm_extrude.vsh @@ -0,0 +1,19 @@ +// +// Simple passthrough vertex shader +// +attribute vec3 in_Position; // (x,y,z) +//attribute vec3 in_Normal; // (x,y,z) unused in this shader. +attribute vec4 in_Colour; // (r,g,b,a) +attribute vec2 in_TextureCoord; // (u,v) + +varying vec2 v_vTexcoord; +varying vec4 v_vColour; + +void main() +{ + vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0); + gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos; + + v_vColour = in_Colour; + v_vTexcoord = in_TextureCoord; +} diff --git a/shaders/sh_rm_extrude/sh_rm_extrude.yy b/shaders/sh_rm_extrude/sh_rm_extrude.yy new file mode 100644 index 000000000..1ed943a92 --- /dev/null +++ b/shaders/sh_rm_extrude/sh_rm_extrude.yy @@ -0,0 +1,12 @@ +{ + "$GMShader":"", + "%Name":"sh_rm_extrude", + "name":"sh_rm_extrude", + "parent":{ + "name":"ray march", + "path":"folders/shader/ray march.yy", + }, + "resourceType":"GMShader", + "resourceVersion":"2.0", + "type":1, +} \ No newline at end of file diff --git a/shaders/sh_rm_primitive/sh_rm_primitive.fsh b/shaders/sh_rm_primitive/sh_rm_primitive.fsh index ed53ca51e..5ecf7885b 100644 --- a/shaders/sh_rm_primitive/sh_rm_primitive.fsh +++ b/shaders/sh_rm_primitive/sh_rm_primitive.fsh @@ -4,7 +4,7 @@ varying vec2 v_vTexcoord; varying vec4 v_vColour; -const int MAX_MARCHING_STEPS = 255; +const int MAX_MARCHING_STEPS = 512; const float EPSILON = .0001; const float PI = 3.14159265358979323846; @@ -19,6 +19,7 @@ uniform vec2 radRange; uniform float sizeUni; uniform vec3 elongate; uniform float rounded; +uniform sampler2D extrudeSurface; uniform vec3 waveAmp; uniform vec3 waveInt; @@ -265,6 +266,16 @@ uniform vec3 lightPosition; return sqrt( (d2+q.z*q.z)/m2 ) * sign(max(q.z,-p.y)); } + + float sdExtrude( vec3 p, float s, float h ) { + vec2 pos = p.xz / s / 2. + 0.5; + vec4 sm = texture2D(extrudeSurface, pos); + float am = (sm.r + sm.g + sm.b) / 3. * sm.a; + + float d = 0.1 - am; + vec2 w = vec2( d, abs(p.y) - h * am ); + return min(max(w.x, w.y), 0.0) + length(max(w, 0.0)); + } #endregion #region ================= Modify ================== @@ -366,6 +377,8 @@ float sceneSDF(vec3 p) { //17 else if(shape == 18) d = sdOctahedron(p, sizeUni); else if(shape == 19) d = sdPyramid(p, sizeUni); + //20 + else if(shape == 21) d = sdExtrude(p, sizeUni, thickness); if(elongate != vec3(0.)) { d += el.w; diff --git a/sprites/s_node_shape_3d/fbefaeba-464c-4984-9c90-b9fe8a68f749.png b/sprites/s_node_shape_3d/0286071d-780c-4647-869c-0c4d1080ba7c.png similarity index 77% rename from sprites/s_node_shape_3d/fbefaeba-464c-4984-9c90-b9fe8a68f749.png rename to sprites/s_node_shape_3d/0286071d-780c-4647-869c-0c4d1080ba7c.png index 6d47c7f96..2ef7f062f 100644 Binary files a/sprites/s_node_shape_3d/fbefaeba-464c-4984-9c90-b9fe8a68f749.png and b/sprites/s_node_shape_3d/0286071d-780c-4647-869c-0c4d1080ba7c.png differ diff --git a/sprites/s_node_shape_3d/layers/a8ab0827-e277-4fe0-af42-0a493e3f300e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/045731c8-8c2c-4d28-8006-82d1a539cecd.png similarity index 70% rename from sprites/s_node_shape_3d/layers/a8ab0827-e277-4fe0-af42-0a493e3f300e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/045731c8-8c2c-4d28-8006-82d1a539cecd.png index 5628a9ee8..59063b68c 100644 Binary files a/sprites/s_node_shape_3d/layers/a8ab0827-e277-4fe0-af42-0a493e3f300e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/045731c8-8c2c-4d28-8006-82d1a539cecd.png differ diff --git a/sprites/s_node_shape_3d/25d1fd94-e801-4236-920e-931be44954be.png b/sprites/s_node_shape_3d/1515c72e-0bd2-4066-8e02-a6e38d470dd5.png similarity index 87% rename from sprites/s_node_shape_3d/25d1fd94-e801-4236-920e-931be44954be.png rename to sprites/s_node_shape_3d/1515c72e-0bd2-4066-8e02-a6e38d470dd5.png index 171c0d4fb..fb7c305a2 100644 Binary files a/sprites/s_node_shape_3d/25d1fd94-e801-4236-920e-931be44954be.png and b/sprites/s_node_shape_3d/1515c72e-0bd2-4066-8e02-a6e38d470dd5.png differ diff --git a/sprites/s_node_shape_3d/layers/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/4109c9fe-3e58-466d-8d62-d684411577dd.png similarity index 73% rename from sprites/s_node_shape_3d/layers/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/4109c9fe-3e58-466d-8d62-d684411577dd.png index 0c7ad04c9..54205d3a0 100644 Binary files a/sprites/s_node_shape_3d/layers/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/4109c9fe-3e58-466d-8d62-d684411577dd.png differ diff --git a/sprites/s_node_shape_3d/layers/a3a465f9-7d13-48c5-a59d-e5a2453602e2/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/5213864d-bbdd-4d45-9767-bd23e43f5f82.png similarity index 74% rename from sprites/s_node_shape_3d/layers/a3a465f9-7d13-48c5-a59d-e5a2453602e2/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/5213864d-bbdd-4d45-9767-bd23e43f5f82.png index 0edd8d0b6..12dc1315a 100644 Binary files a/sprites/s_node_shape_3d/layers/a3a465f9-7d13-48c5-a59d-e5a2453602e2/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/5213864d-bbdd-4d45-9767-bd23e43f5f82.png differ diff --git a/sprites/s_node_shape_3d/layers/d8f5c08f-c4a0-4a37-ac98-2504f79c363e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/58df771b-5cfc-4c91-8642-3f76a85f0e24.png similarity index 57% rename from sprites/s_node_shape_3d/layers/d8f5c08f-c4a0-4a37-ac98-2504f79c363e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/58df771b-5cfc-4c91-8642-3f76a85f0e24.png index 3471420de..62a11563d 100644 Binary files a/sprites/s_node_shape_3d/layers/d8f5c08f-c4a0-4a37-ac98-2504f79c363e/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/58df771b-5cfc-4c91-8642-3f76a85f0e24.png differ diff --git a/sprites/s_node_shape_3d/37790c04-f438-4d6f-9883-4050e9b91ea1.png b/sprites/s_node_shape_3d/592f23c5-2a6f-4956-923f-f95035a1afe9.png similarity index 80% rename from sprites/s_node_shape_3d/37790c04-f438-4d6f-9883-4050e9b91ea1.png rename to sprites/s_node_shape_3d/592f23c5-2a6f-4956-923f-f95035a1afe9.png index d0acc927f..d34ad9c42 100644 Binary files a/sprites/s_node_shape_3d/37790c04-f438-4d6f-9883-4050e9b91ea1.png and b/sprites/s_node_shape_3d/592f23c5-2a6f-4956-923f-f95035a1afe9.png differ diff --git a/sprites/s_node_shape_3d/523b3356-ed87-4998-bb44-449d347e8d0a.png b/sprites/s_node_shape_3d/7bed9899-c152-4a38-840a-a585850a0002.png similarity index 68% rename from sprites/s_node_shape_3d/523b3356-ed87-4998-bb44-449d347e8d0a.png rename to sprites/s_node_shape_3d/7bed9899-c152-4a38-840a-a585850a0002.png index cdb777f7a..a6d891cb1 100644 Binary files a/sprites/s_node_shape_3d/523b3356-ed87-4998-bb44-449d347e8d0a.png and b/sprites/s_node_shape_3d/7bed9899-c152-4a38-840a-a585850a0002.png differ diff --git a/sprites/s_node_shape_3d/adbc388b-49f9-47de-8d91-7ab7405eba30.png b/sprites/s_node_shape_3d/90c5fa45-f762-4ecb-8806-cbab0d19f12f.png similarity index 80% rename from sprites/s_node_shape_3d/adbc388b-49f9-47de-8d91-7ab7405eba30.png rename to sprites/s_node_shape_3d/90c5fa45-f762-4ecb-8806-cbab0d19f12f.png index 527786cd1..551ee3a50 100644 Binary files a/sprites/s_node_shape_3d/adbc388b-49f9-47de-8d91-7ab7405eba30.png and b/sprites/s_node_shape_3d/90c5fa45-f762-4ecb-8806-cbab0d19f12f.png differ diff --git a/sprites/s_node_shape_3d/9abe9fa1-aa59-4120-94f4-f494d8efab99.png b/sprites/s_node_shape_3d/9abe9fa1-aa59-4120-94f4-f494d8efab99.png new file mode 100644 index 000000000..0f418d392 Binary files /dev/null and b/sprites/s_node_shape_3d/9abe9fa1-aa59-4120-94f4-f494d8efab99.png differ diff --git a/sprites/s_node_shape_3d/e55537e4-4b14-4690-9234-c3de34d01049.png b/sprites/s_node_shape_3d/a12f0194-e1c6-4c1e-b515-06b685aae93f.png similarity index 76% rename from sprites/s_node_shape_3d/e55537e4-4b14-4690-9234-c3de34d01049.png rename to sprites/s_node_shape_3d/a12f0194-e1c6-4c1e-b515-06b685aae93f.png index 32adb81e0..2dc419e13 100644 Binary files a/sprites/s_node_shape_3d/e55537e4-4b14-4690-9234-c3de34d01049.png and b/sprites/s_node_shape_3d/a12f0194-e1c6-4c1e-b515-06b685aae93f.png differ diff --git a/sprites/s_node_shape_3d/03f758c5-0f2b-471c-9bb3-a08437719dd7.png b/sprites/s_node_shape_3d/a92bb38c-15e2-43dd-bb28-d8359487f727.png similarity index 79% rename from sprites/s_node_shape_3d/03f758c5-0f2b-471c-9bb3-a08437719dd7.png rename to sprites/s_node_shape_3d/a92bb38c-15e2-43dd-bb28-d8359487f727.png index 2cbaea2dc..e59552da0 100644 Binary files a/sprites/s_node_shape_3d/03f758c5-0f2b-471c-9bb3-a08437719dd7.png and b/sprites/s_node_shape_3d/a92bb38c-15e2-43dd-bb28-d8359487f727.png differ diff --git a/sprites/s_node_shape_3d/layers/c0f5b4b1-753c-4d80-8999-87f6036f42aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f.png similarity index 72% rename from sprites/s_node_shape_3d/layers/c0f5b4b1-753c-4d80-8999-87f6036f42aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f.png index 574a1e679..2a773b1b6 100644 Binary files a/sprites/s_node_shape_3d/layers/c0f5b4b1-753c-4d80-8999-87f6036f42aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f.png differ diff --git a/sprites/s_node_shape_3d/layers/13d9fd09-286d-4a23-ac42-2f3e52c09bed/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/c471eb86-4f13-4305-8f4f-93ae4a4094e9.png similarity index 77% rename from sprites/s_node_shape_3d/layers/13d9fd09-286d-4a23-ac42-2f3e52c09bed/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/c471eb86-4f13-4305-8f4f-93ae4a4094e9.png index 69dab5d89..1f9d6fb92 100644 Binary files a/sprites/s_node_shape_3d/layers/13d9fd09-286d-4a23-ac42-2f3e52c09bed/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/c471eb86-4f13-4305-8f4f-93ae4a4094e9.png differ diff --git a/sprites/s_node_shape_3d/ac1b25a5-14b0-48d2-8514-950fa4e40834.png b/sprites/s_node_shape_3d/d7cad3db-4779-4f77-909c-80b99fad8d60.png similarity index 79% rename from sprites/s_node_shape_3d/ac1b25a5-14b0-48d2-8514-950fa4e40834.png rename to sprites/s_node_shape_3d/d7cad3db-4779-4f77-909c-80b99fad8d60.png index d8ca35dc2..ea0ec2955 100644 Binary files a/sprites/s_node_shape_3d/ac1b25a5-14b0-48d2-8514-950fa4e40834.png and b/sprites/s_node_shape_3d/d7cad3db-4779-4f77-909c-80b99fad8d60.png differ diff --git a/sprites/s_node_shape_3d/ada07b25-2b68-464c-8d15-1eb968b2aea6.png b/sprites/s_node_shape_3d/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd.png similarity index 77% rename from sprites/s_node_shape_3d/ada07b25-2b68-464c-8d15-1eb968b2aea6.png rename to sprites/s_node_shape_3d/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd.png index 419023382..2e90fea94 100644 Binary files a/sprites/s_node_shape_3d/ada07b25-2b68-464c-8d15-1eb968b2aea6.png and b/sprites/s_node_shape_3d/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd.png differ diff --git a/sprites/s_node_shape_3d/46eca356-3c1c-4db2-9c70-fad60ee33971.png b/sprites/s_node_shape_3d/fc7bb6e1-a18e-42cd-b49a-03577d097a87.png similarity index 80% rename from sprites/s_node_shape_3d/46eca356-3c1c-4db2-9c70-fad60ee33971.png rename to sprites/s_node_shape_3d/fc7bb6e1-a18e-42cd-b49a-03577d097a87.png index bd4a6b1f0..cfcb4e9f4 100644 Binary files a/sprites/s_node_shape_3d/46eca356-3c1c-4db2-9c70-fad60ee33971.png and b/sprites/s_node_shape_3d/fc7bb6e1-a18e-42cd-b49a-03577d097a87.png differ diff --git a/sprites/s_node_shape_3d/layers/182fec8b-d5d9-4179-8285-4dcf33c5b4aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/fca9fb94-c90a-47c5-a325-f32cd8018d6f.png similarity index 72% rename from sprites/s_node_shape_3d/layers/182fec8b-d5d9-4179-8285-4dcf33c5b4aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/fca9fb94-c90a-47c5-a325-f32cd8018d6f.png index 25db8e5ce..dfcd71c59 100644 Binary files a/sprites/s_node_shape_3d/layers/182fec8b-d5d9-4179-8285-4dcf33c5b4aa/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/fca9fb94-c90a-47c5-a325-f32cd8018d6f.png differ diff --git a/sprites/s_node_shape_3d/layers/fbefaeba-464c-4984-9c90-b9fe8a68f749/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/0286071d-780c-4647-869c-0c4d1080ba7c/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 77% rename from sprites/s_node_shape_3d/layers/fbefaeba-464c-4984-9c90-b9fe8a68f749/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/0286071d-780c-4647-869c-0c4d1080ba7c/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 6d47c7f96..2ef7f062f 100644 Binary files a/sprites/s_node_shape_3d/layers/fbefaeba-464c-4984-9c90-b9fe8a68f749/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/0286071d-780c-4647-869c-0c4d1080ba7c/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/a8ab0827-e277-4fe0-af42-0a493e3f300e.png b/sprites/s_node_shape_3d/layers/045731c8-8c2c-4d28-8006-82d1a539cecd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 70% rename from sprites/s_node_shape_3d/a8ab0827-e277-4fe0-af42-0a493e3f300e.png rename to sprites/s_node_shape_3d/layers/045731c8-8c2c-4d28-8006-82d1a539cecd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 5628a9ee8..59063b68c 100644 Binary files a/sprites/s_node_shape_3d/a8ab0827-e277-4fe0-af42-0a493e3f300e.png and b/sprites/s_node_shape_3d/layers/045731c8-8c2c-4d28-8006-82d1a539cecd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/25d1fd94-e801-4236-920e-931be44954be/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/1515c72e-0bd2-4066-8e02-a6e38d470dd5/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 87% rename from sprites/s_node_shape_3d/layers/25d1fd94-e801-4236-920e-931be44954be/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/1515c72e-0bd2-4066-8e02-a6e38d470dd5/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 171c0d4fb..fb7c305a2 100644 Binary files a/sprites/s_node_shape_3d/layers/25d1fd94-e801-4236-920e-931be44954be/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/1515c72e-0bd2-4066-8e02-a6e38d470dd5/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6.png b/sprites/s_node_shape_3d/layers/4109c9fe-3e58-466d-8d62-d684411577dd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 73% rename from sprites/s_node_shape_3d/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6.png rename to sprites/s_node_shape_3d/layers/4109c9fe-3e58-466d-8d62-d684411577dd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 0c7ad04c9..54205d3a0 100644 Binary files a/sprites/s_node_shape_3d/0722182a-6a52-48c9-ad6e-71e2a1f4a1a6.png and b/sprites/s_node_shape_3d/layers/4109c9fe-3e58-466d-8d62-d684411577dd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/a3a465f9-7d13-48c5-a59d-e5a2453602e2.png b/sprites/s_node_shape_3d/layers/5213864d-bbdd-4d45-9767-bd23e43f5f82/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 74% rename from sprites/s_node_shape_3d/a3a465f9-7d13-48c5-a59d-e5a2453602e2.png rename to sprites/s_node_shape_3d/layers/5213864d-bbdd-4d45-9767-bd23e43f5f82/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 0edd8d0b6..12dc1315a 100644 Binary files a/sprites/s_node_shape_3d/a3a465f9-7d13-48c5-a59d-e5a2453602e2.png and b/sprites/s_node_shape_3d/layers/5213864d-bbdd-4d45-9767-bd23e43f5f82/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/d8f5c08f-c4a0-4a37-ac98-2504f79c363e.png b/sprites/s_node_shape_3d/layers/58df771b-5cfc-4c91-8642-3f76a85f0e24/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 57% rename from sprites/s_node_shape_3d/d8f5c08f-c4a0-4a37-ac98-2504f79c363e.png rename to sprites/s_node_shape_3d/layers/58df771b-5cfc-4c91-8642-3f76a85f0e24/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 3471420de..62a11563d 100644 Binary files a/sprites/s_node_shape_3d/d8f5c08f-c4a0-4a37-ac98-2504f79c363e.png and b/sprites/s_node_shape_3d/layers/58df771b-5cfc-4c91-8642-3f76a85f0e24/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/37790c04-f438-4d6f-9883-4050e9b91ea1/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/592f23c5-2a6f-4956-923f-f95035a1afe9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 80% rename from sprites/s_node_shape_3d/layers/37790c04-f438-4d6f-9883-4050e9b91ea1/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/592f23c5-2a6f-4956-923f-f95035a1afe9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index d0acc927f..d34ad9c42 100644 Binary files a/sprites/s_node_shape_3d/layers/37790c04-f438-4d6f-9883-4050e9b91ea1/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/592f23c5-2a6f-4956-923f-f95035a1afe9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/523b3356-ed87-4998-bb44-449d347e8d0a/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/7bed9899-c152-4a38-840a-a585850a0002/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 68% rename from sprites/s_node_shape_3d/layers/523b3356-ed87-4998-bb44-449d347e8d0a/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/7bed9899-c152-4a38-840a-a585850a0002/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index cdb777f7a..a6d891cb1 100644 Binary files a/sprites/s_node_shape_3d/layers/523b3356-ed87-4998-bb44-449d347e8d0a/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/7bed9899-c152-4a38-840a-a585850a0002/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/adbc388b-49f9-47de-8d91-7ab7405eba30/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/90c5fa45-f762-4ecb-8806-cbab0d19f12f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 80% rename from sprites/s_node_shape_3d/layers/adbc388b-49f9-47de-8d91-7ab7405eba30/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/90c5fa45-f762-4ecb-8806-cbab0d19f12f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 527786cd1..551ee3a50 100644 Binary files a/sprites/s_node_shape_3d/layers/adbc388b-49f9-47de-8d91-7ab7405eba30/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/90c5fa45-f762-4ecb-8806-cbab0d19f12f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/9abe9fa1-aa59-4120-94f4-f494d8efab99/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png b/sprites/s_node_shape_3d/layers/9abe9fa1-aa59-4120-94f4-f494d8efab99/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png new file mode 100644 index 000000000..0f418d392 Binary files /dev/null and b/sprites/s_node_shape_3d/layers/9abe9fa1-aa59-4120-94f4-f494d8efab99/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/e55537e4-4b14-4690-9234-c3de34d01049/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/a12f0194-e1c6-4c1e-b515-06b685aae93f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 76% rename from sprites/s_node_shape_3d/layers/e55537e4-4b14-4690-9234-c3de34d01049/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/a12f0194-e1c6-4c1e-b515-06b685aae93f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 32adb81e0..2dc419e13 100644 Binary files a/sprites/s_node_shape_3d/layers/e55537e4-4b14-4690-9234-c3de34d01049/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/a12f0194-e1c6-4c1e-b515-06b685aae93f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/03f758c5-0f2b-471c-9bb3-a08437719dd7/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/a92bb38c-15e2-43dd-bb28-d8359487f727/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 79% rename from sprites/s_node_shape_3d/layers/03f758c5-0f2b-471c-9bb3-a08437719dd7/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/a92bb38c-15e2-43dd-bb28-d8359487f727/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 2cbaea2dc..e59552da0 100644 Binary files a/sprites/s_node_shape_3d/layers/03f758c5-0f2b-471c-9bb3-a08437719dd7/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/a92bb38c-15e2-43dd-bb28-d8359487f727/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/c0f5b4b1-753c-4d80-8999-87f6036f42aa.png b/sprites/s_node_shape_3d/layers/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 72% rename from sprites/s_node_shape_3d/c0f5b4b1-753c-4d80-8999-87f6036f42aa.png rename to sprites/s_node_shape_3d/layers/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 574a1e679..2a773b1b6 100644 Binary files a/sprites/s_node_shape_3d/c0f5b4b1-753c-4d80-8999-87f6036f42aa.png and b/sprites/s_node_shape_3d/layers/a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/13d9fd09-286d-4a23-ac42-2f3e52c09bed.png b/sprites/s_node_shape_3d/layers/c471eb86-4f13-4305-8f4f-93ae4a4094e9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 77% rename from sprites/s_node_shape_3d/13d9fd09-286d-4a23-ac42-2f3e52c09bed.png rename to sprites/s_node_shape_3d/layers/c471eb86-4f13-4305-8f4f-93ae4a4094e9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 69dab5d89..1f9d6fb92 100644 Binary files a/sprites/s_node_shape_3d/13d9fd09-286d-4a23-ac42-2f3e52c09bed.png and b/sprites/s_node_shape_3d/layers/c471eb86-4f13-4305-8f4f-93ae4a4094e9/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/ac1b25a5-14b0-48d2-8514-950fa4e40834/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/d7cad3db-4779-4f77-909c-80b99fad8d60/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 79% rename from sprites/s_node_shape_3d/layers/ac1b25a5-14b0-48d2-8514-950fa4e40834/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/d7cad3db-4779-4f77-909c-80b99fad8d60/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index d8ca35dc2..ea0ec2955 100644 Binary files a/sprites/s_node_shape_3d/layers/ac1b25a5-14b0-48d2-8514-950fa4e40834/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/d7cad3db-4779-4f77-909c-80b99fad8d60/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/ada07b25-2b68-464c-8d15-1eb968b2aea6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 77% rename from sprites/s_node_shape_3d/layers/ada07b25-2b68-464c-8d15-1eb968b2aea6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 419023382..2e90fea94 100644 Binary files a/sprites/s_node_shape_3d/layers/ada07b25-2b68-464c-8d15-1eb968b2aea6/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/f8fe8cad-c337-4b88-8fc6-af20dd32c8bd/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/layers/46eca356-3c1c-4db2-9c70-fad60ee33971/d643ed43-cc1b-48da-94ba-8b43d929cf56.png b/sprites/s_node_shape_3d/layers/fc7bb6e1-a18e-42cd-b49a-03577d097a87/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 80% rename from sprites/s_node_shape_3d/layers/46eca356-3c1c-4db2-9c70-fad60ee33971/d643ed43-cc1b-48da-94ba-8b43d929cf56.png rename to sprites/s_node_shape_3d/layers/fc7bb6e1-a18e-42cd-b49a-03577d097a87/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index bd4a6b1f0..cfcb4e9f4 100644 Binary files a/sprites/s_node_shape_3d/layers/46eca356-3c1c-4db2-9c70-fad60ee33971/d643ed43-cc1b-48da-94ba-8b43d929cf56.png and b/sprites/s_node_shape_3d/layers/fc7bb6e1-a18e-42cd-b49a-03577d097a87/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/182fec8b-d5d9-4179-8285-4dcf33c5b4aa.png b/sprites/s_node_shape_3d/layers/fca9fb94-c90a-47c5-a325-f32cd8018d6f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png similarity index 72% rename from sprites/s_node_shape_3d/182fec8b-d5d9-4179-8285-4dcf33c5b4aa.png rename to sprites/s_node_shape_3d/layers/fca9fb94-c90a-47c5-a325-f32cd8018d6f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png index 25db8e5ce..dfcd71c59 100644 Binary files a/sprites/s_node_shape_3d/182fec8b-d5d9-4179-8285-4dcf33c5b4aa.png and b/sprites/s_node_shape_3d/layers/fca9fb94-c90a-47c5-a325-f32cd8018d6f/83a9d275-1ce3-44c5-a64b-6f0f92cd0d32.png differ diff --git a/sprites/s_node_shape_3d/s_node_shape_3d.yy b/sprites/s_node_shape_3d/s_node_shape_3d.yy index 89daf6a9f..5e72363c3 100644 --- a/sprites/s_node_shape_3d/s_node_shape_3d.yy +++ b/sprites/s_node_shape_3d/s_node_shape_3d.yy @@ -12,30 +12,31 @@ "edgeFiltering":false, "For3D":false, "frames":[ - {"$GMSpriteFrame":"","%Name":"d8f5c08f-c4a0-4a37-ac98-2504f79c363e","name":"d8f5c08f-c4a0-4a37-ac98-2504f79c363e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"fbefaeba-464c-4984-9c90-b9fe8a68f749","name":"fbefaeba-464c-4984-9c90-b9fe8a68f749","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"25d1fd94-e801-4236-920e-931be44954be","name":"25d1fd94-e801-4236-920e-931be44954be","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"13d9fd09-286d-4a23-ac42-2f3e52c09bed","name":"13d9fd09-286d-4a23-ac42-2f3e52c09bed","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"182fec8b-d5d9-4179-8285-4dcf33c5b4aa","name":"182fec8b-d5d9-4179-8285-4dcf33c5b4aa","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"adbc388b-49f9-47de-8d91-7ab7405eba30","name":"adbc388b-49f9-47de-8d91-7ab7405eba30","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"ada07b25-2b68-464c-8d15-1eb968b2aea6","name":"ada07b25-2b68-464c-8d15-1eb968b2aea6","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"03f758c5-0f2b-471c-9bb3-a08437719dd7","name":"03f758c5-0f2b-471c-9bb3-a08437719dd7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"37790c04-f438-4d6f-9883-4050e9b91ea1","name":"37790c04-f438-4d6f-9883-4050e9b91ea1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"a8ab0827-e277-4fe0-af42-0a493e3f300e","name":"a8ab0827-e277-4fe0-af42-0a493e3f300e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"c0f5b4b1-753c-4d80-8999-87f6036f42aa","name":"c0f5b4b1-753c-4d80-8999-87f6036f42aa","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"0722182a-6a52-48c9-ad6e-71e2a1f4a1a6","name":"0722182a-6a52-48c9-ad6e-71e2a1f4a1a6","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"e55537e4-4b14-4690-9234-c3de34d01049","name":"e55537e4-4b14-4690-9234-c3de34d01049","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"46eca356-3c1c-4db2-9c70-fad60ee33971","name":"46eca356-3c1c-4db2-9c70-fad60ee33971","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"ac1b25a5-14b0-48d2-8514-950fa4e40834","name":"ac1b25a5-14b0-48d2-8514-950fa4e40834","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"a3a465f9-7d13-48c5-a59d-e5a2453602e2","name":"a3a465f9-7d13-48c5-a59d-e5a2453602e2","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"523b3356-ed87-4998-bb44-449d347e8d0a","name":"523b3356-ed87-4998-bb44-449d347e8d0a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"58df771b-5cfc-4c91-8642-3f76a85f0e24","name":"58df771b-5cfc-4c91-8642-3f76a85f0e24","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"0286071d-780c-4647-869c-0c4d1080ba7c","name":"0286071d-780c-4647-869c-0c4d1080ba7c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"1515c72e-0bd2-4066-8e02-a6e38d470dd5","name":"1515c72e-0bd2-4066-8e02-a6e38d470dd5","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"c471eb86-4f13-4305-8f4f-93ae4a4094e9","name":"c471eb86-4f13-4305-8f4f-93ae4a4094e9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"fca9fb94-c90a-47c5-a325-f32cd8018d6f","name":"fca9fb94-c90a-47c5-a325-f32cd8018d6f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"90c5fa45-f762-4ecb-8806-cbab0d19f12f","name":"90c5fa45-f762-4ecb-8806-cbab0d19f12f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"f8fe8cad-c337-4b88-8fc6-af20dd32c8bd","name":"f8fe8cad-c337-4b88-8fc6-af20dd32c8bd","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"a92bb38c-15e2-43dd-bb28-d8359487f727","name":"a92bb38c-15e2-43dd-bb28-d8359487f727","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"592f23c5-2a6f-4956-923f-f95035a1afe9","name":"592f23c5-2a6f-4956-923f-f95035a1afe9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"045731c8-8c2c-4d28-8006-82d1a539cecd","name":"045731c8-8c2c-4d28-8006-82d1a539cecd","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f","name":"a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"4109c9fe-3e58-466d-8d62-d684411577dd","name":"4109c9fe-3e58-466d-8d62-d684411577dd","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"a12f0194-e1c6-4c1e-b515-06b685aae93f","name":"a12f0194-e1c6-4c1e-b515-06b685aae93f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"fc7bb6e1-a18e-42cd-b49a-03577d097a87","name":"fc7bb6e1-a18e-42cd-b49a-03577d097a87","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"d7cad3db-4779-4f77-909c-80b99fad8d60","name":"d7cad3db-4779-4f77-909c-80b99fad8d60","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"5213864d-bbdd-4d45-9767-bd23e43f5f82","name":"5213864d-bbdd-4d45-9767-bd23e43f5f82","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"7bed9899-c152-4a38-840a-a585850a0002","name":"7bed9899-c152-4a38-840a-a585850a0002","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"9abe9fa1-aa59-4120-94f4-f494d8efab99","name":"9abe9fa1-aa59-4120-94f4-f494d8efab99","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, ], "gridX":0, "gridY":0, "height":24, "HTile":false, "layers":[ - {"$GMImageLayer":"","%Name":"d643ed43-cc1b-48da-94ba-8b43d929cf56","blendMode":0,"displayName":"default","isLocked":false,"name":"d643ed43-cc1b-48da-94ba-8b43d929cf56","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + {"$GMImageLayer":"","%Name":"83a9d275-1ce3-44c5-a64b-6f0f92cd0d32","blendMode":0,"displayName":"default","isLocked":false,"name":"83a9d275-1ce3-44c5-a64b-6f0f92cd0d32","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, ], "name":"s_node_shape_3d", "nineSlice":null, @@ -65,7 +66,7 @@ }, "eventStubScript":null, "eventToFunction":{}, - "length":17.0, + "length":18.0, "lockOrigin":false, "moments":{ "$KeyframeStore":"", @@ -85,56 +86,59 @@ "tracks":[ {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d8f5c08f-c4a0-4a37-ac98-2504f79c363e","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"c0f669d7-4408-4cfa-a944-296479fb184d","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"58df771b-5cfc-4c91-8642-3f76a85f0e24","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"2fee821b-23f7-4da1-b7ca-eb883fb6c280","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"fbefaeba-464c-4984-9c90-b9fe8a68f749","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"25a6777a-da4b-42b8-ba7a-20dbd12b3126","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"0286071d-780c-4647-869c-0c4d1080ba7c","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"c436baf9-28b9-442f-aa85-c61fa431e427","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"25d1fd94-e801-4236-920e-931be44954be","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"81f1c6da-40b6-416f-8792-badc84fde353","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"1515c72e-0bd2-4066-8e02-a6e38d470dd5","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b3128f94-885f-4c5d-82b8-347ca078f369","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"13d9fd09-286d-4a23-ac42-2f3e52c09bed","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"59e94d5b-d00a-4198-8ed8-f50830db8bdf","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c471eb86-4f13-4305-8f4f-93ae4a4094e9","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"cb1c3da4-b267-4433-be70-dd0ae2ef6a9a","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"182fec8b-d5d9-4179-8285-4dcf33c5b4aa","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"e5d66219-9c05-4bcb-a773-8263a0ca2989","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"fca9fb94-c90a-47c5-a325-f32cd8018d6f","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"c30aedfc-449b-4219-b518-e17f5afda32e","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"adbc388b-49f9-47de-8d91-7ab7405eba30","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"0f11ca96-4495-4ba2-90ba-53c26567cdc4","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"90c5fa45-f762-4ecb-8806-cbab0d19f12f","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"92d514b2-a3f6-4c1e-88eb-037e068d4f1f","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"ada07b25-2b68-464c-8d15-1eb968b2aea6","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"d2145a4a-61a9-4424-a25f-2e0324a3e8bd","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"f8fe8cad-c337-4b88-8fc6-af20dd32c8bd","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"83174cb9-abb1-428f-8f12-693bace3dba5","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"03f758c5-0f2b-471c-9bb3-a08437719dd7","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"00868693-3297-4028-83a7-886ba6a7052a","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a92bb38c-15e2-43dd-bb28-d8359487f727","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"6c7764a9-80aa-4654-8568-7d780575a6bd","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"37790c04-f438-4d6f-9883-4050e9b91ea1","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"e2b062f2-d597-47bb-9af0-d1c863e3304d","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"592f23c5-2a6f-4956-923f-f95035a1afe9","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"c18c25b2-dfd0-4a94-b343-7e548b76523d","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a8ab0827-e277-4fe0-af42-0a493e3f300e","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"55210206-52e9-490a-8955-44f52c54f548","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"045731c8-8c2c-4d28-8006-82d1a539cecd","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"39d5f3fe-f8f7-4ce4-ad18-ac37b0f92325","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c0f5b4b1-753c-4d80-8999-87f6036f42aa","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"f6e3bd31-0350-4a09-a43f-962458fd1766","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a9c7d456-0428-40a0-8bb5-56b1c3fa9a3f","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"6366d9ed-7656-4f7c-9ef5-02b98e163569","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"0722182a-6a52-48c9-ad6e-71e2a1f4a1a6","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"b7178321-f8d8-409d-b222-6323d8db1593","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4109c9fe-3e58-466d-8d62-d684411577dd","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"6f3b95dd-06cc-47a5-9d8b-e55dbe242055","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"e55537e4-4b14-4690-9234-c3de34d01049","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"4c8c2246-e279-46f0-b866-dc493a4bd1e7","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a12f0194-e1c6-4c1e-b515-06b685aae93f","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"c85c3a66-9a6b-4f9d-88aa-7a7e06a4de78","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"46eca356-3c1c-4db2-9c70-fad60ee33971","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"83286b14-44ca-4ac3-aeb3-23955f7c2f07","IsCreationKey":false,"Key":13.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"fc7bb6e1-a18e-42cd-b49a-03577d097a87","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"4fa75e5e-4a46-48bf-be96-ed485a04bae2","IsCreationKey":false,"Key":13.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"ac1b25a5-14b0-48d2-8514-950fa4e40834","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"eda13e74-4a39-476c-82a3-616c697e3e1a","IsCreationKey":false,"Key":14.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d7cad3db-4779-4f77-909c-80b99fad8d60","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"431d0634-c395-4eb4-8fef-e3fef456f045","IsCreationKey":false,"Key":14.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a3a465f9-7d13-48c5-a59d-e5a2453602e2","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"41772dd3-be9e-442a-aeca-cf53d5fe533e","IsCreationKey":false,"Key":15.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5213864d-bbdd-4d45-9767-bd23e43f5f82","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"dcf201be-3ee4-4345-ba39-f8113ccef157","IsCreationKey":false,"Key":15.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"523b3356-ed87-4998-bb44-449d347e8d0a","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"de5a2725-9827-40cc-89bf-5f0838d090a8","IsCreationKey":false,"Key":16.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7bed9899-c152-4a38-840a-a585850a0002","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"af5d1cbd-5a96-489b-9f1c-4af739b10e79","IsCreationKey":false,"Key":16.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9abe9fa1-aa59-4120-94f4-f494d8efab99","path":"sprites/s_node_shape_3d/s_node_shape_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"fca12868-7959-4057-a1d2-c38ca6f0cbba","IsCreationKey":false,"Key":17.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null,