diff --git a/Blends/.DS_Store b/Blends/.DS_Store index 406e692..a8fd373 100644 Binary files a/Blends/.DS_Store and b/Blends/.DS_Store differ diff --git a/Blends/Mobel/DoubleBeds.blend b/Blends/Mobel/DoubleBeds.blend index 76ac7b1..0ec4406 100644 Binary files a/Blends/Mobel/DoubleBeds.blend and b/Blends/Mobel/DoubleBeds.blend differ diff --git a/Blends/Mobel/DoubleBeds.blend1 b/Blends/Mobel/DoubleBeds.blend1 index 0963ff8..f5264b1 100644 Binary files a/Blends/Mobel/DoubleBeds.blend1 and b/Blends/Mobel/DoubleBeds.blend1 differ diff --git a/Blends/Mobel/DoubleBeds.glb b/Blends/Mobel/DoubleBeds.glb index 7882cce..498ef51 100644 Binary files a/Blends/Mobel/DoubleBeds.glb and b/Blends/Mobel/DoubleBeds.glb differ diff --git a/Blends/Mobel/DoubleBeds.mtl b/Blends/Mobel/DoubleBeds.mtl index 39c6315..acfe70b 100644 --- a/Blends/Mobel/DoubleBeds.mtl +++ b/Blends/Mobel/DoubleBeds.mtl @@ -1,21 +1,6 @@ # Blender 4.5.1 LTS MTL File: 'DoubleBeds.blend' # 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 Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 @@ -27,16 +12,16 @@ Pr 0.400000 Pm 1.000000 newmtl Material.003 -Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 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 +map_Kd textures/Material.003 Base Color.png +map_Pr textures/Material.003 Roughness.png diff --git a/Blends/Mobel/textures/Material.003 Base Color.png.import b/Blends/Mobel/textures/Material.003 Base Color.png.import index 3ff7dcb..b7a5201 100644 --- a/Blends/Mobel/textures/Material.003 Base Color.png.import +++ b/Blends/Mobel/textures/Material.003 Base Color.png.import @@ -3,25 +3,26 @@ importer="texture" type="CompressedTexture2D" 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={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] 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] -compress/mode=0 +compress/mode=2 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/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,4 +32,4 @@ 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 +detect_3d/compress_to=0 diff --git a/Blends/Mobel/textures/Material.003 Roughness.png.import b/Blends/Mobel/textures/Material.003 Roughness.png.import index 2daa893..0597bfc 100644 --- a/Blends/Mobel/textures/Material.003 Roughness.png.import +++ b/Blends/Mobel/textures/Material.003 Roughness.png.import @@ -3,25 +3,26 @@ importer="texture" type="CompressedTexture2D" 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={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] 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] -compress/mode=0 +compress/mode=2 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/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,4 +32,4 @@ 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 +detect_3d/compress_to=0 diff --git a/Blends/Mobel/textures/double_bed_metal.png b/Blends/Mobel/textures/double_bed_metal.png new file mode 100644 index 0000000..0c482cf Binary files /dev/null and b/Blends/Mobel/textures/double_bed_metal.png differ diff --git a/Blends/Mobel/textures/double_bed_metal.png.import b/Blends/Mobel/textures/double_bed_metal.png.import new file mode 100644 index 0000000..50af62f --- /dev/null +++ b/Blends/Mobel/textures/double_bed_metal.png.import @@ -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 diff --git a/Blends/ground.blend b/Blends/ground.blend index 132f265..4d80307 100644 Binary files a/Blends/ground.blend and b/Blends/ground.blend differ diff --git a/Blends/ground.blend1 b/Blends/ground.blend1 index b28c220..4a70d85 100644 Binary files a/Blends/ground.blend1 and b/Blends/ground.blend1 differ diff --git a/Scenes/Prefabs/DoubleBeds.tscn b/Scenes/Prefabs/DoubleBeds.tscn index ab50475..2b06ed0 100644 --- a/Scenes/Prefabs/DoubleBeds.tscn +++ b/Scenes/Prefabs/DoubleBeds.tscn @@ -1,6 +1,6 @@ [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"] diff --git a/Scenes/main.tscn b/Scenes/main.tscn index 8116fdc..be3251b 100644 --- a/Scenes/main.tscn +++ b/Scenes/main.tscn @@ -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="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://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="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"] lifetime_randomness = 0.55 @@ -28,6 +16,8 @@ scale_min = 0.0 [sub_resource type="QuadMesh" id="QuadMesh_21xkr"] size = Vector2(0.5, 0.5) +[sub_resource type="BoxShape3D" id="BoxShape3D_21xkr"] + [node name="Node3D" type="Node3D"] [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) 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="."] transform = Transform3D(3.70763, 0, 0, 0, 2.24982, 0, 0, 0, 3.71542, -7.77808, 47.2887, -60.0289) emitting = false @@ -95,9 +49,42 @@ light_energy = 1.162 spot_range = 23.417 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")] 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) diff --git a/Scripts/camera_3d.gd b/Scripts/camera_3d.gd index f4799fd..4834337 100644 --- a/Scripts/camera_3d.gd +++ b/Scripts/camera_3d.gd @@ -1,10 +1,37 @@ extends Camera3D @export var rayLength: float - +@export var camera_speed: float +@export var ownRigidBody: RigidBody3D +@export var endZoom: Node3D var debugLabel +var global_delta +var default_pos + + func _ready() -> void: + default_pos = self.position 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(): var space = get_world_3d().direct_space_state diff --git a/project.godot b/project.godot index 0088416..291c987 100644 --- a/project.godot +++ b/project.godot @@ -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) ] } +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) +] +}