Try out projecting the tilemap onto the gridmap

This commit is contained in:
CenTdemeern1 2025-02-08 21:14:48 +01:00
parent 4eb3ca18d1
commit 859f629995
2 changed files with 61 additions and 1 deletions

View file

@ -0,0 +1,16 @@
shader_type spatial;
uniform sampler2D tilemap_camera;
uniform float scale = 8;
void vertex() {
vec3 world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
vec2 pos = world_position.xz;
pos.y -= world_position.y;
pos /= scale;
UV = pos;
}
void fragment() {
ALBEDO = texture(tilemap_camera, UV).rgb;
}

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=29 format=4 uid="uid://gcninm0pku08"]
[gd_scene load_steps=34 format=4 uid="uid://gcninm0pku08"]
[ext_resource type="Texture2D" uid="uid://bsf3i6xos65r6" path="res://Assets/Placeholders/Square/Sand.png" id="1_7o7in"]
[ext_resource type="Texture2D" uid="uid://c2e7403lr3duh" path="res://Assets/Placeholders/Square/Bricks.png" id="2_a12mg"]
@ -12,6 +12,7 @@
[ext_resource type="Texture2D" uid="uid://cqls3eniuv2m7" path="res://Assets/Placeholders/Square/3D/Sand.png" id="7_wq35j"]
[ext_resource type="Texture2D" uid="uid://bkxxq2xfhmbkl" path="res://Assets/Placeholders/Square/3D/Wallfloor.png" id="8_gvjmn"]
[ext_resource type="Texture2D" uid="uid://bv5wms22ienmu" path="res://Assets/Placeholders/Square/3D/Bricks.png" id="9_3si7n"]
[ext_resource type="Shader" path="res://Assets/Placeholders/Square/3D/Project.gdshader" id="13_ajq7j"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ewej5"]
texture = ExtResource("1_7o7in")
@ -119,6 +120,27 @@ item/5/shapes = []
item/5/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/5/navigation_layers = 1
[sub_resource type="ViewportTexture" id="ViewportTexture_r414k"]
viewport_path = NodePath("SubViewport")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_e3oir"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("13_ajq7j")
shader_parameter/scale = 8.0
shader_parameter/tilemap_camera = SubResource("ViewportTexture_r414k")
[sub_resource type="BoxMesh" id="BoxMesh_03j8n"]
material = SubResource("ShaderMaterial_e3oir")
[sub_resource type="MeshLibrary" id="MeshLibrary_qf5ir"]
item/0/name = ""
item/0/mesh = SubResource("BoxMesh_03j8n")
item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/0/shapes = []
item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
item/0/navigation_layers = 1
[node name="Node2D" type="Node2D"]
[node name="TileMapLayer" type="TileMapLayer" parent="."]
@ -131,6 +153,7 @@ tile_map_data = PackedByteArray("AAADAAMAAQAAAAAAAAAEAAMAAQAAAAAAAAADAAIAAgAAAAA
tile_set = SubResource("TileSet_m7d8e")
[node name="GridMap" type="GridMap" parent="."]
visible = false
mesh_library = SubResource("MeshLibrary_ajtuf")
cell_size = Vector3(1, 1, 1)
cell_center_y = false
@ -139,7 +162,28 @@ data = {
}
metadata/_editor_floor_ = Vector3(-5, 1, 0)
[node name="GridMap2" type="GridMap" parent="."]
mesh_library = SubResource("MeshLibrary_qf5ir")
cell_size = Vector3(1, 1, 1)
data = {
"cells": PackedInt32Array(-65536, 0, 0, -65536, 1, 0, -65536, 2, 0, -65536, 3, 0, -65536, 4, 0, -65536, 5, 0, -65536, 6, 0, -65536, 7, 0, -65535, 0, 0, -65535, 1, 0, -65535, 2, 0, -65535, 3, 0, -65535, 4, 0, -65535, 5, 0, -65535, 6, 0, -65535, 7, 0, -65534, 0, 0, -65534, 1, 0, -65534, 2, 0, -65534, 4, 0, -65534, 5, 0, -65534, 6, 0, -65534, 7, 0, -65533, 0, 0, -65533, 1, 0, -65533, 4, 0, -65533, 5, 0, -65533, 6, 0, -65533, 7, 0, -65532, 0, 0, -65532, 1, 0, -65532, 4, 0, -65532, 5, 0, -65532, 6, 0, -65532, 7, 0, -65531, 0, 0, -65531, 1, 0, -65531, 2, 0, -65531, 4, 0, -65531, 5, 0, -65531, 6, 0, -65531, 7, 0, -65530, 0, 0, -65530, 1, 0, -65530, 2, 0, -65530, 4, 0, -65530, 5, 0, -65530, 6, 0, -65530, 7, 0, -65529, 0, 0, -65529, 1, 0, -65529, 2, 0, -65529, 3, 0, -65529, 4, 0, -65529, 5, 0, -65529, 6, 0, -65529, 7, 0, 5, 5, 0, 4, 5, 0, 3, 5, 0, 2, 5, 0, 2, 4, 0, 3, 4, 0, 4, 4, 0, 5, 4, 0, 65539, 4, 0, 65540, 4, 0, -65530, 3, 0)
}
metadata/_editor_floor_ = Vector3(0, 1, 0)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, -6.18172e-08, 0.707107, 0.707107, 6.18172e-08, 0.707107, -0.707107, 0, 7, 2.205)
visible = false
projection = 1
size = 15.0
[node name="SubViewport" type="SubViewport" parent="."]
size = Vector2i(1024, 1024)
[node name="TileMapLayer3" type="TileMapLayer" parent="SubViewport"]
tile_map_data = PackedByteArray("AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAABAAIAAAAAAAAAAAAAAAIAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAMAAAAAAAAAAAACAAQAAAAAAAAAAAADAAQAAAAAAAAAAAADAAMAAAAAAAAAAAADAAIAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAABAAQAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAACAAMAAAAAAAAAAAAHAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAABAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAAcAAAAAAAAAAAABAAYAAAAAAAAAAAACAAYAAAAAAAAAAAADAAYAAAAAAAAAAAADAAUAAAAAAAAAAAAEAAUAAAAAAAAAAAAFAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAACAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAFAAYAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAAAAUAAAAAAAAAAAACAAcAAAAAAAAAAAADAAcAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAAAAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAcAAAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAANAPn/BQAAAAAAAAANAPr/BQAAAAAAAAANAPv/BQAAAAAAAAANAPz/BQAAAAAAAAANAP3/BQAAAAAAAAAOAPn/BQAAAAAAAAAOAPr/BQAAAAAAAAAOAPv/BQAAAAAAAAAOAPz/BQAAAAAAAAAOAP3/BQAAAAAAAAAPAPn/BQAAAAAAAAAPAPr/BQAAAAAAAAAPAPv/BQAAAAAAAAAPAPz/BQAAAAAAAAAPAP3/BQAAAAAAAAAQAPn/BQAAAAAAAAAQAPr/BQAAAAAAAAAQAPv/BQAAAAAAAAAQAPz/BQAAAAAAAAAQAP3/BQAAAAAAAAARAPn/BQAAAAAAAAARAPr/BQAAAAAAAAARAPv/BQAAAAAAAAARAPz/BQAAAAAAAAARAP3/BQAAAAAAAAA=")
tile_set = SubResource("TileSet_m7d8e")
[node name="TileMapLayer4" type="TileMapLayer" parent="SubViewport"]
position = Vector2(0, -2)
tile_map_data = PackedByteArray("AAADAAMAAQAAAAAAAAAEAAMAAQAAAAAAAAADAAIAAgAAAAAAAAAEAAIAAgAAAAAAAAADAAQAAgAAAAAAAAAEAAQAAgAAAAAAAAADAAUAAQAAAAAAAAAEAAUAAQAAAAAAAAAFAAMAAwAAAAAAAAAFAAQAAgAAAAAAAAACAAMAAwAAAAAAAAACAAQAAgAAAAAAAAACAAUAAQAAAAAAAAAFAAUAAQAAAAAAAAADAP3/AQAAAAAAAAAEAP3/AQAAAAAAAAADAPz/AgAAAAAAAAAEAPz/AgAAAAAAAAADAPn/AgAAAAAAAAAEAPn/AgAAAAAAAAADAPr/AQAAAAAAAAAEAPr/AQAAAAAAAAABAP3/AQAAAAAAAAABAPz/AQAAAAAAAAABAPv/AgAAAAAAAAAAAPv/AgAAAAAAAAAAAPz/AQAAAAAAAAAAAP3/AQAAAAAAAAAOAPz/AQAAAAAAAAAOAPv/AQAAAAAAAAAPAPv/BAAAAAAAAAAPAPz/BgAAAAAAAAAOAPr/AgAAAAAAAAAQAPr/AgAAAAAAAAAQAPv/AQAAAAAAAAAQAPz/AQAAAAAAAAA=")
tile_set = SubResource("TileSet_m7d8e")