basic camera movement and textures update

This commit is contained in:
Nikolai Fesenko
2025-08-12 22:48:21 +02:00
parent 83095a0b8d
commit 37e0aa1a3e
15 changed files with 131 additions and 85 deletions

BIN
Blends/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,21 +1,6 @@
# Blender 4.5.1 LTS MTL File: 'DoubleBeds.blend' # Blender 4.5.1 LTS MTL File: 'DoubleBeds.blend'
# www.blender.org # www.blender.org
newmtl Material
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
Pr 0.500000
Pm 0.000000
Ps 0.000000
Pc 0.000000
Pcr 0.030000
aniso 0.000000
anisor 0.000000
newmtl Material.002 newmtl Material.002
Kd 0.800000 0.800000 0.800000 Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000 Ks 0.500000 0.500000 0.500000
@@ -27,16 +12,16 @@ Pr 0.400000
Pm 1.000000 Pm 1.000000
newmtl Material.003 newmtl Material.003
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000 Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000 Ke 0.000000 0.000000 0.000000
Ni 1.000000 Ni 1.000000
d 1.000000 d 1.000000
illum 2 illum 2
Pr 0.500000
Pm 0.000000 Pm 0.000000
Ps 0.000000 Ps 0.000000
Pc 0.000000 Pc 0.000000
Pcr 0.030000 Pcr 0.030000
aniso 0.000000 aniso 0.000000
anisor 0.000000 anisor 0.000000
map_Kd textures/Material.003 Base Color.png
map_Pr textures/Material.003 Roughness.png

View File

