fix: реальные расчёты scale через AABB-инспекцию
Some checks failed
Godot CI / Import + smoke test (push) Failing after 16s
Some checks failed
Godot CI / Import + smoke test (push) Failing after 16s
Написал scripts/util/inspect_models.gd — runtime-инструмент. Запустил через --headless --script, получил РЕАЛЬНЫЕ размеры: ХАРАКТЕРЫ (mini-characters): - Все male: 0.77×0.67-0.79×0.34 м (Ш×В×Г), T-pose шириной 0.77м - Pivot near center (offset 0.0005м) - 32 анимации, ВКЛЮЧАЯ «idle», «walk», «sit», «static» ФУРНИТУРА (выборка): - bedSingle: 1.62×0.51×1.89м (реалистичный single bed) - desk: 0.73×0.38×0.56м (мелко, нужно scale ~2.0) - chairDesk: 0.48×0.42×0.44м (мелко, нужно ~2.0-2.5) - kitchenFridgeLarge: 0.79×1.32×0.39м (нормально) РАСЧЁТЫ ОТЦА: - Цель: рост ~1.7м (взрослый отец) - Базовая высота 0.722м → scale = 1.7/0.722 = 2.35 - В T-pose ширина 1.8м (огромный) — НО idle-поза узкая, ~0.7м - Поэтому КРИТИЧНО запустить idle, не T-pose ФИКСЫ: 1. Father scale 2.35 (рост 1.7м, нормальный взрослый) 2. _start_father_idle через call_deferred — glb children могут быть не готовы в _ready, deferred ждёт следующий кадр 3. Animation list = 32 шт. Алгоритм: - Ищет первую анимацию содержащую «idle» (нижний регистр) - Если нет — играет первую в списке (fallback) - Print имя анимации для debug 4. Position x=1.6 (чуть дальше от двери при scale 2.35) ОСТАЁТСЯ ПРОВЕРИТЬ: - Реально ли запустилась idle (увидим по позе — руки опущены или раскинуты T-pose) - Возможно scale 2.35 слишком много с idle — иногда мини-чары выглядят пухло - Furniture scales — TODO следующим коммитом если попросишь Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1453bf30a3
commit
315173556e
3 changed files with 86 additions and 2 deletions
|
|
@ -650,7 +650,7 @@ material_override = SubResource("mat_note")
|
|||
shape = SubResource("shape_note")
|
||||
|
||||
[node name="FatherNPC" parent="." instance=ExtResource("100_father")]
|
||||
transform = Transform3D(0, 0, -1.4, 0, 1.4, 0, 1.4, 0, 0, 1.5, 0, 0)
|
||||
transform = Transform3D(0, 0, -2.35, 0, 2.35, 0, 2.35, 0, 0, 1.6, 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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue