fix: убрал texture-apply для удалённых нод Bed/Blanket, Desk/Mesh
Some checks failed
Godot CI / Import + smoke test (push) Failing after 14s

Когда 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) <noreply@anthropic.com>
This commit is contained in:
Dmitrii Bykov 2026-05-24 20:15:55 +03:00
parent 053d730a45
commit eac459478c

View file

@ -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