Some checks failed
Godot CI / Import + smoke test (push) Failing after 14s
Скачал и интегрировал 158 CC0 моделей с kenney.nl: - Mini Characters (19+ low-poly humanoid персонажей) - Furniture Kit (140 моделей мебели/техники) КОМНАТА (act1_room.tscn): - FatherNPC: 11-кубов-humanoid (голова/туловище/руки/ноги/глаза/нос/ рот/брови/щетина/уши/ладони/ботинки) → ОДИН Kenney character-l.glb (реальный low-poly чувак). - Bed: 3 BoxMesh (рама/одеяло/подушка) → bedSingle.glb - Desk: BoxMesh → desk.glb + chairDesk.glb стул - OldPC монитор: BoxMesh+Screen → computerScreen.glb (реальный CRT) - SystemUnit (новый из подарка): BoxMesh + теперь computerKeyboard.glb рядом - GiftBox: BoxMesh чёрный куб → cardboardBoxClosed.glb (картонная) - Shelf (BILLY): был спрятан (некрасиво) → bookcaseClosedDoors.glb, снова видим - Collision shapes сохранены отдельно от моделей — физика не сломалась КУХНЯ (act1_kitchen.tscn): - Fridge: BoxMesh «Атлант» → kitchenFridgeLarge.glb - Stove: BoxMesh+2knobs+kettle → kitchenStove.glb - Counter+Sink: BoxMesh композит → kitchenSink.glb - Table: BoxMesh + 4 BoxMesh-ножки → table.glb - 2 Chairs: BoxMesh seat+back+4legs → 2× chair.glb (Chair2 повёрнут 180°) - НОВОЕ: UpperCabinet (верхние шкафчики), Microwave (СВЧ), CoffeeMachine (кофемашина) — атмосфера ХОДЬБА ОТЦА: - Раньше: tween rotation ног/рук как у placeholder. Теперь Kenney glb — ноги/руки внутри single mesh, нет refs. - Упрощено: поворот корпуса на 180° + bob тела вверх-вниз через sin. - walk_distance урезан с 1.0 → 0.35м — не уходит в стену. - Готов hook на AnimationPlayer если он есть в glb (для будущего). РАЗМЕР РЕПО: +5.3 МБ (158 моделей). Допустимо. ЛИЦЕНЗИЯ: CC0 (Creative Commons Zero) — без ограничений, никаких атрибутов, можно коммерчески. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
356 lines
13 KiB
Text
356 lines
13 KiB
Text
[gd_scene load_steps=45 format=3]
|
|
|
|
[ext_resource type="Script" path="res://scripts/prologue/act1_kitchen.gd" id="1_kit"]
|
|
[ext_resource type="Script" path="res://scripts/interactables/interactable.gd" id="2_int"]
|
|
[ext_resource type="PackedScene" path="res://scenes/components/player_fpv.tscn" id="3_player"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenFridgeLarge.glb" id="10_fridge"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenStove.glb" id="11_stove"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenCabinet.glb" id="12_cabinet"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenSink.glb" id="13_sink"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenCabinetUpper.glb" id="14_cabinet_upper"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/table.glb" id="15_table"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/chair.glb" id="16_chair"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenMicrowave.glb" id="17_microwave"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/furniture/kitchenCoffeeMachine.glb" id="18_coffee"]
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_floor"]
|
|
size = Vector3(3, 0.1, 3)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_floor"]
|
|
size = Vector3(3, 0.1, 3)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_wall_ns"]
|
|
size = Vector3(3, 2.5, 0.1)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_wall_ns"]
|
|
size = Vector3(3, 2.5, 0.1)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_wall_ew"]
|
|
size = Vector3(0.1, 2.5, 3)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_wall_ew"]
|
|
size = Vector3(0.1, 2.5, 3)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_fridge"]
|
|
size = Vector3(0.6, 1.8, 0.6)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_fridge"]
|
|
size = Vector3(0.6, 1.8, 0.6)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_stove"]
|
|
size = Vector3(0.6, 0.85, 0.6)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_stove"]
|
|
size = Vector3(0.6, 0.85, 0.6)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_counter"]
|
|
size = Vector3(0.7, 0.85, 0.6)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_counter"]
|
|
size = Vector3(0.7, 0.85, 0.6)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_sink"]
|
|
size = Vector3(0.5, 0.05, 0.4)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_kitchen_window"]
|
|
size = Vector3(0.8, 0.5, 0.06)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_door_panel"]
|
|
size = Vector3(1.0, 2.0, 0.06)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_door"]
|
|
size = Vector3(1.0, 2.0, 0.06)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_table"]
|
|
size = Vector3(0.9, 0.04, 0.7)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_table"]
|
|
size = Vector3(0.9, 0.04, 0.7)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_table_leg"]
|
|
size = Vector3(0.05, 0.72, 0.05)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_chair_seat"]
|
|
size = Vector3(0.35, 0.04, 0.35)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_chair_seat"]
|
|
size = Vector3(0.35, 0.04, 0.35)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_chair_back"]
|
|
size = Vector3(0.35, 0.5, 0.04)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_chair_leg"]
|
|
size = Vector3(0.04, 0.46, 0.04)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_note"]
|
|
size = Vector3(0.15, 0.01, 0.1)
|
|
|
|
[sub_resource type="BoxShape3D" id="shape_note"]
|
|
size = Vector3(0.15, 0.01, 0.1)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_radiator"]
|
|
size = Vector3(0.7, 0.4, 0.08)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_kettle"]
|
|
size = Vector3(0.18, 0.22, 0.18)
|
|
|
|
[sub_resource type="BoxMesh" id="mesh_knob"]
|
|
size = Vector3(0.04, 0.04, 0.04)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_floor"]
|
|
albedo_color = Color(0.72, 0.6, 0.41, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_wall"]
|
|
albedo_color = Color(0.83, 0.72, 0.55, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_ceiling"]
|
|
albedo_color = Color(0.92, 0.9, 0.85, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_fridge"]
|
|
albedo_color = Color(0.95, 0.94, 0.9, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_stove"]
|
|
albedo_color = Color(0.42, 0.42, 0.45, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_counter"]
|
|
albedo_color = Color(0.88, 0.86, 0.82, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_sink"]
|
|
albedo_color = Color(0.65, 0.65, 0.7, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_kitchen_window"]
|
|
albedo_color = Color(0.6, 0.85, 1.0, 1)
|
|
emission_enabled = true
|
|
emission = Color(0.6, 0.85, 1.0, 1)
|
|
emission_energy_multiplier = 0.6
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_door"]
|
|
albedo_color = Color(0.85, 0.82, 0.75, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_table"]
|
|
albedo_color = Color(0.55, 0.38, 0.2, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_chair"]
|
|
albedo_color = Color(0.55, 0.38, 0.2, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_note"]
|
|
albedo_color = Color(0.95, 0.95, 0.88, 1)
|
|
emission_enabled = true
|
|
emission = Color(0.95, 0.95, 0.7, 1)
|
|
emission_energy_multiplier = 0.5
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_radiator"]
|
|
albedo_color = Color(0.96, 0.94, 0.88, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_kettle"]
|
|
albedo_color = Color(0.85, 0.16, 0.16, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="mat_knob"]
|
|
albedo_color = Color(0.85, 0.2, 0.2, 1)
|
|
|
|
[sub_resource type="Environment" id="env_kitchen"]
|
|
background_mode = 1
|
|
background_color = Color(0.04, 0.04, 0.06, 1)
|
|
ambient_light_source = 2
|
|
ambient_light_color = Color(0.78, 0.72, 0.6, 1)
|
|
ambient_light_energy = 0.5
|
|
|
|
[node name="Act1Kitchen" type="Node3D"]
|
|
script = ExtResource("1_kit")
|
|
|
|
[node name="WorldEnv" type="WorldEnvironment" parent="."]
|
|
environment = SubResource("env_kitchen")
|
|
|
|
[node name="SunLight" type="DirectionalLight3D" parent="."]
|
|
transform = Transform3D(-1, 0, 0, 0, 0.866, 0.5, 0, 0.5, -0.866, 0.7, 4, -1)
|
|
light_color = Color(1, 0.94, 0.82, 1)
|
|
light_energy = 1.0
|
|
shadow_enabled = true
|
|
shadow_bias = 0.08
|
|
|
|
[node name="CeilingLight" type="OmniLight3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, 0)
|
|
light_color = Color(1, 0.95, 0.85, 1)
|
|
light_energy = 0.6
|
|
omni_range = 5.0
|
|
|
|
[node name="Floor" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Floor"]
|
|
mesh = SubResource("mesh_floor")
|
|
material_override = SubResource("mat_floor")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Floor"]
|
|
shape = SubResource("shape_floor")
|
|
|
|
[node name="Ceiling" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.55, 0)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Ceiling"]
|
|
mesh = SubResource("mesh_floor")
|
|
material_override = SubResource("mat_ceiling")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Ceiling"]
|
|
shape = SubResource("shape_floor")
|
|
|
|
[node name="WallN" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, -1.55)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallN"]
|
|
mesh = SubResource("mesh_wall_ns")
|
|
material_override = SubResource("mat_wall")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallN"]
|
|
shape = SubResource("shape_wall_ns")
|
|
|
|
[node name="Window" type="MeshInstance3D" parent="WallN"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.35, 0.06)
|
|
mesh = SubResource("mesh_kitchen_window")
|
|
material_override = SubResource("mat_kitchen_window")
|
|
|
|
[node name="Radiator" type="MeshInstance3D" parent="WallN"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, -0.7, 0.1)
|
|
mesh = SubResource("mesh_radiator")
|
|
material_override = SubResource("mat_radiator")
|
|
|
|
[node name="WallS" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 1.55)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallS"]
|
|
mesh = SubResource("mesh_wall_ns")
|
|
material_override = SubResource("mat_wall")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallS"]
|
|
shape = SubResource("shape_wall_ns")
|
|
|
|
[node name="DoorPanel" type="MeshInstance3D" parent="WallS"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, -0.25, -0.06)
|
|
mesh = SubResource("mesh_door_panel")
|
|
material_override = SubResource("mat_door")
|
|
|
|
[node name="DoorBack" type="Area3D" parent="WallS"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, -0.25, -0.12)
|
|
script = ExtResource("2_int")
|
|
prompt = "вернуться в комнату"
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallS/DoorBack"]
|
|
visible = false
|
|
mesh = SubResource("mesh_door_panel")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallS/DoorBack"]
|
|
shape = SubResource("shape_door")
|
|
|
|
[node name="WallE" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.55, 1.25, 0)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallE"]
|
|
mesh = SubResource("mesh_wall_ew")
|
|
material_override = SubResource("mat_wall")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallE"]
|
|
shape = SubResource("shape_wall_ew")
|
|
|
|
[node name="WallW" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.55, 1.25, 0)
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="WallW"]
|
|
mesh = SubResource("mesh_wall_ew")
|
|
material_override = SubResource("mat_wall")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="WallW"]
|
|
shape = SubResource("shape_wall_ew")
|
|
|
|
[node name="Fridge" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0, -1.15)
|
|
|
|
[node name="FridgeModel" parent="Fridge" instance=ExtResource("10_fridge")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Fridge"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
|
|
shape = SubResource("shape_fridge")
|
|
|
|
[node name="WiFiNote" type="Area3D" parent="Fridge"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0.31)
|
|
script = ExtResource("2_int")
|
|
prompt = "прочитать записку"
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="Fridge/WiFiNote"]
|
|
mesh = SubResource("mesh_note")
|
|
material_override = SubResource("mat_note")
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Fridge/WiFiNote"]
|
|
shape = SubResource("shape_note")
|
|
|
|
[node name="Stove" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0, 0, -1.2)
|
|
|
|
[node name="StoveModel" parent="Stove" instance=ExtResource("11_stove")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Stove"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.425, 0)
|
|
shape = SubResource("shape_stove")
|
|
|
|
[node name="Counter" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0, -1.2)
|
|
|
|
[node name="SinkModel" parent="Counter" instance=ExtResource("13_sink")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Counter"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.425, 0)
|
|
shape = SubResource("shape_counter")
|
|
|
|
[node name="UpperCabinet" parent="." instance=ExtResource("14_cabinet_upper")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 1.6, -1.4)
|
|
|
|
[node name="Microwave" parent="." instance=ExtResource("17_microwave")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0.9, -1.3)
|
|
|
|
[node name="CoffeeMachine" parent="." instance=ExtResource("18_coffee")]
|
|
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 1.2, 0.95, -0.8)
|
|
|
|
[node name="Table" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 0.7)
|
|
|
|
[node name="TableModel" parent="Table" instance=ExtResource("15_table")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Table"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.73, 0)
|
|
shape = SubResource("shape_table")
|
|
|
|
[node name="Chair1" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 1.25)
|
|
|
|
[node name="Chair1Model" parent="Chair1" instance=ExtResource("16_chair")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Chair1"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48, 0)
|
|
shape = SubResource("shape_chair_seat")
|
|
|
|
[node name="Chair2" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0.5, 0, 0.1)
|
|
|
|
[node name="Chair2Model" parent="Chair2" instance=ExtResource("16_chair")]
|
|
|
|
[node name="Coll" type="CollisionShape3D" parent="Chair2"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48, 0)
|
|
shape = SubResource("shape_chair_seat")
|
|
|
|
[node name="PlayerFPV" parent="." instance=ExtResource("3_player")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 1.2)
|
|
|
|
[node name="HallwayDoor" type="MeshInstance3D" parent="WallN"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, -0.25, 0.06)
|
|
mesh = SubResource("mesh_door_panel")
|
|
material_override = SubResource("mat_door")
|
|
|
|
[node name="HallwaySign" type="Label3D" parent="WallN"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0.85, 0.07)
|
|
pixel_size = 0.005
|
|
text = "← прихожая"
|
|
modulate = Color(0.6, 0.6, 0.6, 1)
|
|
outline_size = 4
|
|
font_size = 32
|
|
|
|
[connection signal="interacted" from="Fridge/WiFiNote" to="." method="_on_note_interacted"]
|
|
[connection signal="interacted" from="WallS/DoorBack" to="." method="_on_door_back_interacted"]
|