WIP: fix for Colortexture and Heightmap mismatch
parent
d3a36f438b
commit
0bd4924cfe
|
@ -45,7 +45,7 @@ void vertex() {
|
||||||
|
|
||||||
// Output:0
|
// Output:0
|
||||||
map_coord = origin.xz * 1. / float(TextureSize);
|
map_coord = origin.xz * 1. / float(TextureSize);
|
||||||
map_coord = axial_to_offset(axial_coords.xy) / float(TextureSize);
|
map_coord = axial_to_offset(axial_coords.xy) / float(TextureSize) - vec2(0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
|
|
|
@ -9,17 +9,17 @@
|
||||||
config_version=4
|
config_version=4
|
||||||
|
|
||||||
_global_script_classes=[ {
|
_global_script_classes=[ {
|
||||||
"base": "Node",
|
"base": "Reference",
|
||||||
"class": "ClickableComponent",
|
"class": "ClickableComponent",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://components/ClickableComponent.gd"
|
"path": "res://components/ClickableComponent.gd"
|
||||||
}, {
|
}, {
|
||||||
"base": "KinematicBody2D",
|
"base": "Reference",
|
||||||
"class": "CollisionLine",
|
"class": "CollisionLine",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://utils/CollisionLine.gd"
|
"path": "res://utils/CollisionLine.gd"
|
||||||
}, {
|
}, {
|
||||||
"base": "Node",
|
"base": "Reference",
|
||||||
"class": "ColorComponent",
|
"class": "ColorComponent",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://components/ColorComponent.gd"
|
"path": "res://components/ColorComponent.gd"
|
||||||
|
@ -54,7 +54,7 @@ _global_script_classes=[ {
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://utils/SpringDamper.gd"
|
"path": "res://utils/SpringDamper.gd"
|
||||||
}, {
|
}, {
|
||||||
"base": "Sprite",
|
"base": "Reference",
|
||||||
"class": "TintedSpriteComponent",
|
"class": "TintedSpriteComponent",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://components/TintedSpriteComponent.gd"
|
"path": "res://components/TintedSpriteComponent.gd"
|
||||||
|
|
|
@ -253,6 +253,7 @@ public class Game : Spatial
|
||||||
_tileMaterial.SetShaderParam("MapAlbedoTexture", new_world_texture);
|
_tileMaterial.SetShaderParam("MapAlbedoTexture", new_world_texture);
|
||||||
_tileMaterial.SetShaderParam("TextureSize", (int)_tileWorld.Colormap.GetSize().x);
|
_tileMaterial.SetShaderParam("TextureSize", (int)_tileWorld.Colormap.GetSize().x);
|
||||||
|
|
||||||
_streamContainer.SetTileMaterial(_tileMaterial);
|
_streamContainer.OnWorldGenerated();
|
||||||
|
//_streamContainer.SetTileMaterial(_tileMaterial);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -235,4 +235,20 @@ public class StreamContainer : Spatial
|
||||||
GD.Print("Hovered on Tile at " + tile.OffsetCoords);
|
GD.Print("Hovered on Tile at " + tile.OffsetCoords);
|
||||||
EmitSignal("TileHovered", tile);
|
EmitSignal("TileHovered", tile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnWorldGenerated()
|
||||||
|
{
|
||||||
|
foreach (Spatial node in _activeTiles.GetChildren())
|
||||||
|
{
|
||||||
|
HexTile3D tile = (HexTile3D)node;
|
||||||
|
if (tile == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Transform tileTransform = tile.GlobalTransform;
|
||||||
|
tileTransform.origin.y = _tileWorld.GetHeightAtOffset(tile.OffsetCoords);
|
||||||
|
tile.GlobalTransform = tileTransform;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -14,7 +14,7 @@ public class TileWorld : Spatial
|
||||||
delegate void WorldGenerated();
|
delegate void WorldGenerated();
|
||||||
|
|
||||||
// public members
|
// public members
|
||||||
public Vector2 Size = new Vector2(100, 100);
|
public Vector2 Size = new Vector2(10, 10);
|
||||||
public float HeightScale = 2;
|
public float HeightScale = 2;
|
||||||
public Image Heightmap;
|
public Image Heightmap;
|
||||||
public Image Colormap;
|
public Image Colormap;
|
||||||
|
@ -45,7 +45,7 @@ public class TileWorld : Spatial
|
||||||
|
|
||||||
public void Generate()
|
public void Generate()
|
||||||
{
|
{
|
||||||
GenerateSimpleMap();
|
//GenerateSimpleMap();
|
||||||
// GenerateNoiseMap();
|
// GenerateNoiseMap();
|
||||||
|
|
||||||
GenerateNoiseColorMap();
|
GenerateNoiseColorMap();
|
||||||
|
@ -103,7 +103,7 @@ public class TileWorld : Spatial
|
||||||
noise_generator.Lacunarity = 4;
|
noise_generator.Lacunarity = 4;
|
||||||
|
|
||||||
ImageTexture imageTexture = new ImageTexture();
|
ImageTexture imageTexture = new ImageTexture();
|
||||||
Heightmap.Unlock();
|
//Heightmap.Unlock();
|
||||||
Heightmap = noise_generator.GetSeamlessImage((int)Size.x);
|
Heightmap = noise_generator.GetSeamlessImage((int)Size.x);
|
||||||
imageTexture.CreateFromImage(Heightmap);
|
imageTexture.CreateFromImage(Heightmap);
|
||||||
imageTexture.Flags = 0;
|
imageTexture.Flags = 0;
|
||||||
|
@ -113,11 +113,6 @@ public class TileWorld : Spatial
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ApplyHeightMap()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsOffsetCoordValid(Vector2 offset_coord)
|
public bool IsOffsetCoordValid(Vector2 offset_coord)
|
||||||
{
|
{
|
||||||
return ((int)Math.Clamp(offset_coord.x, -Size.x / 2, Size.x / 2 - 1) == (int)offset_coord.x
|
return ((int)Math.Clamp(offset_coord.x, -Size.x / 2, Size.x / 2 - 1) == (int)offset_coord.x
|
||||||
|
|
Loading…
Reference in New Issue