fix мышь + лицо отца (глаза, нос, рот, брови, щетина, уши)
Some checks failed
Godot CI / Import + smoke test (push) Failing after 28s
Some checks failed
Godot CI / Import + smoke test (push) Failing after 28s
МЫШЬ КАМЕРА (главный баг):
- Crosshair Control в центре экрана с дефолтным mouse_filter=STOP
ЖРАЛ ВСЕ mouse_motion events когда курсор был в центре (а он
всегда в центре при MOUSE_MODE_CAPTURED). FPV._unhandled_input
не вызывался → камера не вращалась.
- Поставил mouse_filter=2 (IGNORE) на Crosshair, CenterDot,
OuterRing, InnerHole — теперь они только рендерятся, события
пролетают мимо.
- Поставил mouse_filter=2 ТАКЖЕ на все HUD-лейблы (DateTime,
Objective, Money, Weather, Stats, ControlsHint, PromptLabel)
и SubtitlePanel — на будущее, чтобы курсор поверх них не
обламывал камеру.
СЛАЙДЕРЫ В НАСТРОЙКАХ:
- HBoxContainer rows с custom_minimum_size (0, 24).
- Labels: size_flags_vertical=4 (SHRINK_CENTER) +
vertical_alignment=1 (CENTER) + min_size (W, 24).
- Sliders: size_flags_vertical=4 + min_size (140, 24).
- Все элементы строки выровнены по центру по вертикали — слайдер
и текст теперь на одной линии, хитбокс совпадает с визуалом.
ЛИЦО ОТЦА:
- Голова была просто кубом скин-цвета. Теперь у отца:
* 2 глаза (белая склера 0.038×0.025×0.005 + тёмный зрачок
0.018×0.018×0.005 поверх) — реально видно куда смотрит.
* Брови 0.045×0.012 материалом mat_hair (тёмные).
* Нос 0.028×0.05×0.035 — выпирает на 0.012м вперёд от лица.
* Рот 0.065×0.012 тёмно-красным mat_mouth.
* Щетина 0.2×0.075 на нижней части лица mat_stubble
(тёмно-серо-коричневый) — мужик не побрился.
* 2 уха 0.025×0.045×0.025 по бокам головы.
- Все элементы — children FatherNPC/Head, наследуют поворот
родителя, остаются на лице при walking-animation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
579df43289
commit
48a992e07a
4 changed files with 135 additions and 10 deletions
|
|
@ -11,6 +11,7 @@ offset_left = 8.0
|
|||
offset_top = 6.0
|
||||
offset_right = 280.0
|
||||
offset_bottom = 22.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
modulate = Color(0.92, 0.92, 0.92, 1)
|
||||
|
||||
|
|
@ -19,6 +20,7 @@ offset_left = 340.0
|
|||
offset_top = 6.0
|
||||
offset_right = 632.0
|
||||
offset_bottom = 22.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
horizontal_alignment = 2
|
||||
modulate = Color(0.94, 0.71, 0.1, 1)
|
||||
|
|
@ -28,6 +30,7 @@ offset_left = 340.0
|
|||
offset_top = 24.0
|
||||
offset_right = 632.0
|
||||
offset_bottom = 40.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
horizontal_alignment = 2
|
||||
modulate = Color(0.75, 0.75, 0.75, 1)
|
||||
|
|
@ -37,6 +40,7 @@ offset_left = 340.0
|
|||
offset_top = 215.0
|
||||
offset_right = 632.0
|
||||
offset_bottom = 231.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
horizontal_alignment = 2
|
||||
modulate = Color(0.7, 0.75, 0.85, 1)
|
||||
|
|
@ -46,6 +50,7 @@ offset_left = 8.0
|
|||
offset_top = 215.0
|
||||
offset_right = 300.0
|
||||
offset_bottom = 231.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
modulate = Color(0.94, 0.71, 0.1, 1)
|
||||
|
||||
|
|
@ -54,7 +59,8 @@ offset_left = 0.0
|
|||
offset_top = 28.0
|
||||
offset_right = 640.0
|
||||
offset_bottom = 42.0
|
||||
text = "WASD ходить · мышь смотреть · ЛКМ взаимодействие · ESC мышь · Q выход"
|
||||
mouse_filter = 2
|
||||
text = "WASD ходить · мышь смотреть · ЛКМ взаимодействие · ESC меню · Q сохранить и выйти"
|
||||
horizontal_alignment = 1
|
||||
modulate = Color(0.45, 0.45, 0.45, 0.8)
|
||||
|
||||
|
|
@ -63,12 +69,14 @@ offset_left = 316.0
|
|||
offset_top = 176.0
|
||||
offset_right = 324.0
|
||||
offset_bottom = 184.0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="CenterDot" type="ColorRect" parent="Crosshair"]
|
||||
offset_left = 3.0
|
||||
offset_top = 3.0
|
||||
offset_right = 5.0
|
||||
offset_bottom = 5.0
|
||||
mouse_filter = 2
|
||||
color = Color(1, 1, 1, 0.85)
|
||||
|
||||
[node name="OuterRing" type="ColorRect" parent="Crosshair"]
|
||||
|
|
@ -76,22 +84,23 @@ offset_left = 0.0
|
|||
offset_top = 0.0
|
||||
offset_right = 8.0
|
||||
offset_bottom = 8.0
|
||||
color = Color(0, 0, 0, 0.4)
|
||||
mouse_filter = 2
|
||||
color = Color(0, 0, 0, 0.4)
|
||||
|
||||
[node name="InnerHole" type="ColorRect" parent="Crosshair"]
|
||||
offset_left = 1.0
|
||||
offset_top = 1.0
|
||||
offset_right = 7.0
|
||||
offset_bottom = 7.0
|
||||
color = Color(0, 0, 0, 0)
|
||||
mouse_filter = 2
|
||||
color = Color(0, 0, 0, 0)
|
||||
|
||||
[node name="PromptLabel" type="Label" parent="."]
|
||||
offset_left = 0.0
|
||||
offset_top = 192.0
|
||||
offset_right = 640.0
|
||||
offset_bottom = 212.0
|
||||
mouse_filter = 2
|
||||
text = ""
|
||||
horizontal_alignment = 1
|
||||
modulate = Color(0.94, 0.71, 0.1, 1)
|
||||
|
|
@ -101,18 +110,22 @@ offset_left = 16.0
|
|||
offset_top = 240.0
|
||||
offset_right = 624.0
|
||||
offset_bottom = 354.0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="V" type="VBoxContainer" parent="SubtitlePanel"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Who" type="Label" parent="SubtitlePanel/V"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
text = "[Я]"
|
||||
modulate = Color(0.94, 0.71, 0.1, 1)
|
||||
|
||||
[node name="Text" type="RichTextLabel" parent="SubtitlePanel/V"]
|
||||
custom_minimum_size = Vector2(590, 60)
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
bbcode_enabled = true
|
||||
text = ""
|
||||
fit_content = true
|
||||
|
|
@ -121,6 +134,7 @@ autowrap_mode = 3
|
|||
|
||||
[node name="Hint" type="Label" parent="SubtitlePanel/V"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
text = "ЛКМ или ПРОБЕЛ — дальше"
|
||||
horizontal_alignment = 2
|
||||
modulate = Color(0.5, 0.5, 0.5, 1)
|
||||
|
|
|
|||
|
|
@ -116,46 +116,64 @@ horizontal_alignment = 1
|
|||
modulate = Color(0.94, 0.71, 0.1, 1)
|
||||
|
||||
[node name="SensRow" type="HBoxContainer" parent="SettingsPanel/V"]
|
||||
custom_minimum_size = Vector2(0, 24)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 8
|
||||
|
||||
[node name="Label" type="Label" parent="SettingsPanel/V/SensRow"]
|
||||
custom_minimum_size = Vector2(150, 0)
|
||||
custom_minimum_size = Vector2(150, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
mouse_filter = 2
|
||||
text = "Чувствительность мыши"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Slider" type="HSlider" parent="SettingsPanel/V/SensRow"]
|
||||
custom_minimum_size = Vector2(140, 18)
|
||||
custom_minimum_size = Vector2(140, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
min_value = 1.0
|
||||
max_value = 10.0
|
||||
step = 0.1
|
||||
value = 2.5
|
||||
|
||||
[node name="Value" type="Label" parent="SettingsPanel/V/SensRow"]
|
||||
custom_minimum_size = Vector2(50, 0)
|
||||
custom_minimum_size = Vector2(50, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
mouse_filter = 2
|
||||
text = "0.0025"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VolRow" type="HBoxContainer" parent="SettingsPanel/V"]
|
||||
custom_minimum_size = Vector2(0, 24)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 8
|
||||
|
||||
[node name="Label" type="Label" parent="SettingsPanel/V/VolRow"]
|
||||
custom_minimum_size = Vector2(150, 0)
|
||||
custom_minimum_size = Vector2(150, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
mouse_filter = 2
|
||||
text = "Громкость"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Slider" type="HSlider" parent="SettingsPanel/V/VolRow"]
|
||||
custom_minimum_size = Vector2(140, 18)
|
||||
custom_minimum_size = Vector2(140, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
min_value = 0.0
|
||||
max_value = 100.0
|
||||
step = 1.0
|
||||
value = 50.0
|
||||
|
||||
[node name="Value" type="Label" parent="SettingsPanel/V/VolRow"]
|
||||
custom_minimum_size = Vector2(50, 0)
|
||||
custom_minimum_size = Vector2(50, 24)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
mouse_filter = 2
|
||||
text = "50%"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Spacer2" type="Control" parent="SettingsPanel/V"]
|
||||
custom_minimum_size = Vector2(0, 10)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue