WIP: fix for Colortexture and Heightmap mismatch
parent
d3a36f438b
commit
0bd4924cfe
|
@ -45,7 +45,7 @@ void vertex() {
|
|||
|
||||
// Output:0
|
||||
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() {
|
||||
|
|
|
@ -9,17 +9,17 @@
|
|||
config_version=4
|
||||
|
||||
_global_script_classes=[ {
|
||||
"base": "Node",
|
||||
"base": "Reference",
|
||||
"class": "ClickableComponent",
|
||||
"language": "GDScript",
|
||||
"path": "res://components/ClickableComponent.gd"
|
||||
}, {
|
||||
"base": "KinematicBody2D",
|
||||
"base": "Reference",
|
||||
"class": "CollisionLine",
|
||||
"language": "GDScript",
|
||||
"path": "res://utils/CollisionLine.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"base": "Reference",
|
||||
"class": "ColorComponent",
|
||||
"language": "GDScript",
|
||||
"path": "res://components/ColorComponent.gd"
|
||||
|
@ -54,7 +54,7 @@ _global_script_classes=[ {
|
|||
"language": "GDScript",
|
||||
"path": "res://utils/SpringDamper.gd"
|
||||
}, {
|
||||
"base": "Sprite",
|
||||
"base": "Reference",
|
||||
"class": "TintedSpriteComponent",
|
||||
"language": "GDScript",
|
||||
"path": "res://components/TintedSpriteComponent.gd"
|
||||
|
|
|
@ -253,6 +253,7 @@ public class Game : Spatial
|
|||
_tileMaterial.SetShaderParam("MapAlbedoTexture", new_world_texture);
|
||||
_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);
|
||||
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();
|
||||
|
||||
// public members
|
||||
public Vector2 Size = new Vector2(100, 100);
|
||||
public Vector2 Size = new Vector2(10, 10);
|
||||
public float HeightScale = 2;
|
||||
public Image Heightmap;
|
||||
public Image Colormap;
|
||||
|
@ -45,7 +45,7 @@ public class TileWorld : Spatial
|
|||
|
||||
public void Generate()
|
||||
{
|
||||
GenerateSimpleMap();
|
||||
//GenerateSimpleMap();
|
||||
// GenerateNoiseMap();
|
||||
|
||||
GenerateNoiseColorMap();
|
||||
|
@ -103,7 +103,7 @@ public class TileWorld : Spatial
|
|||
noise_generator.Lacunarity = 4;
|
||||
|
||||
ImageTexture imageTexture = new ImageTexture();
|
||||
Heightmap.Unlock();
|
||||
//Heightmap.Unlock();
|
||||
Heightmap = noise_generator.GetSeamlessImage((int)Size.x);
|
||||
imageTexture.CreateFromImage(Heightmap);
|
||||
imageTexture.Flags = 0;
|
||||
|
@ -112,12 +112,7 @@ public class TileWorld : Spatial
|
|||
Heightmap.Lock();
|
||||
}
|
||||
|
||||
|
||||
private void ApplyHeightMap()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public bool IsOffsetCoordValid(Vector2 offset_coord)
|
||||
{
|
||||
return ((int)Math.Clamp(offset_coord.x, -Size.x / 2, Size.x / 2 - 1) == (int)offset_coord.x
|
||||
|
|
Loading…
Reference in New Issue