🎮 Kenney CC0 ассеты: реальные модели вместо placeholder-кубов
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>
This commit is contained in:
Dmitrii Bykov 2026-05-24 20:12:28 +03:00
parent 79b19a488a
commit 053d730a45
355 changed files with 7436 additions and 282 deletions

View file

@ -3,6 +3,15 @@
[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)
@ -253,13 +262,12 @@ material_override = SubResource("mat_wall")
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.9, -1.15)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0, -1.15)
[node name="Mesh" type="MeshInstance3D" parent="Fridge"]
mesh = SubResource("mesh_fridge")
material_override = SubResource("mat_fridge")
[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"]
@ -275,140 +283,59 @@ material_override = SubResource("mat_note")
shape = SubResource("shape_note")
[node name="Stove" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0, 0.425, -1.2)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0, 0, -1.2)
[node name="Mesh" type="MeshInstance3D" parent="Stove"]
mesh = SubResource("mesh_stove")
material_override = SubResource("mat_stove")
[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="Knob1" type="MeshInstance3D" parent="Stove"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.18, 0.4, 0.32)
mesh = SubResource("mesh_knob")
material_override = SubResource("mat_knob")
[node name="Knob2" type="MeshInstance3D" parent="Stove"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.18, 0.4, 0.32)
mesh = SubResource("mesh_knob")
material_override = SubResource("mat_knob")
[node name="Counter" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.425, -1.2)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0, -1.2)
[node name="Mesh" type="MeshInstance3D" parent="Counter"]
mesh = SubResource("mesh_counter")
material_override = SubResource("mat_counter")
[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="Sink" type="MeshInstance3D" parent="Counter"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.45, 0.05)
mesh = SubResource("mesh_sink")
material_override = SubResource("mat_sink")
[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="Kettle" type="MeshInstance3D" parent="Stove"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.535, 0)
mesh = SubResource("mesh_kettle")
material_override = SubResource("mat_kettle")
[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.73, 0.7)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 0.7)
[node name="Mesh" type="MeshInstance3D" parent="Table"]
mesh = SubResource("mesh_table")
material_override = SubResource("mat_table")
[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="Leg1" type="MeshInstance3D" parent="Table"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.42, -0.38, -0.32)
mesh = SubResource("mesh_table_leg")
material_override = SubResource("mat_table")
[node name="Leg2" type="MeshInstance3D" parent="Table"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.42, -0.38, -0.32)
mesh = SubResource("mesh_table_leg")
material_override = SubResource("mat_table")
[node name="Leg3" type="MeshInstance3D" parent="Table"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.42, -0.38, 0.32)
mesh = SubResource("mesh_table_leg")
material_override = SubResource("mat_table")
[node name="Leg4" type="MeshInstance3D" parent="Table"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.42, -0.38, 0.32)
mesh = SubResource("mesh_table_leg")
material_override = SubResource("mat_table")
[node name="Chair1" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.48, 1.25)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 1.25)
[node name="Mesh" type="MeshInstance3D" parent="Chair1"]
mesh = SubResource("mesh_chair_seat")
material_override = SubResource("mat_chair")
[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="Back" type="MeshInstance3D" parent="Chair1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.27, 0.15)
mesh = SubResource("mesh_chair_back")
material_override = SubResource("mat_chair")
[node name="Leg1" type="MeshInstance3D" parent="Chair1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -0.25, -0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg2" type="MeshInstance3D" parent="Chair1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, -0.25, -0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg3" type="MeshInstance3D" parent="Chair1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -0.25, 0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg4" type="MeshInstance3D" parent="Chair1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, -0.25, 0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Chair2" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.48, 0.1)
transform = Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, -1, 0.5, 0, 0.1)
[node name="Mesh" type="MeshInstance3D" parent="Chair2"]
mesh = SubResource("mesh_chair_seat")
material_override = SubResource("mat_chair")
[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="Leg1" type="MeshInstance3D" parent="Chair2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -0.25, -0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg2" type="MeshInstance3D" parent="Chair2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, -0.25, -0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg3" type="MeshInstance3D" parent="Chair2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -0.25, 0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="Leg4" type="MeshInstance3D" parent="Chair2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, -0.25, 0.15)
mesh = SubResource("mesh_chair_leg")
material_override = SubResource("mat_chair")
[node name="PlayerFPV" parent="." instance=ExtResource("3_player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 1.2)

View file

@ -3,6 +3,15 @@
[ext_resource type="Script" path="res://scripts/prologue/act1.gd" id="1_act1"]
[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/characters/character-l.glb" id="100_father"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/bedSingle.glb" id="101_bed"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/desk.glb" id="102_desk"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/chairDesk.glb" id="103_chair"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/computerScreen.glb" id="104_monitor"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/computerKeyboard.glb" id="105_keyboard"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/bookcaseClosedDoors.glb" id="106_bookcase"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/computerScreen.glb" id="107_systemunit"]
[ext_resource type="PackedScene" path="res://assets/models/furniture/cardboardBoxClosed.glb" id="108_giftbox"]
[sub_resource type="BoxMesh" id="mesh_floor"]
size = Vector3(4, 0.1, 4)
@ -501,13 +510,12 @@ material_override = SubResource("mat_wall")
shape = SubResource("shape_wall_ew")
[node name="Shelf" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.85, 0.85, -1.0)
transform = Transform3D(0, 0, 1, 0, 1, 0, -1, 0, 0, -1.85, 0, -1.0)
[node name="Mesh" type="MeshInstance3D" parent="Shelf"]
mesh = SubResource("mesh_shelf")
material_override = SubResource("mat_shelf")
[node name="BookcaseModel" parent="Shelf" instance=ExtResource("106_bookcase")]
[node name="Coll" type="CollisionShape3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
shape = SubResource("shape_shelf")
[node name="BookA" type="MeshInstance3D" parent="Shelf"]
@ -546,24 +554,19 @@ material_override = SubResource("mat_p4")
shape = SubResource("shape_p4")
[node name="Desk" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, -1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5)
[node name="Mesh" type="MeshInstance3D" parent="Desk"]
mesh = SubResource("mesh_desk")
material_override = SubResource("mat_desk")
[node name="DeskModel" parent="Desk" instance=ExtResource("102_desk")]
[node name="Coll" type="CollisionShape3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, 0)
shape = SubResource("shape_desk")
[node name="OldPC" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.55, -0.1)
mesh = SubResource("mesh_old_pc")
material_override = SubResource("mat_old_pc")
[node name="OldPC" parent="Desk" instance=ExtResource("104_monitor")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0.7, 0)
[node name="Screen" type="MeshInstance3D" parent="Desk/OldPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.153)
mesh = SubResource("mesh_screen")
material_override = SubResource("mat_screen")
[node name="Chair" parent="Desk" instance=ExtResource("103_chair")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.7)
[node name="Keyboard" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.37, 0.18)
@ -593,25 +596,14 @@ material_override = SubResource("mat_flash")
shape = SubResource("shape_flash")
[node name="Bed" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.2, 1.4)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 1.4)
[node name="Mesh" type="MeshInstance3D" parent="Bed"]
mesh = SubResource("mesh_bed")
material_override = SubResource("mat_bed_frame")
[node name="BedModel" parent="Bed" instance=ExtResource("101_bed")]
[node name="Coll" type="CollisionShape3D" parent="Bed"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0)
shape = SubResource("shape_bed")
[node name="Blanket" type="MeshInstance3D" parent="Bed"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.23, 0)
mesh = SubResource("mesh_blanket")
material_override = SubResource("mat_blanket")
[node name="Pillow" type="MeshInstance3D" parent="Bed"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.31, 0)
mesh = SubResource("mesh_pillow")
material_override = SubResource("mat_pillow")
[node name="Sock1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.015, 0.9)
mesh = SubResource("mesh_sock")
@ -623,25 +615,28 @@ mesh = SubResource("mesh_sock")
material_override = SubResource("mat_sock")
[node name="GiftBox" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, -0.3)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.3)
script = ExtResource("2_int")
prompt = "открыть коробку"
[node name="Mesh" type="MeshInstance3D" parent="GiftBox"]
mesh = SubResource("mesh_gift")
material_override = SubResource("mat_gift")
[node name="BoxModel" parent="GiftBox" instance=ExtResource("108_giftbox")]
[node name="Coll" type="CollisionShape3D" parent="GiftBox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
shape = SubResource("shape_gift")
[node name="SystemUnit" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.2, 0.95, -1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, 0.7, -1.5)
visible = false
[node name="Mesh" type="MeshInstance3D" parent="SystemUnit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
mesh = SubResource("mesh_sys")
material_override = SubResource("mat_sys")
[node name="Keyboard" parent="SystemUnit" instance=ExtResource("105_keyboard")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.2, 0, 0.25)
[node name="Note" type="Area3D" parent="SystemUnit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0)
script = ExtResource("2_int")
@ -654,118 +649,8 @@ material_override = SubResource("mat_note")
[node name="Coll" type="CollisionShape3D" parent="SystemUnit/Note"]
shape = SubResource("shape_note")
[node name="FatherNPC" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7, 0, 0)
[node name="Head" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.55, 0)
mesh = SubResource("mesh_head")
material_override = SubResource("mat_skin")
[node name="EyeWhiteL" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.035, -0.132)
mesh = SubResource("mesh_eye_white")
material_override = SubResource("mat_eye_white")
[node name="EyeWhiteR" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.035, -0.132)
mesh = SubResource("mesh_eye_white")
material_override = SubResource("mat_eye_white")
[node name="PupilL" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.035, -0.135)
mesh = SubResource("mesh_pupil")
material_override = SubResource("mat_pupil")
[node name="PupilR" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.035, -0.135)
mesh = SubResource("mesh_pupil")
material_override = SubResource("mat_pupil")
[node name="EyebrowL" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.058, 0.072, -0.132)
mesh = SubResource("mesh_eyebrow")
material_override = SubResource("mat_hair")
[node name="EyebrowR" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.058, 0.072, -0.132)
mesh = SubResource("mesh_eyebrow")
material_override = SubResource("mat_hair")
[node name="Nose" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.005, -0.142)
mesh = SubResource("mesh_nose")
material_override = SubResource("mat_skin")
[node name="Mouth" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.07, -0.131)
mesh = SubResource("mesh_mouth")
material_override = SubResource("mat_mouth")
[node name="Stubble" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.095, -0.131)
mesh = SubResource("mesh_stubble")
material_override = SubResource("mat_stubble")
[node name="EarL" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.135, 0.005, 0)
mesh = SubResource("mesh_ear")
material_override = SubResource("mat_skin")
[node name="EarR" type="MeshInstance3D" parent="FatherNPC/Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.135, 0.005, 0)
mesh = SubResource("mesh_ear")
material_override = SubResource("mat_skin")
[node name="Hair" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.72, 0)
mesh = SubResource("mesh_hair")
material_override = SubResource("mat_hair")
[node name="Torso" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
mesh = SubResource("mesh_torso")
material_override = SubResource("mat_shirt")
[node name="ArmL" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.275, 1.12, 0)
mesh = SubResource("mesh_arm")
material_override = SubResource("mat_shirt")
[node name="ArmR" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.275, 1.12, 0)
mesh = SubResource("mesh_arm")
material_override = SubResource("mat_shirt")
[node name="HandL" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.275, 0.83, 0)
mesh = SubResource("mesh_hand")
material_override = SubResource("mat_skin")
[node name="HandR" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.275, 0.83, 0)
mesh = SubResource("mesh_hand")
material_override = SubResource("mat_skin")
[node name="LegL" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.11, 0.42, 0)
mesh = SubResource("mesh_leg")
material_override = SubResource("mat_pants")
[node name="LegR" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11, 0.42, 0)
mesh = SubResource("mesh_leg")
material_override = SubResource("mat_pants")
[node name="ShoeL" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.11, 0.04, 0.04)
mesh = SubResource("mesh_shoe")
material_override = SubResource("mat_shoe")
[node name="ShoeR" type="MeshInstance3D" parent="FatherNPC"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11, 0.04, 0.04)
mesh = SubResource("mesh_shoe")
material_override = SubResource("mat_shoe")
[node name="FatherNPC" parent="." instance=ExtResource("100_father")]
transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, 1.7, 0, 0)
[node name="PlayerFPV" parent="." instance=ExtResource("3_player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.5)