diff --git a/assets/materials/dirt.tres b/assets/materials/dirt.tres new file mode 100644 index 0000000..dcb28ce --- /dev/null +++ b/assets/materials/dirt.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://uex0dq00xomt"] + +[ext_resource type="Texture2D" uid="uid://li36txj7oweq" path="res://assets/textures/dirt.png" id="1_jy2vk"] + +[resource] +albedo_texture = ExtResource("1_jy2vk") +metallic_specular = 0.0 +roughness = 0.0 +texture_filter = 0 diff --git a/assets/materials/stone.tres b/assets/materials/stone.tres new file mode 100644 index 0000000..a4f685c --- /dev/null +++ b/assets/materials/stone.tres @@ -0,0 +1,9 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cx7m27qa4ds4s"] + +[ext_resource type="Texture2D" uid="uid://ct1iawpfkdf5l" path="res://assets/textures/stone.png" id="1_vwsbh"] + +[resource] +albedo_texture = ExtResource("1_vwsbh") +metallic_specular = 0.0 +roughness = 0.0 +texture_filter = 0 diff --git a/assets/textures/dirt.png b/assets/textures/dirt.png new file mode 100644 index 0000000..fb11b79 Binary files /dev/null and b/assets/textures/dirt.png differ diff --git a/assets/textures/dirt.png.import b/assets/textures/dirt.png.import new file mode 100644 index 0000000..36a4a08 --- /dev/null +++ b/assets/textures/dirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://li36txj7oweq" +path="res://.godot/imported/dirt.png-eff3bf0cf4f0b63edc466aba593ca4e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/dirt.png" +dest_files=["res://.godot/imported/dirt.png-eff3bf0cf4f0b63edc466aba593ca4e6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/textures/stone.png b/assets/textures/stone.png new file mode 100644 index 0000000..8588c08 Binary files /dev/null and b/assets/textures/stone.png differ diff --git a/assets/textures/stone.png.import b/assets/textures/stone.png.import new file mode 100644 index 0000000..dc1c765 --- /dev/null +++ b/assets/textures/stone.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ct1iawpfkdf5l" +path="res://.godot/imported/stone.png-005a59f14bd4c49707ae6ded67307167.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/stone.png" +dest_files=["res://.godot/imported/stone.png-005a59f14bd4c49707ae6ded67307167.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/blocks/block.gd b/scenes/blocks/block.gd new file mode 100644 index 0000000..f85ba30 --- /dev/null +++ b/scenes/blocks/block.gd @@ -0,0 +1,16 @@ +class_name Block +extends StaticBody3D + + +@export var material: StandardMaterial3D + +@onready var block_faces: Node3D = $BlockFaces + + +func _ready() -> void: + apply_materials() + + +func apply_materials() -> void: + for face: MeshInstance3D in block_faces.get_children(): + face.set_surface_override_material(0, material) diff --git a/scenes/blocks/block.gd.uid b/scenes/blocks/block.gd.uid new file mode 100644 index 0000000..c6e5349 --- /dev/null +++ b/scenes/blocks/block.gd.uid @@ -0,0 +1 @@ +uid://buvqmrrtmxs2h diff --git a/scenes/blocks/block.tscn b/scenes/blocks/block.tscn new file mode 100644 index 0000000..129fc22 --- /dev/null +++ b/scenes/blocks/block.tscn @@ -0,0 +1,45 @@ +[gd_scene load_steps=4 format=3 uid="uid://col07xd76y60h"] + +[ext_resource type="Script" uid="uid://buvqmrrtmxs2h" path="res://scenes/blocks/block.gd" id="1_7fut1"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_n5naa"] + +[sub_resource type="QuadMesh" id="QuadMesh_n5naa"] + +[node name="Block" type="StaticBody3D"] +script = ExtResource("1_7fut1") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("BoxShape3D_n5naa") + +[node name="BlockFaces" type="Node3D" parent="."] + +[node name="EastFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.5) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..") + +[node name="WestFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, -0.5) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..") + +[node name="NorthFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(-1.3411e-07, 0, -1, 0, 1, 0, 1, 0, -1.3411e-07, -0.5, 0, 7.45058e-09) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..") + +[node name="SouthFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.5, 0, 0) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..") + +[node name="TopFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, 0, 0.5, 0) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..") + +[node name="BottomFace" type="MeshInstance3D" parent="BlockFaces"] +transform = Transform3D(-4.37114e-08, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -4.37114e-08, 1.91069e-15, 0, -0.5, 0) +mesh = SubResource("QuadMesh_n5naa") +skeleton = NodePath("../..")