@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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) |
@ -0,0 +1 @@ | |||||
uid://buvqmrrtmxs2h |
@ -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("../..") |