WIP: HexTile3D coloring based on TileWorld Colormap.
parent
983bb792fa
commit
4c92a6c5c3
Binary file not shown.
After Width: | Height: | Size: 561 B |
|
@ -0,0 +1,37 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path.s3tc="res://.import/4x4checker.png-2d12b07d9dea94e0b7f78a32f72bdad7.s3tc.stex"
|
||||
path.etc2="res://.import/4x4checker.png-2d12b07d9dea94e0b7f78a32f72bdad7.etc2.stex"
|
||||
metadata={
|
||||
"imported_formats": [ "s3tc", "etc2" ],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/4x4checker.png"
|
||||
dest_files=[ "res://.import/4x4checker.png-2d12b07d9dea94e0b7f78a32f72bdad7.s3tc.stex", "res://.import/4x4checker.png-2d12b07d9dea94e0b7f78a32f72bdad7.etc2.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=true
|
||||
flags/filter=true
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Binary file not shown.
After Width: | Height: | Size: 585 B |
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/4x4checkerColor.png-aa2feda4a05a30bbb021b287c7398aac.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/4x4checkerColor.png"
|
||||
dest_files=[ "res://.import/4x4checkerColor.png-aa2feda4a05a30bbb021b287c7398aac.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=true
|
||||
flags/filter=false
|
||||
flags/mipmaps=true
|
||||
flags/anisotropic=false
|
||||
flags/srgb=1
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=0.001
|
|
@ -0,0 +1,62 @@
|
|||
shader_type spatial;
|
||||
render_mode specular_schlick_ggx, async_visible;
|
||||
|
||||
uniform sampler2D MapAlbedoTexture : hint_black_albedo;
|
||||
uniform mat4 HexAffineInverse;
|
||||
varying vec2 map_coord;
|
||||
|
||||
const mat2 _HexAffineInverse = mat2(vec2(1.333333, -0.6666667), vec2(0, -1.154701));
|
||||
|
||||
vec2 axial_to_offset(vec2 axial) {
|
||||
ivec2 axial_i = ivec2(axial);
|
||||
int x = axial_i.x;
|
||||
int y = axial_i.y;
|
||||
int off_y = y + (x - (x % 1)) / 2;
|
||||
return vec2(float(x), float(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
|
||||
map_coord = origin.xz * 0.25;
|
||||
map_coord = axial_to_offset(axial_coords.xy) * 0.25;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
|
@ -15,6 +15,7 @@ public class Game : Spatial
|
|||
private Label _numCoordsAddedLabel;
|
||||
private Label _numCoordsRemovedLabel;
|
||||
private TextureRect _worldTextureRect;
|
||||
private Button _generateWorldButton;
|
||||
|
||||
// scene nodes
|
||||
private Spatial _tileHighlight;
|
||||
|
@ -49,7 +50,8 @@ public class Game : Spatial
|
|||
_mouseTileLabel = GetNode<Label>("Control/HBoxContainer/GridContainer/mouse_tile_label");
|
||||
_numCoordsAddedLabel = GetNode<Label>("Control/HBoxContainer/GridContainer/num_coords_added_label");
|
||||
_numCoordsRemovedLabel = GetNode<Label>("Control/HBoxContainer/GridContainer/num_coords_removed_label");
|
||||
_worldTextureRect = GetNode<TextureRect>("Control/WorldTextureRect");
|
||||
_worldTextureRect = (TextureRect)FindNode("WorldTextureRect");
|
||||
_generateWorldButton = (Button)FindNode("WorldGenerateButton");
|
||||
|
||||
// scene nodes
|
||||
_tileHighlight = GetNode<Spatial>("TileHighlight");
|
||||
|
@ -81,6 +83,7 @@ public class Game : Spatial
|
|||
_streamContainerArea.Connect("input_event", this, nameof(OnAreaInputEvent));
|
||||
_streamContainer.Connect("TileClicked", this, nameof(OnTileClicked));
|
||||
_tileWorld.Connect("WorldGenerated", this, nameof(OnWorldGenerated));
|
||||
_generateWorldButton.Connect("pressed", this, nameof(OnGenerateButton));
|
||||
|
||||
// register entity events
|
||||
Array entityNodes = FindNode("Entities").GetChildren();
|
||||
|
@ -166,6 +169,15 @@ public class Game : Spatial
|
|||
_camera.Transform = cameraTransform;
|
||||
}
|
||||
|
||||
|
||||
public void OnGenerateButton()
|
||||
{
|
||||
GD.Print("Generating");
|
||||
_tileWorld.Seed = _tileWorld.Seed + 1;
|
||||
_tileWorld.Generate();
|
||||
}
|
||||
|
||||
|
||||
public void OnAreaInputEvent(Node camera, InputEvent inputEvent, Vector3 position, Vector3 normal,
|
||||
int shapeIndex)
|
||||
{
|
||||
|
@ -175,6 +187,7 @@ public class Game : Spatial
|
|||
cellPlaneCoords = _hexGrid.GetHexCenterFromOffset(cellAtCursor.OffsetCoords);
|
||||
highlightTransform.origin.x = cellPlaneCoords.x;
|
||||
highlightTransform.origin.z = cellPlaneCoords.y;
|
||||
highlightTransform.origin.y = 0.1f;
|
||||
|
||||
_mouseWorldLabel.Text = position.ToString();
|
||||
_mouseTileLabel.Text = cellAtCursor.OffsetCoords.ToString();
|
||||
|
@ -231,9 +244,9 @@ public class Game : Spatial
|
|||
GD.Print("Using new map");
|
||||
ImageTexture new_world_texture = new ImageTexture();
|
||||
|
||||
_tileWorld.Heightmap.Unlock();
|
||||
new_world_texture.CreateFromImage(_tileWorld.Heightmap);
|
||||
_tileWorld.Heightmap.Lock();
|
||||
_tileWorld.Colormap.Unlock();
|
||||
new_world_texture.CreateFromImage(_tileWorld.Colormap);
|
||||
_tileWorld.Colormap.Lock();
|
||||
|
||||
_worldTextureRect.Texture = new_world_texture;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=24 format=2]
|
||||
[gd_scene load_steps=22 format=2]
|
||||
|
||||
[ext_resource path="res://scenes/StreamContainer.cs" type="Script" id=1]
|
||||
[ext_resource path="res://components/NavigationComponent.cs" type="Script" id=2]
|
||||
|
@ -7,19 +7,11 @@
|
|||
[ext_resource path="res://utils/TileHighlight.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://components/WorldInfoComponent.cs" type="Script" id=6]
|
||||
[ext_resource path="res://entities/Chest.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://scenes/TileWorld.cs" type="Script" id=8]
|
||||
[ext_resource path="res://scenes/TileWorld.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://scenes/Game.cs" type="Script" id=9]
|
||||
[ext_resource path="res://scenes/DebugCamera.gd" type="Script" id=10]
|
||||
[ext_resource path="res://assets/CreatusPiratePack/Models/Characters/gltf/Pirate1final.glb" type="PackedScene" id=11]
|
||||
|
||||
[sub_resource type="OpenSimplexNoise" id=10]
|
||||
period = 39.6
|
||||
|
||||
[sub_resource type="NoiseTexture" id=11]
|
||||
width = 100
|
||||
height = 100
|
||||
noise = SubResource( 10 )
|
||||
|
||||
[sub_resource type="CubeMesh" id=1]
|
||||
size = Vector3( 1, 1, 1 )
|
||||
|
||||
|
@ -57,17 +49,13 @@ radius = 0.1
|
|||
script = ExtResource( 9 )
|
||||
|
||||
[node name="TileHighlight" parent="." instance=ExtResource( 5 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0 )
|
||||
visible = false
|
||||
|
||||
[node name="MouseTileHighlight" parent="." instance=ExtResource( 5 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0 )
|
||||
|
||||
[node name="TileWorld" type="Spatial" parent="."]
|
||||
script = ExtResource( 8 )
|
||||
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="TileWorld"]
|
||||
transform = Transform( 0.328059, -0.878387, 0.347583, 0, 0.367946, 0.929847, -0.944657, -0.305045, 0.120708, 0, 6.59293, 1.20265 )
|
||||
shadow_enabled = true
|
||||
directional_shadow_mode = 0
|
||||
[node name="TileWorld" parent="." instance=ExtResource( 8 )]
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
margin_right = 40.0
|
||||
|
@ -75,13 +63,32 @@ margin_bottom = 40.0
|
|||
mouse_filter = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Control"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
margin_right = 127.0
|
||||
margin_bottom = 158.0
|
||||
mouse_filter = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Control/HBoxContainer"]
|
||||
margin_right = 100.0
|
||||
margin_bottom = 158.0
|
||||
alignment = 2
|
||||
|
||||
[node name="WorldTextureRect" type="TextureRect" parent="Control/HBoxContainer/VBoxContainer"]
|
||||
margin_top = 34.0
|
||||
margin_right = 100.0
|
||||
margin_bottom = 134.0
|
||||
rect_min_size = Vector2( 100, 100 )
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="WorldGenerateButton" type="Button" parent="Control/HBoxContainer/VBoxContainer"]
|
||||
margin_top = 138.0
|
||||
margin_right = 100.0
|
||||
margin_bottom = 158.0
|
||||
text = "Generate"
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="Control/HBoxContainer"]
|
||||
margin_right = 127.0
|
||||
margin_left = 104.0
|
||||
margin_right = 231.0
|
||||
margin_bottom = 158.0
|
||||
mouse_filter = 2
|
||||
columns = 2
|
||||
|
@ -205,13 +212,6 @@ margin_right = 127.0
|
|||
margin_bottom = 158.0
|
||||
text = "0"
|
||||
|
||||
[node name="WorldTextureRect" type="TextureRect" parent="Control"]
|
||||
margin_left = 1.0
|
||||
margin_top = 300.0
|
||||
margin_right = 513.0
|
||||
margin_bottom = 812.0
|
||||
texture = SubResource( 11 )
|
||||
|
||||
[node name="StreamContainer" type="Spatial" parent="."]
|
||||
script = ExtResource( 1 )
|
||||
Dimensions = Vector2( 18, 17 )
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System.Diagnostics;
|
||||
using Godot;
|
||||
|
||||
public class HexTile3D : Spatial
|
||||
|
@ -31,6 +32,7 @@ public class HexTile3D : Spatial
|
|||
|
||||
public HexCell Cell = new HexCell();
|
||||
public bool IsMouseOver = false;
|
||||
public MeshInstance Mesh;
|
||||
|
||||
public Vector2 OffsetCoords
|
||||
{
|
||||
|
@ -57,24 +59,24 @@ public class HexTile3D : Spatial
|
|||
{
|
||||
_type = value;
|
||||
|
||||
switch (_type)
|
||||
{
|
||||
case TileType.Undefined:
|
||||
_mesh.SetSurfaceMaterial(0, _undefinedMaterial);
|
||||
break;
|
||||
case TileType.Sand:
|
||||
_mesh.SetSurfaceMaterial(0, _sandMaterial);
|
||||
break;
|
||||
case TileType.Grass:
|
||||
_mesh.SetSurfaceMaterial(0, _grassMaterial);
|
||||
break;
|
||||
case TileType.DeepGrass:
|
||||
_mesh.SetSurfaceMaterial(0, _deepGrassMaterial);
|
||||
break;
|
||||
default:
|
||||
GD.Print("Invalid tile type: " + value.ToString());
|
||||
break;
|
||||
}
|
||||
// switch (_type)
|
||||
// {
|
||||
// case TileType.Undefined:
|
||||
// _mesh.SetSurfaceMaterial(0, _undefinedMaterial);
|
||||
// break;
|
||||
// case TileType.Sand:
|
||||
// _mesh.SetSurfaceMaterial(0, _sandMaterial);
|
||||
// break;
|
||||
// case TileType.Grass:
|
||||
// _mesh.SetSurfaceMaterial(0, _grassMaterial);
|
||||
// break;
|
||||
// case TileType.DeepGrass:
|
||||
// _mesh.SetSurfaceMaterial(0, _deepGrassMaterial);
|
||||
// break;
|
||||
// default:
|
||||
// GD.Print("Invalid tile type: " + value.ToString());
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,6 +100,9 @@ public class HexTile3D : Spatial
|
|||
_grassMaterial = GD.Load<SpatialMaterial>("res://materials/GrassTile.tres");
|
||||
_deepGrassMaterial = GD.Load<SpatialMaterial>("res://materials/DeepGrassTile.tres");
|
||||
|
||||
Mesh = GetNode<MeshInstance>("Mesh");
|
||||
Debug.Assert(Mesh != null);
|
||||
|
||||
this.Type = TileType.Undefined;
|
||||
}
|
||||
|
||||
|
@ -120,9 +125,9 @@ public class HexTile3D : Spatial
|
|||
IsMouseOver = true;
|
||||
_previousMaterial = (SpatialMaterial)_mesh.MaterialOverride;
|
||||
|
||||
SpatialMaterial clonedMaterial = (SpatialMaterial)_mesh.GetSurfaceMaterial(0).Duplicate();
|
||||
clonedMaterial.AlbedoColor = new Color(1, 0, 0);
|
||||
_mesh.MaterialOverride = clonedMaterial;
|
||||
// SpatialMaterial clonedMaterial = (SpatialMaterial)_mesh.GetSurfaceMaterial(0).Duplicate();
|
||||
// clonedMaterial.AlbedoColor = new Color(1, 0, 0);
|
||||
// _mesh.MaterialOverride = clonedMaterial;
|
||||
}
|
||||
|
||||
public void OnAreaMouseExited()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://scenes/HexTile3D.cs" type="Script" id=1]
|
||||
[ext_resource path="res://materials/UndefinedTile.tres" type="Material" id=2]
|
||||
[ext_resource path="res://assets/4x4checkerColor.png" type="Texture" id=2]
|
||||
|
||||
[sub_resource type="CylinderMesh" id=6]
|
||||
top_radius = 0.5
|
||||
|
@ -10,17 +10,88 @@ height = 10.0
|
|||
radial_segments = 6
|
||||
rings = 1
|
||||
|
||||
[sub_resource type="Shader" id=11]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx, async_visible;
|
||||
|
||||
uniform sampler2D MapAlbedoTexture : hint_black_albedo;
|
||||
uniform mat4 HexAffineInverse;
|
||||
varying vec2 map_coord;
|
||||
|
||||
const mat2 _HexAffineInverse = mat2(vec2(1.333333, -0.6666667), vec2(0, -1.154701));
|
||||
|
||||
vec2 axial_to_offset(vec2 axial) {
|
||||
ivec2 axial_i = ivec2(axial);
|
||||
int x = axial_i.x;
|
||||
int y = axial_i.y;
|
||||
int off_y = y + (x - (x % 1)) / 2;
|
||||
return vec2(float(x), float(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
|
||||
map_coord = origin.xz * 0.25;
|
||||
map_coord = axial_to_offset(axial_coords.xy) * 0.25;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=10]
|
||||
shader = SubResource( 11 )
|
||||
shader_param/HexAffineInverse = null
|
||||
shader_param/MapAlbedoTexture = ExtResource( 2 )
|
||||
|
||||
[sub_resource type="CylinderShape" id=5]
|
||||
height = 1.0
|
||||
radius = 0.5
|
||||
|
||||
[node name="HexTile3D" type="Spatial"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0096302, 0, 0 )
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Mesh" type="MeshInstance" parent="."]
|
||||
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, -5, 0 )
|
||||
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.00399733, -5, 0 )
|
||||
mesh = SubResource( 6 )
|
||||
material/0 = ExtResource( 2 )
|
||||
material/0 = SubResource( 10 )
|
||||
|
||||
[node name="StaticBody" type="StaticBody" parent="."]
|
||||
|
||||
|
|
|
@ -5,301 +5,301 @@
|
|||
[node name="Spatial" type="Spatial"]
|
||||
|
||||
[node name="HexTile3D1" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -0.0119554, 0, 0.999929, 0, 1, 0, -0.999929, 0, -0.0119554, 0, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[node name="HexTile3D2" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 0.866 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.866 )
|
||||
|
||||
[node name="HexTile3D3" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 1.732 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.732 )
|
||||
|
||||
[node name="HexTile3D4" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 2.598 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.598 )
|
||||
|
||||
[node name="HexTile3D5" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 3.464 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3.464 )
|
||||
|
||||
[node name="HexTile3D8" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 4.33 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.33 )
|
||||
|
||||
[node name="HexTile3D6" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 5.196 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5.196 )
|
||||
|
||||
[node name="HexTile3D7" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 6.062 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6.062 )
|
||||
|
||||
[node name="HexTile3D9" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 6.928 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6.928 )
|
||||
|
||||
[node name="HexTile3D10" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0, 0, 7.794 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.794 )
|
||||
|
||||
[node name="HexTile3D11" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 0.433 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 0.433 )
|
||||
|
||||
[node name="HexTile3D12" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 1.299 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 1.299 )
|
||||
|
||||
[node name="HexTile3D13" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 2.165 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 2.165 )
|
||||
|
||||
[node name="HexTile3D14" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 3.031 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 3.031 )
|
||||
|
||||
[node name="HexTile3D15" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 3.897 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 3.897 )
|
||||
|
||||
[node name="HexTile3D16" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 4.763 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 4.763 )
|
||||
|
||||
[node name="HexTile3D17" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 5.629 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 5.629 )
|
||||
|
||||
[node name="HexTile3D18" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 6.495 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 6.495 )
|
||||
|
||||
[node name="HexTile3D19" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, 7.361 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 7.361 )
|
||||
|
||||
[node name="HexTile3D20" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 0.75, 0, -0.414769 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, -0.414769 )
|
||||
|
||||
[node name="HexTile3D21" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 0 )
|
||||
|
||||
[node name="HexTile3D22" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 0.866 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 0.866 )
|
||||
|
||||
[node name="HexTile3D23" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 1.732 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 1.732 )
|
||||
|
||||
[node name="HexTile3D24" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 2.598 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 2.598 )
|
||||
|
||||
[node name="HexTile3D25" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 3.464 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 3.464 )
|
||||
|
||||
[node name="HexTile3D26" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 4.33 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 4.33 )
|
||||
|
||||
[node name="HexTile3D27" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 5.196 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 5.196 )
|
||||
|
||||
[node name="HexTile3D28" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 6.062 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 6.062 )
|
||||
|
||||
[node name="HexTile3D29" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 6.928 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 6.928 )
|
||||
|
||||
[node name="HexTile3D30" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 1.5, 0, 7.794 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 7.794 )
|
||||
|
||||
[node name="HexTile3D31" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 0.433 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 0.433 )
|
||||
|
||||
[node name="HexTile3D32" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 1.299 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 1.299 )
|
||||
|
||||
[node name="HexTile3D33" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 2.165 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 2.165 )
|
||||
|
||||
[node name="HexTile3D34" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 3.031 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 3.031 )
|
||||
|
||||
[node name="HexTile3D35" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 3.897 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 3.897 )
|
||||
|
||||
[node name="HexTile3D36" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 4.763 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 4.763 )
|
||||
|
||||
[node name="HexTile3D37" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 5.629 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 5.629 )
|
||||
|
||||
[node name="HexTile3D38" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 6.495 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 6.495 )
|
||||
|
||||
[node name="HexTile3D39" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, 7.361 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, 7.361 )
|
||||
|
||||
[node name="HexTile3D40" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 2.25, 0, -0.414769 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0, -0.414769 )
|
||||
|
||||
[node name="HexTile3D41" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0 )
|
||||
|
||||
[node name="HexTile3D42" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 0.866 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0.866 )
|
||||
|
||||
[node name="HexTile3D43" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 1.732 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 1.732 )
|
||||
|
||||
[node name="HexTile3D44" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 2.598 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 2.598 )
|
||||
|
||||
[node name="HexTile3D45" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 3.464 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 3.464 )
|
||||
|
||||
[node name="HexTile3D46" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 4.33 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 4.33 )
|
||||
|
||||
[node name="HexTile3D47" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 5.196 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 5.196 )
|
||||
|
||||
[node name="HexTile3D48" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 6.062 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 6.062 )
|
||||
|
||||
[node name="HexTile3D49" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 6.928 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 6.928 )
|
||||
|
||||
[node name="HexTile3D50" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3, 0, 7.794 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 7.794 )
|
||||
|
||||
[node name="HexTile3D51" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 0.433 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 0.433 )
|
||||
|
||||
[node name="HexTile3D52" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 1.299 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 1.299 )
|
||||
|
||||
[node name="HexTile3D53" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 2.165 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 2.165 )
|
||||
|
||||
[node name="HexTile3D54" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 3.031 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 3.031 )
|
||||
|
||||
[node name="HexTile3D55" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 3.897 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 3.897 )
|
||||
|
||||
[node name="HexTile3D56" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 4.763 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 4.763 )
|
||||
|
||||
[node name="HexTile3D57" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 5.629 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 5.629 )
|
||||
|
||||
[node name="HexTile3D58" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 6.495 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 6.495 )
|
||||
|
||||
[node name="HexTile3D59" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, 7.361 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, 7.361 )
|
||||
|
||||
[node name="HexTile3D60" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 3.75, 0, -0.414769 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.75, 0, -0.414769 )
|
||||
|
||||
[node name="HexTile3D61" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 0 )
|
||||
|
||||
[node name="HexTile3D62" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 0.866 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 0.866 )
|
||||
|
||||
[node name="HexTile3D63" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 1.732 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 1.732 )
|
||||
|
||||
[node name="HexTile3D64" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 2.598 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 2.598 )
|
||||
|
||||
[node name="HexTile3D65" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 3.464 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 3.464 )
|
||||
|
||||
[node name="HexTile3D66" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 4.33 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 4.33 )
|
||||
|
||||
[node name="HexTile3D67" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 5.196 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 5.196 )
|
||||
|
||||
[node name="HexTile3D68" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 6.062 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 6.062 )
|
||||
|
||||
[node name="HexTile3D69" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 6.928 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 6.928 )
|
||||
|
||||
[node name="HexTile3D70" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 4.5, 0, 7.794 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 7.794 )
|
||||
|
||||
[node name="HexTile3D71" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 0.433 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 0.433 )
|
||||
|
||||
[node name="HexTile3D72" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 1.299 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 1.299 )
|
||||
|
||||
[node name="HexTile3D73" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 2.165 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 2.165 )
|
||||
|
||||
[node name="HexTile3D74" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 3.031 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 3.031 )
|
||||
|
||||
[node name="HexTile3D75" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 3.897 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 3.897 )
|
||||
|
||||
[node name="HexTile3D76" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 4.763 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 4.763 )
|
||||
|
||||
[node name="HexTile3D77" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 5.629 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 5.629 )
|
||||
|
||||
[node name="HexTile3D78" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 6.495 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 6.495 )
|
||||
|
||||
[node name="HexTile3D79" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, 7.361 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, 7.361 )
|
||||
|
||||
[node name="HexTile3D80" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 5.25, 0, -0.414769 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 0, -0.414769 )
|
||||
|
||||
[node name="HexTile3D81" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0 )
|
||||
|
||||
[node name="HexTile3D82" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 0.866 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0.866 )
|
||||
|
||||
[node name="HexTile3D83" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 1.732 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1.732 )
|
||||
|
||||
[node name="HexTile3D84" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 2.598 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 2.598 )
|
||||
|
||||
[node name="HexTile3D85" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 3.464 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 3.464 )
|
||||
|
||||
[node name="HexTile3D86" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 4.33 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 4.33 )
|
||||
|
||||
[node name="HexTile3D87" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 5.196 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 5.196 )
|
||||
|
||||
[node name="HexTile3D88" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 6.062 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 6.062 )
|
||||
|
||||
[node name="HexTile3D89" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 6.928 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 6.928 )
|
||||
|
||||
[node name="HexTile3D90" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6, 0, 7.794 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 7.794 )
|
||||
|
||||
[node name="HexTile3D91" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 0.433 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 0.433 )
|
||||
|
||||
[node name="HexTile3D92" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 1.299 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 1.299 )
|
||||
|
||||
[node name="HexTile3D93" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 2.165 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 2.165 )
|
||||
|
||||
[node name="HexTile3D94" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 3.031 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 3.031 )
|
||||
|
||||
[node name="HexTile3D95" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 3.897 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 3.897 )
|
||||
|
||||
[node name="HexTile3D96" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 4.763 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 4.763 )
|
||||
|
||||
[node name="HexTile3D97" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 5.629 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 5.629 )
|
||||
|
||||
[node name="HexTile3D98" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 6.495 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, 6.495 )
|
||||
|
||||
[node name="HexTile3D99" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -1.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, 7.361 )
|
||||
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.62921e-07, 0, 1, 0, 1, 0, -1, 0, -1.62921e-07, 6.75, 0, -0.414769 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.75, 0, -0.414769 )
|
||||
|
|
|
@ -1,62 +1,6 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[sub_resource type="Shader" id=1]
|
||||
code = "shader_type canvas_item;
|
||||
render_mode skip_vertex_transform;
|
||||
|
||||
void vertex() {
|
||||
VERTEX = (WORLD_MATRIX * (EXTRA_MATRIX * vec4(VERTEX, 0.0, 1.0))).xy;
|
||||
}
|
||||
|
||||
vec3 color_ramp(float h) {
|
||||
if (h < 0.4f) {
|
||||
return vec3(0, 0, 0.6);
|
||||
} else if (h < 0.45f) {
|
||||
return vec3(0, 0, 0.7);
|
||||
} else if (h < 0.5f) {
|
||||
return vec3(0, 0, 1);
|
||||
} else if (h < 0.55){
|
||||
return vec3(0.8, 0.8, 0.1);
|
||||
} else if (h < 0.6){
|
||||
return vec3(0, 0.6, 0);
|
||||
} else if (h < 0.68){
|
||||
return vec3(0, 0.4, 0);
|
||||
} else if (h <= 0.78){
|
||||
return vec3(0.6, 0.6, 0.6);
|
||||
} else if (h < 1.0){
|
||||
return vec3(0.8, 0.8, 0.8);
|
||||
}
|
||||
|
||||
return vec3(1.0);
|
||||
}
|
||||
|
||||
vec3 rgbToGrayscale(vec3 color) {
|
||||
return vec3(dot(color.rgb, vec3(0.299, 0.587, 0.144)));
|
||||
}
|
||||
|
||||
float borderFalloff(vec2 uv) {
|
||||
return min(
|
||||
(0.5 - abs(-uv.x + 0.5)) * 2.0,
|
||||
(0.5 - abs(-uv.y + 0.5)) * 2.0);
|
||||
}
|
||||
|
||||
float borderFalloffCircle(vec2 uv) {
|
||||
return (0.5 - length(vec2(uv - vec2(0.5, 0.5)))) * 2.0;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec4 texture_color = texture(TEXTURE, UV);
|
||||
|
||||
|
||||
COLOR.rgb = vec3(abs(UV.x - 0.5) * 2.0);
|
||||
//COLOR.rgb = color_ramp(texture_color.r * borderFalloffCircle(UV) * 1.8);
|
||||
COLOR.rgb = color_ramp(texture_color.r * borderFalloff(UV) * 1.8);
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=2]
|
||||
shader = SubResource( 1 )
|
||||
[ext_resource path="res://materials/IslandColorRampShader.tres" type="Material" id=1]
|
||||
|
||||
[sub_resource type="OpenSimplexNoise" id=3]
|
||||
seed = 57
|
||||
|
@ -79,7 +23,7 @@ margin_right = 861.0
|
|||
margin_bottom = 595.0
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="GridContainer"]
|
||||
material = SubResource( 2 )
|
||||
material = ExtResource( 1 )
|
||||
margin_right = 861.0
|
||||
margin_bottom = 595.0
|
||||
size_flags_horizontal = 3
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Diagnostics;
|
||||
using GoDotLog;
|
||||
using Vector2 = Godot.Vector2;
|
||||
using Vector3 = Godot.Vector3;
|
||||
|
||||
public class TileWorld : Spatial
|
||||
{
|
||||
|
@ -9,26 +14,41 @@ public class TileWorld : Spatial
|
|||
delegate void WorldGenerated();
|
||||
|
||||
// public members
|
||||
public Image Heightmap;
|
||||
public Vector2 Size = new Vector2(100, 100);
|
||||
public Vector2 Size = new Vector2(10, 10);
|
||||
public float HeightScale = 10;
|
||||
public Image Heightmap;
|
||||
public Image Colormap;
|
||||
public int Seed = 0;
|
||||
|
||||
// private members
|
||||
private HexGrid _hexGrid;
|
||||
private Random _tileTypeRandom;
|
||||
private Viewport _offscreenViewport;
|
||||
private TextureRect _offscreenTextureRect;
|
||||
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready()
|
||||
{
|
||||
_hexGrid = new HexGrid();
|
||||
_tileTypeRandom = new Random();
|
||||
|
||||
_offscreenViewport = (Viewport)GetNode("OffscreenViewport");
|
||||
Debug.Assert(_offscreenViewport != null);
|
||||
_offscreenViewport.Size = Size;
|
||||
_offscreenTextureRect = (TextureRect)GetNode("OffscreenViewport/TextureRect");
|
||||
Debug.Assert(_offscreenTextureRect != null);
|
||||
_offscreenTextureRect.SetSize(Size);
|
||||
|
||||
//VisualServer.Singleton.Connect("frame_post_draw", this, nameof(GenerateNoiseColorMap));
|
||||
}
|
||||
|
||||
|
||||
public void Generate()
|
||||
{
|
||||
GenerateSimpleMap();
|
||||
//GenerateNoiseMap();
|
||||
// GenerateNoiseMap();
|
||||
|
||||
GenerateNoiseColorMap();
|
||||
|
||||
EmitSignal("WorldGenerated");
|
||||
}
|
||||
|
@ -58,8 +78,8 @@ public class TileWorld : Spatial
|
|||
NoiseTexture noise_texture = new NoiseTexture();
|
||||
OpenSimplexNoise noise_generator = new OpenSimplexNoise();
|
||||
|
||||
noise_generator.Seed = -1626828106;
|
||||
noise_generator.Octaves = 3;
|
||||
noise_generator.Seed = Seed;
|
||||
noise_generator.Octaves = 4;
|
||||
noise_generator.Period = 20;
|
||||
noise_generator.Persistence = 0.1f;
|
||||
noise_generator.Lacunarity = 2;
|
||||
|
@ -68,6 +88,28 @@ public class TileWorld : Spatial
|
|||
}
|
||||
|
||||
|
||||
private void GenerateNoiseColorMap()
|
||||
{
|
||||
Colormap = new Image();
|
||||
Colormap.Create((int)Size.x, (int)Size.y, false, Image.Format.Rgba8);
|
||||
|
||||
NoiseTexture noise_texture = new NoiseTexture();
|
||||
OpenSimplexNoise noise_generator = new OpenSimplexNoise();
|
||||
|
||||
noise_generator.Seed = Seed;
|
||||
noise_generator.Octaves = 4;
|
||||
noise_generator.Period = 20;
|
||||
noise_generator.Persistence = 0.2f;
|
||||
noise_generator.Lacunarity = 4;
|
||||
|
||||
ImageTexture imageTexture = new ImageTexture();
|
||||
imageTexture.CreateFromImage(noise_generator.GetImage((int)Size.x, (int)Size.y, null));
|
||||
imageTexture.Flags = 0;
|
||||
_offscreenTextureRect.Texture = imageTexture;
|
||||
Colormap.CopyFrom(_offscreenViewport.GetTexture().GetData());
|
||||
}
|
||||
|
||||
|
||||
private void ApplyHeightMap()
|
||||
{
|
||||
|
||||
|
|
|
@ -17,12 +17,13 @@ size = Vector2( 100, 100 )
|
|||
own_world = true
|
||||
handle_input_locally = false
|
||||
hdr = false
|
||||
disable_3d = true
|
||||
usage = 0
|
||||
render_target_v_flip = true
|
||||
render_target_update_mode = 3
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="OffscreenViewport"]
|
||||
material = ExtResource( 3 )
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
texture = ExtResource( 2 )
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="OffscreenViewport"]
|
||||
|
|
Loading…
Reference in New Issue