From eac459478c4a12d9f08544a2c628db99646ff3af Mon Sep 17 00:00:00 2001 From: Dmitrii Bykov Date: Sun, 24 May 2026 20:15:55 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20texture?= =?UTF-8?q?-apply=20=D0=B4=D0=BB=D1=8F=20=D1=83=D0=B4=D0=B0=D0=BB=D1=91?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BD=D0=BE=D0=B4=20Bed/Blanket,=20?= =?UTF-8?q?Desk/Mesh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Когда Bed/Desk заменил на Kenney glb-инстансы (предыдущий коммит), дочерние ноды Bed/Blanket, Bed/Pillow, Desk/Mesh, OldPC исчезли. А _apply_textures всё ещё к ним обращался через $Bed/Blanket etc. → null instance → SCRIPT ERROR → _apply_textures прерывался посередине → стены/пол остались без текстур → визуальный бардак который user видел на скрине. ФИКС: - Удалил из _apply_textures все вызовы для удалённых нод: * blanket_mat (Bed/Blanket) * desk_mat (Desk/Mesh) * Books loop (Shelf/BookA..E — заменены на Kenney bookcase) * adrenaline/lays/sock — уже были hidden - Оставил только текстуры для MOIH placeholder-мешей (стены, пол, потолок, ковёр, постеры, дверь-панель). - Kenney модели имеют СОБСТВЕННЫЕ материалы из glb — мы их не трогаем, они хорошо выглядят с дефолтным освещением. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/prologue/act1.gd | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/scripts/prologue/act1.gd b/scripts/prologue/act1.gd index 6d9c74e..3aec7c4 100644 --- a/scripts/prologue/act1.gd +++ b/scripts/prologue/act1.gd @@ -46,6 +46,9 @@ func _hide_noise_items() -> void: func _apply_textures() -> void: + # Текстуры применяем ТОЛЬКО к моим placeholder-мешам (стены, пол, + # потолок, ковёр, постеры, дверь). Мебель теперь Kenney glb с + # собственными материалами — не трогаем. var floor_mat: BaseMaterial3D = ($Floor/Mesh as MeshInstance3D).material_override TextureGen.apply_to_material(floor_mat, TextureGen.linoleum(), Vector3(8, 8, 8)) @@ -60,24 +63,15 @@ func _apply_textures() -> void: var carpet_mat: BaseMaterial3D = ($WallS/WallCarpet as MeshInstance3D).material_override TextureGen.apply_to_material(carpet_mat, TextureGen.wall_carpet(), Vector3(1, 1, 1)) - var blanket_mat: BaseMaterial3D = ($Bed/Blanket as MeshInstance3D).material_override - TextureGen.apply_to_material(blanket_mat, TextureGen.blanket(), Vector3(2, 2, 2)) - var csgo_mat: BaseMaterial3D = ($WallN/PosterCSGO as MeshInstance3D).material_override TextureGen.apply_to_material(csgo_mat, TextureGen.poster_csgo(), Vector3(1, 1, 1)) var morgen_mat: BaseMaterial3D = ($WallN/PosterMorgen as MeshInstance3D).material_override TextureGen.apply_to_material(morgen_mat, TextureGen.poster_morgen(), Vector3(1, 1, 1)) - var desk_mat: BaseMaterial3D = ($Desk/Mesh as MeshInstance3D).material_override - TextureGen.apply_to_material(desk_mat, TextureGen.desk_white(), Vector3(2, 2, 2)) - var door_panel_mat: BaseMaterial3D = ($WallE/DoorPanel as MeshInstance3D).material_override TextureGen.apply_to_material(door_panel_mat, TextureGen.door(), Vector3(1, 1, 1)) - # Книги/носки/Adrenaline/Lay's скрыты в _hide_noise_items — - # текстуры на них не применяем (они невидимы) - func _play_intro() -> void: system_unit.visible = false