diff --git a/assets/4x4checker.png.import b/assets/4x4checker.png.import index 439a00b..c165888 100644 --- a/assets/4x4checker.png.import +++ b/assets/4x4checker.png.import @@ -25,7 +25,7 @@ flags/repeat=true flags/filter=false flags/mipmaps=true flags/anisotropic=false -flags/srgb=2 +flags/srgb=1 process/fix_alpha_border=true process/premult_alpha=false process/HDR_as_SRGB=false diff --git a/materials/shader/HexToTexture.gdshader b/materials/shader/HexToTexture.gdshader index 4e9bd65..e78ae48 100644 --- a/materials/shader/HexToTexture.gdshader +++ b/materials/shader/HexToTexture.gdshader @@ -12,7 +12,7 @@ vec3 axial_to_cube(vec2 axial) { } ivec3 round_cube_coords(vec3 cube) { - ivec3 rounded = ivec3(cube); + ivec3 rounded = ivec3(round(cube)); vec3 diffs = abs(vec3(rounded) - cube); @@ -31,7 +31,7 @@ vec2 axial_to_offset(vec2 axial) { ivec3 cubeCoords = round_cube_coords(axial_to_cube(axial)); int x = cubeCoords.x; int y = cubeCoords.y; - int off_y = y + (x - (x % 1)) / 2; + int off_y = y + (x - (x % 2)) / 2; return vec2(float(x), float(off_y)); } @@ -40,40 +40,14 @@ void vertex() { mat4 model_matrix = WORLD_MATRIX; vec3 origin = vec4(WORLD_MATRIX * vec4(0, 0, 0, 1)).xyz; - vec3 axial_coords = vec3(_HexAffineInverse * origin.xz, 0); -// Output:0 map_coord = origin.xz * 1. / float(TextureSize); map_coord = axial_to_offset(axial_coords.xy) / float(TextureSize) - vec2(0.5); } void fragment() { -// Input:3 - mat4 n_out3p0 = WORLD_MATRIX; - -// TransformDecompose:5 - vec3 n_out5p0 = n_out3p0[0].xyz; - vec3 n_out5p1 = n_out3p0[1].xyz; - vec3 n_out5p2 = n_out3p0[2].xyz; - vec3 n_out5p3 = n_out3p0[3].xyz; - -// VectorOp:9 - vec3 n_in9p1 = vec3(1.00000, 1.00000, 1.00000); - vec3 n_out9p0 = n_out5p3 * n_in9p1; - -// TextureUniform:4 - vec3 n_out4p0; - float n_out4p1; - { - vec4 n_tex_read = texture(MapAlbedoTexture, map_coord); - n_out4p0 = n_tex_read.rgb; - n_out4p1 = n_tex_read.a; - } - -// Output:0 - ALBEDO = n_out4p0; - + ALBEDO = texture(MapAlbedoTexture, map_coord).rgb; } void light() { diff --git a/scenes/HexTile3DPatch.tscn b/scenes/HexTile3DPatch.tscn index fde1fe2..65b733d 100644 --- a/scenes/HexTile3DPatch.tscn +++ b/scenes/HexTile3DPatch.tscn @@ -303,3 +303,903 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 7.361 ) [node name="HexTile3D100" parent="." instance=ExtResource( 1 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -0.414769 ) + +[node name="HexTile3D101" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8.67208 ) + +[node name="HexTile3D102" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.80608 ) + +[node name="HexTile3D103" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6.94008 ) + +[node name="HexTile3D104" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6.07408 ) + +[node name="HexTile3D105" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5.20808 ) + +[node name="HexTile3D106" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.34208 ) + +[node name="HexTile3D107" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3.47608 ) + +[node name="HexTile3D108" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.61008 ) + +[node name="HexTile3D109" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.74408 ) + +[node name="HexTile3D110" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.878084 ) + +[node name="HexTile3D111" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -8.23908 ) + +[node name="HexTile3D112" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -7.37308 ) + +[node name="HexTile3D113" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -6.50708 ) + +[node name="HexTile3D114" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -5.64108 ) + +[node name="HexTile3D115" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -4.77508 ) + +[node name="HexTile3D116" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -3.90908 ) + +[node name="HexTile3D117" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -3.04308 ) + +[node name="HexTile3D118" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -2.17708 ) + +[node name="HexTile3D119" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -1.31108 ) + +[node name="HexTile3D120" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -9.08685 ) + +[node name="HexTile3D121" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -8.67208 ) + +[node name="HexTile3D122" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -7.80608 ) + +[node name="HexTile3D123" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -6.94008 ) + +[node name="HexTile3D124" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -6.07408 ) + +[node name="HexTile3D125" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -5.20808 ) + +[node name="HexTile3D126" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -4.34208 ) + +[node name="HexTile3D127" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -3.47608 ) + +[node name="HexTile3D128" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -2.61008 ) + +[node name="HexTile3D129" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -1.74408 ) + +[node name="HexTile3D130" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -0.878084 ) + +[node name="HexTile3D131" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -8.23908 ) + +[node name="HexTile3D132" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -7.37308 ) + +[node name="HexTile3D133" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -6.50708 ) + +[node name="HexTile3D134" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -5.64108 ) + +[node name="HexTile3D135" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -4.77508 ) + +[node name="HexTile3D136" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -3.90908 ) + +[node name="HexTile3D137" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -3.04308 ) + +[node name="HexTile3D138" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -2.17708 ) + +[node name="HexTile3D139" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -1.31108 ) + +[node name="HexTile3D140" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -9.08685 ) + +[node name="HexTile3D141" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -8.67208 ) + +[node name="HexTile3D142" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -7.80608 ) + +[node name="HexTile3D143" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -6.94008 ) + +[node name="HexTile3D144" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -6.07408 ) + +[node name="HexTile3D145" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -5.20808 ) + +[node name="HexTile3D146" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -4.34208 ) + +[node name="HexTile3D147" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -3.47608 ) + +[node name="HexTile3D148" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -2.61008 ) + +[node name="HexTile3D149" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -1.74408 ) + +[node name="HexTile3D150" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -0.878084 ) + +[node name="HexTile3D151" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -8.23908 ) + +[node name="HexTile3D152" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -7.37308 ) + +[node name="HexTile3D153" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -6.50708 ) + +[node name="HexTile3D154" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -5.64108 ) + +[node name="HexTile3D155" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -4.77508 ) + +[node name="HexTile3D156" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -3.90908 ) + +[node name="HexTile3D157" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -3.04308 ) + +[node name="HexTile3D158" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -2.17708 ) + +[node name="HexTile3D159" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -1.31108 ) + +[node name="HexTile3D160" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -9.08685 ) + +[node name="HexTile3D161" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -8.67208 ) + +[node name="HexTile3D162" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -7.80608 ) + +[node name="HexTile3D163" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -6.94008 ) + +[node name="HexTile3D164" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -6.07408 ) + +[node name="HexTile3D165" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -5.20808 ) + +[node name="HexTile3D166" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -4.34208 ) + +[node name="HexTile3D167" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -3.47608 ) + +[node name="HexTile3D168" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -2.61008 ) + +[node name="HexTile3D169" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -1.74408 ) + +[node name="HexTile3D170" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -0.878084 ) + +[node name="HexTile3D171" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -8.23908 ) + +[node name="HexTile3D172" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -7.37308 ) + +[node name="HexTile3D173" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -6.50708 ) + +[node name="HexTile3D174" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -5.64108 ) + +[node name="HexTile3D175" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -4.77508 ) + +[node name="HexTile3D176" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -3.90908 ) + +[node name="HexTile3D177" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -3.04308 ) + +[node name="HexTile3D178" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -2.17708 ) + +[node name="HexTile3D179" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -1.31108 ) + +[node name="HexTile3D180" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -9.08685 ) + +[node name="HexTile3D181" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8.67208 ) + +[node name="HexTile3D182" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -7.80608 ) + +[node name="HexTile3D183" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -6.94008 ) + +[node name="HexTile3D184" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -6.07408 ) + +[node name="HexTile3D185" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -5.20808 ) + +[node name="HexTile3D186" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -4.34208 ) + +[node name="HexTile3D187" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -3.47608 ) + +[node name="HexTile3D188" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -2.61008 ) + +[node name="HexTile3D189" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -1.74408 ) + +[node name="HexTile3D190" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -0.878084 ) + +[node name="HexTile3D191" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -8.23908 ) + +[node name="HexTile3D192" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -7.37308 ) + +[node name="HexTile3D193" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -6.50708 ) + +[node name="HexTile3D194" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -5.64108 ) + +[node name="HexTile3D195" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -4.77508 ) + +[node name="HexTile3D196" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -3.90908 ) + +[node name="HexTile3D197" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -3.04308 ) + +[node name="HexTile3D198" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -2.17708 ) + +[node name="HexTile3D199" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -1.31108 ) + +[node name="HexTile3D200" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -9.08685 ) + +[node name="HexTile3D201" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 0 ) + +[node name="HexTile3D202" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 0.866 ) + +[node name="HexTile3D203" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 1.732 ) + +[node name="HexTile3D204" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 2.598 ) + +[node name="HexTile3D205" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 3.464 ) + +[node name="HexTile3D206" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 4.33 ) + +[node name="HexTile3D207" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 5.196 ) + +[node name="HexTile3D208" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 6.062 ) + +[node name="HexTile3D209" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 6.928 ) + +[node name="HexTile3D210" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, 7.794 ) + +[node name="HexTile3D211" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 0.433 ) + +[node name="HexTile3D212" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 1.299 ) + +[node name="HexTile3D213" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 2.165 ) + +[node name="HexTile3D214" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 3.031 ) + +[node name="HexTile3D215" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 3.897 ) + +[node name="HexTile3D216" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 4.763 ) + +[node name="HexTile3D217" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 5.629 ) + +[node name="HexTile3D218" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 6.495 ) + +[node name="HexTile3D219" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, 7.361 ) + +[node name="HexTile3D220" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -0.414769 ) + +[node name="HexTile3D221" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 0 ) + +[node name="HexTile3D222" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 0.866 ) + +[node name="HexTile3D223" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 1.732 ) + +[node name="HexTile3D224" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 2.598 ) + +[node name="HexTile3D225" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 3.464 ) + +[node name="HexTile3D226" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 4.33 ) + +[node name="HexTile3D227" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 5.196 ) + +[node name="HexTile3D228" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 6.062 ) + +[node name="HexTile3D229" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 6.928 ) + +[node name="HexTile3D230" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, 7.794 ) + +[node name="HexTile3D231" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 0.433 ) + +[node name="HexTile3D232" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 1.299 ) + +[node name="HexTile3D233" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 2.165 ) + +[node name="HexTile3D234" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 3.031 ) + +[node name="HexTile3D235" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 3.897 ) + +[node name="HexTile3D236" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 4.763 ) + +[node name="HexTile3D237" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 5.629 ) + +[node name="HexTile3D238" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 6.495 ) + +[node name="HexTile3D239" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, 7.361 ) + +[node name="HexTile3D240" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -0.414769 ) + +[node name="HexTile3D241" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 0 ) + +[node name="HexTile3D242" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 0.866 ) + +[node name="HexTile3D243" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 1.732 ) + +[node name="HexTile3D244" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 2.598 ) + +[node name="HexTile3D245" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 3.464 ) + +[node name="HexTile3D246" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 4.33 ) + +[node name="HexTile3D247" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 5.196 ) + +[node name="HexTile3D248" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 6.062 ) + +[node name="HexTile3D249" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 6.928 ) + +[node name="HexTile3D250" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, 7.794 ) + +[node name="HexTile3D251" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 0.433 ) + +[node name="HexTile3D252" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 1.299 ) + +[node name="HexTile3D253" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 2.165 ) + +[node name="HexTile3D254" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 3.031 ) + +[node name="HexTile3D255" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 3.897 ) + +[node name="HexTile3D256" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 4.763 ) + +[node name="HexTile3D257" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 5.629 ) + +[node name="HexTile3D258" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 6.495 ) + +[node name="HexTile3D259" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, 7.361 ) + +[node name="HexTile3D260" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -0.414769 ) + +[node name="HexTile3D261" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 0 ) + +[node name="HexTile3D262" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 0.866 ) + +[node name="HexTile3D263" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 1.732 ) + +[node name="HexTile3D264" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 2.598 ) + +[node name="HexTile3D265" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 3.464 ) + +[node name="HexTile3D266" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 4.33 ) + +[node name="HexTile3D267" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 5.196 ) + +[node name="HexTile3D268" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 6.062 ) + +[node name="HexTile3D269" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 6.928 ) + +[node name="HexTile3D270" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, 7.794 ) + +[node name="HexTile3D271" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 0.433 ) + +[node name="HexTile3D272" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 1.299 ) + +[node name="HexTile3D273" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 2.165 ) + +[node name="HexTile3D274" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 3.031 ) + +[node name="HexTile3D275" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 3.897 ) + +[node name="HexTile3D276" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 4.763 ) + +[node name="HexTile3D277" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 5.629 ) + +[node name="HexTile3D278" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 6.495 ) + +[node name="HexTile3D279" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, 7.361 ) + +[node name="HexTile3D280" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -0.414769 ) + +[node name="HexTile3D281" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 0 ) + +[node name="HexTile3D282" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 0.866 ) + +[node name="HexTile3D283" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 1.732 ) + +[node name="HexTile3D284" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 2.598 ) + +[node name="HexTile3D285" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 3.464 ) + +[node name="HexTile3D286" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 4.33 ) + +[node name="HexTile3D287" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 5.196 ) + +[node name="HexTile3D288" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 6.062 ) + +[node name="HexTile3D289" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 6.928 ) + +[node name="HexTile3D290" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, 7.794 ) + +[node name="HexTile3D291" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 0.433 ) + +[node name="HexTile3D292" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 1.299 ) + +[node name="HexTile3D293" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 2.165 ) + +[node name="HexTile3D294" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 3.031 ) + +[node name="HexTile3D295" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 3.897 ) + +[node name="HexTile3D296" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 4.763 ) + +[node name="HexTile3D297" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 5.629 ) + +[node name="HexTile3D298" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 6.495 ) + +[node name="HexTile3D299" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, 7.361 ) + +[node name="HexTile3D300" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -0.414769 ) + +[node name="HexTile3D301" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -8.67208 ) + +[node name="HexTile3D302" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -7.80608 ) + +[node name="HexTile3D303" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -6.94008 ) + +[node name="HexTile3D304" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -6.07408 ) + +[node name="HexTile3D305" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -5.20808 ) + +[node name="HexTile3D306" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -4.34208 ) + +[node name="HexTile3D307" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -3.47608 ) + +[node name="HexTile3D308" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -2.61008 ) + +[node name="HexTile3D309" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -1.74408 ) + +[node name="HexTile3D310" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.51281, 0, -0.878084 ) + +[node name="HexTile3D311" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -8.23908 ) + +[node name="HexTile3D312" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -7.37308 ) + +[node name="HexTile3D313" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -6.50708 ) + +[node name="HexTile3D314" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -5.64108 ) + +[node name="HexTile3D315" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -4.77508 ) + +[node name="HexTile3D316" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -3.90908 ) + +[node name="HexTile3D317" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -3.04308 ) + +[node name="HexTile3D318" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -2.17708 ) + +[node name="HexTile3D319" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -1.31108 ) + +[node name="HexTile3D320" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76281, 0, -9.08685 ) + +[node name="HexTile3D321" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -8.67208 ) + +[node name="HexTile3D322" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -7.80608 ) + +[node name="HexTile3D323" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -6.94008 ) + +[node name="HexTile3D324" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -6.07408 ) + +[node name="HexTile3D325" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -5.20808 ) + +[node name="HexTile3D326" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -4.34208 ) + +[node name="HexTile3D327" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -3.47608 ) + +[node name="HexTile3D328" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -2.61008 ) + +[node name="HexTile3D329" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -1.74408 ) + +[node name="HexTile3D330" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.01281, 0, -0.878084 ) + +[node name="HexTile3D331" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -8.23908 ) + +[node name="HexTile3D332" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -7.37308 ) + +[node name="HexTile3D333" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -6.50708 ) + +[node name="HexTile3D334" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -5.64108 ) + +[node name="HexTile3D335" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -4.77508 ) + +[node name="HexTile3D336" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -3.90908 ) + +[node name="HexTile3D337" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -3.04308 ) + +[node name="HexTile3D338" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -2.17708 ) + +[node name="HexTile3D339" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -1.31108 ) + +[node name="HexTile3D340" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.26281, 0, -9.08685 ) + +[node name="HexTile3D341" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -8.67208 ) + +[node name="HexTile3D342" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -7.80608 ) + +[node name="HexTile3D343" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -6.94008 ) + +[node name="HexTile3D344" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -6.07408 ) + +[node name="HexTile3D345" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -5.20808 ) + +[node name="HexTile3D346" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -4.34208 ) + +[node name="HexTile3D347" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -3.47608 ) + +[node name="HexTile3D348" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -2.61008 ) + +[node name="HexTile3D349" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -1.74408 ) + +[node name="HexTile3D350" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51281, 0, -0.878084 ) + +[node name="HexTile3D351" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -8.23908 ) + +[node name="HexTile3D352" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -7.37308 ) + +[node name="HexTile3D353" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -6.50708 ) + +[node name="HexTile3D354" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -5.64108 ) + +[node name="HexTile3D355" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -4.77508 ) + +[node name="HexTile3D356" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -3.90908 ) + +[node name="HexTile3D357" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -3.04308 ) + +[node name="HexTile3D358" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -2.17708 ) + +[node name="HexTile3D359" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -1.31108 ) + +[node name="HexTile3D360" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.76281, 0, -9.08685 ) + +[node name="HexTile3D361" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -8.67208 ) + +[node name="HexTile3D362" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -7.80608 ) + +[node name="HexTile3D363" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -6.94008 ) + +[node name="HexTile3D364" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -6.07408 ) + +[node name="HexTile3D365" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -5.20808 ) + +[node name="HexTile3D366" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -4.34208 ) + +[node name="HexTile3D367" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -3.47608 ) + +[node name="HexTile3D368" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -2.61008 ) + +[node name="HexTile3D369" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -1.74408 ) + +[node name="HexTile3D370" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.01281, 0, -0.878084 ) + +[node name="HexTile3D371" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -8.23908 ) + +[node name="HexTile3D372" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -7.37308 ) + +[node name="HexTile3D373" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -6.50708 ) + +[node name="HexTile3D374" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -5.64108 ) + +[node name="HexTile3D375" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -4.77508 ) + +[node name="HexTile3D376" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -3.90908 ) + +[node name="HexTile3D377" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -3.04308 ) + +[node name="HexTile3D378" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -2.17708 ) + +[node name="HexTile3D379" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -1.31108 ) + +[node name="HexTile3D380" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26281, 0, -9.08685 ) + +[node name="HexTile3D381" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -8.67208 ) + +[node name="HexTile3D382" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -7.80608 ) + +[node name="HexTile3D383" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -6.94008 ) + +[node name="HexTile3D384" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -6.07408 ) + +[node name="HexTile3D385" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -5.20808 ) + +[node name="HexTile3D386" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -4.34208 ) + +[node name="HexTile3D387" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -3.47608 ) + +[node name="HexTile3D388" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -2.61008 ) + +[node name="HexTile3D389" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -1.74408 ) + +[node name="HexTile3D390" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.51281, 0, -0.878084 ) + +[node name="HexTile3D391" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -8.23908 ) + +[node name="HexTile3D392" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -7.37308 ) + +[node name="HexTile3D393" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -6.50708 ) + +[node name="HexTile3D394" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -5.64108 ) + +[node name="HexTile3D395" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -4.77508 ) + +[node name="HexTile3D396" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -3.90908 ) + +[node name="HexTile3D397" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -3.04308 ) + +[node name="HexTile3D398" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -2.17708 ) + +[node name="HexTile3D399" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -1.31108 ) + +[node name="HexTile3D400" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.762809, 0, -9.08685 ) diff --git a/scenes/tests/FragmentShaderHexTile.tres b/scenes/tests/FragmentShaderHexTile.tres new file mode 100644 index 0000000..c2270c1 --- /dev/null +++ b/scenes/tests/FragmentShaderHexTile.tres @@ -0,0 +1,135 @@ +[gd_resource type="Shader" format=2] + +[resource] +code = "shader_type spatial; +render_mode specular_schlick_ggx, async_visible; + +varying vec2 map_coord; +varying vec2 world_coord; +varying vec2 offset_coord; +varying vec3 vertex_coord; + +const mat2 _HexAffineInverse = mat2(vec2(1.333333, -0.6666667), vec2(0, -1.154701)); + +vec3 axial_to_cube(vec2 axial) { + return vec3(axial.x, axial.y, -axial.x - axial.y); +} + +ivec3 round_cube_coords(vec3 cube) { + ivec3 rounded = ivec3(round(cube)); + + vec3 diffs = abs(vec3(rounded) - cube); + + if (diffs.x > diffs.y && diffs.x > diffs.z) { + rounded.x = -rounded.y - rounded.z; + } else if (diffs.y > diffs.z) { + rounded.y = -rounded.x - rounded.z; + } else { + rounded.z = -rounded.x - rounded.y; + } + + return rounded; +} + +ivec2 axial_to_offset(vec2 axial) { + ivec3 cubeCoords = round_cube_coords(axial_to_cube(axial)); + int x = cubeCoords.x; + int y = cubeCoords.y; + int off_y = y + (x - (x % 2)) / 2; + return ivec2(x, off_y); +} + +void vertex() { +// Input:2 + mat4 model_matrix = WORLD_MATRIX; + + vec3 origin = vec4(WORLD_MATRIX * vec4(0, 0, 0, 1)).xyz; + + vec3 axial_coords = vec3(_HexAffineInverse * origin.xz, 0); + +// Output:0 + offset_coord = vec2(axial_to_offset(axial_coords.xy)); + vertex_coord = vec4(WORLD_MATRIX * vec4(VERTEX, 1.0)).xyz; + world_coord = vec4(WORLD_MATRIX * vec4(VERTEX, 1.0)).xz; +} + +vec3 vertex_world_to_color(vec3 vertex_world) { + ivec3 vertex_world_rounded = ivec3(floor(vertex_world)); + + vec3 result_color = vec3(0); + + if (vertex_world_rounded.x % 2 == 0) { + result_color.r = 1.0; + } + + if (vertex_world_rounded.z % 2 == 0) { + result_color.b = 1.0; + } + + return result_color; +} + +vec3 vertex_world_to_hex_center(vec3 vertex_world) { + vec3 axial_coords_f = vec3(_HexAffineInverse * vertex_world.xz, 0); + +// Output:0 + ivec2 offset_coord_f = axial_to_offset(axial_coords_f.xy); + + vec3 result_color = vec3(0); + + if (offset_coord_f.x % 2 == 0) { + result_color.r = 1.0; + } + + if (offset_coord_f.y % 2 == 0) { + result_color.b = 1.0; + } + + return result_color; +} + +ivec2 cube_to_axial(ivec3 hex_i) { + return ivec2(hex_i.x, hex_i.y); +} + +ivec2 axial_round(vec2 hex) { + return cube_to_axial(round_cube_coords(axial_to_cube(hex))); +} + +ivec2 axial_to_evenq(ivec2 axial) { + int col = axial.x; + int row = axial.y + (axial.x + (axial.x & 1 )) / 2; + return ivec2 (col, row); +} + +vec3 vertex_world_to_hex_center_amid (vec3 vertex_world) { + const mat2 HexAffineInverseAmid = mat2(vec2(2./ 3., -1. / 3.), vec2(0, sqrt(3) / 3.)) * 2.; + + vec2 qr = HexAffineInverseAmid * vertex_world.xz; + + ivec2 axial_coords_f = axial_round(qr); + ivec2 offset_coord_f = axial_to_evenq(axial_coords_f); + + vec3 result_color = vec3(0); + + if (offset_coord_f.x % 2 == 0) { + result_color.r = 1.0; + } + + if (offset_coord_f.y % 2 == 0) { + result_color.b = 1.0; + } + + return result_color; +} + +void fragment() { + ALBEDO = vertex_world_to_hex_center(vertex_coord); + ALBEDO = vertex_world_to_hex_center_amid(vertex_coord); +} + +void light() { +// Output:0 + +} +" diff --git a/scenes/tests/FragmentShaderHexTile.tscn b/scenes/tests/FragmentShaderHexTile.tscn new file mode 100644 index 0000000..07ffcc4 --- /dev/null +++ b/scenes/tests/FragmentShaderHexTile.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://scenes/tests/FragmentShaderHexTile.tres" type="Shader" id=1] + +[sub_resource type="PlaneMesh" id=1] + +[sub_resource type="ShaderMaterial" id=2] +shader = ExtResource( 1 ) + +[sub_resource type="SphereMesh" id=3] +radius = 0.1 +height = 0.2 + +[sub_resource type="SpatialMaterial" id=4] +albedo_color = Color( 1, 0, 0, 1 ) + +[node name="Spatial" type="Spatial"] + +[node name="Camera" type="Camera" parent="."] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.34454, 0 ) + +[node name="MeshInstance" type="MeshInstance" parent="."] +transform = Transform( 50, 0, 0, 0, 50, 0, 0, 0, 50, -0.00971127, 0, -0.00242263 ) +mesh = SubResource( 1 ) +material/0 = SubResource( 2 ) + +[node name="MeshInstance2" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.07165, 0, 0 ) +visible = false +mesh = SubResource( 1 ) + +[node name="MeshInstance3" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.08117 ) +visible = false +mesh = SubResource( 1 ) + +[node name="MeshInstance4" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.07165, 0, 2.08117 ) +visible = false +mesh = SubResource( 1 ) + +[node name="Center" type="MeshInstance" parent="."] +mesh = SubResource( 3 ) +material/0 = SubResource( 4 )