@@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://kl1jplui8wfq" uid="uid://kl1jplui8wfq"
path="res://.godot/imported/Material.003 Base Color.png-d42a5bbd4c48c68f8735701e76a27b29.ctex" path.s3tc="res://.godot/imported/Material.003 Base Color.png-d42a5bbd4c48c68f8735701e76a27b29.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Blends/Mobel/textures/Material.003 Base Color.png" source_file="res://Blends/Mobel/textures/Material.003 Base Color.png"
dest_files=["res://.godot/imported/Material.003 Base Color.png-d42a5bbd4c48c68f8735701e76a27b29.ctex"] dest_files=["res://.godot/imported/Material.003 Base Color.png-d42a5bbd4c48c68f8735701e76a27b29.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

View File

@@ -3,25 +3,26 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://lbbig7lpdun3" uid="uid://lbbig7lpdun3"
path="res://.godot/imported/Material.003 Roughness.png-14263e554e9cb206530fa0866884012b.ctex" path.s3tc="res://.godot/imported/Material.003 Roughness.png-14263e554e9cb206530fa0866884012b.s3tc.ctex"
metadata={ metadata={
"vram_texture": false "imported_formats": ["s3tc_bptc"],
"vram_texture": true
} }
[deps] [deps]
source_file="res://Blends/Mobel/textures/Material.003 Roughness.png" source_file="res://Blends/Mobel/textures/Material.003 Roughness.png"
dest_files=["res://.godot/imported/Material.003 Roughness.png-14263e554e9cb206530fa0866884012b.ctex"] dest_files=["res://.godot/imported/Material.003 Roughness.png-14263e554e9cb206530fa0866884012b.s3tc.ctex"]
[params] [params]
compress/mode=0 compress/mode=2
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
mipmaps/generate=false mipmaps/generate=true
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" roughness/src_normal=""
@@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=1 detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://84bnb4rnuhuq"
path="res://.godot/imported/double_bed_metal.png-ecfdaed077568d6224139d3066a4c4c8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Blends/Mobel/textures/double_bed_metal.png"
dest_files=["res://.godot/imported/double_bed_metal.png-ecfdaed077568d6224139d3066a4c4c8.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=1

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://0t0cvsitlfmm"] [gd_scene load_steps=2 format=3 uid="uid://0t0cvsitlfmm"]
[ext_resource type="PackedScene" uid="uid://bnikfigm0lp5q" path="res://Blends/Mobel/DoubleBeds.glb" id="1_kkvf5"] [ext_resource type="PackedScene" uid="uid://ca3mea0tt0xvg" path="res://Blends/Mobel/DoubleBeds.blend" id="1_kkvf5"]
[node name="DoubleBeds" type="Node3D"] [node name="DoubleBeds" type="Node3D"]

View File

@@ -1,21 +1,9 @@
[gd_scene load_steps=12 format=3 uid="uid://bj7y7q2qkpnci"] [gd_scene load_steps=8 format=3 uid="uid://bj7y7q2qkpnci"]
[ext_resource type="ArrayMesh" uid="uid://622ethh2pdfa" path="res://Blends/road/road.obj" id="4_jjvhh"] [ext_resource type="ArrayMesh" uid="uid://622ethh2pdfa" path="res://Blends/road/road.obj" id="4_jjvhh"]
[ext_resource type="Texture2D" uid="uid://h1bl3q1pjjnm" path="res://Blends/textures/snow_02_rough_4k.jpg" id="5_21xkr"]
[ext_resource type="ArrayMesh" uid="uid://ws8ddp6stf3s" path="res://Blends/ground.obj" id="6_6bp64"]
[ext_resource type="PackedScene" uid="uid://dim2geqhn6d35" path="res://Scenes/Prefabs/cart.tscn" id="6_21xkr"] [ext_resource type="PackedScene" uid="uid://dim2geqhn6d35" path="res://Scenes/Prefabs/cart.tscn" id="6_21xkr"]
[ext_resource type="PackedScene" uid="uid://dy03tqug33fep" path="res://Blends/ground.blend" id="6_344ge"]
[ext_resource type="Script" uid="uid://drrp1k2q71hq2" path="res://Scripts/camera_3d.gd" id="7_6bp64"] [ext_resource type="Script" uid="uid://drrp1k2q71hq2" path="res://Scripts/camera_3d.gd" id="7_6bp64"]
[ext_resource type="PackedScene" uid="uid://bnikfigm0lp5q" path="res://Blends/Mobel/DoubleBeds.glb" id="8_344ge"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_344ge"]
albedo_texture = ExtResource("5_21xkr")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ynf5e"]
albedo_texture = ExtResource("5_21xkr")
metallic = 0.31
[sub_resource type="BoxShape3D" id="BoxShape3D_jjvhh"]
size = Vector3(172.382, 1, 159.805)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_21xkr"] [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_21xkr"]
lifetime_randomness = 0.55 lifetime_randomness = 0.55
@@ -28,6 +16,8 @@ scale_min = 0.0
[sub_resource type="QuadMesh" id="QuadMesh_21xkr"] [sub_resource type="QuadMesh" id="QuadMesh_21xkr"]
size = Vector2(0.5, 0.5) size = Vector2(0.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_21xkr"]
[node name="Node3D" type="Node3D"] [node name="Node3D" type="Node3D"]
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
@@ -43,42 +33,6 @@ skeleton = NodePath("../Road")
transform = Transform3D(10.9512, 0, 0, 0, 1, 0, 0, 0, 1, -53.9758, 37.1737, -62.1734) transform = Transform3D(10.9512, 0, 0, 0, 1, 0, 0, 0, 1, -53.9758, 37.1737, -62.1734)
mesh = ExtResource("4_jjvhh") mesh = ExtResource("4_jjvhh")
[node name="Ground2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180.354, 36.969, -59.426)
material_override = SubResource("StandardMaterial3D_344ge")
mesh = ExtResource("6_6bp64")
skeleton = NodePath("../Ground")
surface_material_override/0 = SubResource("StandardMaterial3D_ynf5e")
[node name="StaticBody3D" type="StaticBody3D" parent="Ground2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.9207, -0.00321198, -0.742706)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground2/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.167175, 0, -0.376099)
shape = SubResource("BoxShape3D_jjvhh")
[node name="Ground" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.3213, 36.9694, -59.4263)
material_override = SubResource("StandardMaterial3D_344ge")
mesh = ExtResource("6_6bp64")
[node name="StaticBody3D" type="StaticBody3D" parent="Ground"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.9207, -0.00321198, -0.742706)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.57438, 0, -0.376099)
shape = SubResource("BoxShape3D_jjvhh")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.710217, 0.703983, 0, -0.703983, 0.710217, -16.0276, 52.362, -52.6538)
script = ExtResource("7_6bp64")
rayLength = 1000.0
[node name="DebugLabel1" type="Label" parent="Camera3D"]
offset_right = 40.0
offset_bottom = 23.0
text = "Text"
[node name="GPUParticles3D" type="GPUParticles3D" parent="."] [node name="GPUParticles3D" type="GPUParticles3D" parent="."]
transform = Transform3D(3.70763, 0, 0, 0, 2.24982, 0, 0, 0, 3.71542, -7.77808, 47.2887, -60.0289) transform = Transform3D(3.70763, 0, 0, 0, 2.24982, 0, 0, 0, 3.71542, -7.77808, 47.2887, -60.0289)
emitting = false emitting = false
@@ -95,9 +49,42 @@ light_energy = 1.162
spot_range = 23.417 spot_range = 23.417
spot_angle = 89.99 spot_angle = 89.99
[node name="DoubleBeds" parent="." instance=ExtResource("8_344ge")]
transform = Transform3D(-0.00574796, 0, -1.00041, 0, 1, 0, 0.930317, 0, -0.00618104, -6.7791, 40.4211, -61.7192)
[node name="Cart" parent="." node_paths=PackedStringArray("mainCamera") instance=ExtResource("6_21xkr")] [node name="Cart" parent="." node_paths=PackedStringArray("mainCamera") instance=ExtResource("6_21xkr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.31428, 39.9268, -60.2323) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.31428, 39.9268, -60.2323)
mainCamera = NodePath("../Camera3D") mainCamera = NodePath("../RigidBody3D/Camera3D")
[node name="RigidBody3D" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.05618, 41.42, -58.2918)
collision_layer = 128
collision_mask = 128
axis_lock_angular_x = true
axis_lock_angular_z = true
mass = 0.001
gravity_scale = 0.0
[node name="Camera3D" type="Camera3D" parent="RigidBody3D" node_paths=PackedStringArray("ownRigidBody", "endZoom")]
transform = Transform3D(1, 0, 0, 0, 0.710217, 0.703983, 0, -0.703983, 0.710217, 0, 17.894, 13.2384)
current = true
script = ExtResource("7_6bp64")
rayLength = 1000.0
camera_speed = 2.0
ownRigidBody = NodePath("..")
endZoom = NodePath("../endZoom")
[node name="DebugLabel1" type="Label" parent="RigidBody3D/Camera3D"]
offset_right = 40.0
offset_bottom = 23.0
text = "Text"
[node name="endZoom" type="Node3D" parent="RigidBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 41.2007, 42.2133)
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
shape = SubResource("BoxShape3D_21xkr")
debug_color = Color(0.895552, 0, 0.381247, 1)
[node name="ground" parent="." instance=ExtResource("6_344ge")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.3213, 36.9694, -59.4263)
[node name="ground2" parent="." instance=ExtResource("6_344ge")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180.354, 36.969, -59.426)

View File

@@ -1,10 +1,37 @@
extends Camera3D extends Camera3D
@export var rayLength: float @export var rayLength: float
@export var camera_speed: float
@export var ownRigidBody: RigidBody3D
@export var endZoom: Node3D
var debugLabel var debugLabel
var global_delta
var default_pos
func _ready() -> void: func _ready() -> void:
default_pos = self.position
debugLabel = $DebugLabel1 debugLabel = $DebugLabel1
func _process(delta: float) -> void:
global_delta = delta
if(Input.is_action_just_released("move_camera_enable")):
ownRigidBody.angular_velocity = Vector3.ZERO
if(Input.is_action_pressed("move_camera_enable")):
var mouseV = Input.get_last_mouse_velocity()
ownRigidBody.angular_velocity.y = -mouseV.x * delta / camera_speed
#ownRigidBody.angular_velocity.x = mouseV.y * delta / camera_speed
#print(self.position.dot(ownRigidBody.position))
func _input(event: InputEvent) -> void:
if(event.is_action("camera_zoom")):
if (event.as_text() == "Mouse Wheel Up"):
self.position = self.position.lerp(Vector3.ZERO,global_delta * 5.0)
else:
self.position = self.position.lerp(endZoom.position,global_delta * 5.0)
func getGlobalRayTargetObject(): func getGlobalRayTargetObject():
var space = get_world_3d().direct_space_state var space = get_world_3d().direct_space_state

View File

@@ -27,3 +27,14 @@ enter_build_mode={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":66,"key_label":0,"unicode":98,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":66,"key_label":0,"unicode":98,"location":0,"echo":false,"script":null)
] ]
} }
move_camera_enable={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
camera_zoom={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":8,"position":Vector2(105, 22),"global_position":Vector2(114, 70),"factor":0.0300018,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null)
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(72, 17),"global_position":Vector2(81, 65),"factor":0.0300018,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}