Skip to content

HUD: Анимации

ForserX edited this page May 21, 2024 · 3 revisions

Общее

Система основывается на полноценном отдельном слоте (данный способ решает много проблем с детекторами/скрытием оружия/etc), из-за чего создаётся базовый предмет слота: anim_fake, который нужно засунуть в инвентарь актора (можно при спавне).

anim_fake

  • misc/anim_slot.ltx
[anim_fake]:identity_immunities
class = F_ANMITM
slot = 22
can_trade = false
can_take = true
cost = 0
inv_weight = 0
inv_name = "animfake"
inv_name_short = "animfake"
default_to_ruck = false
sprint_allowed = true

; hud sect
animation_slot = 2
control_inertion_factor = 1
hud_fov = 45
hud = anim_fake

; For Debug
inv_grid_width		= 1
inv_grid_height		= 1
inv_grid_x		= 11
inv_grid_y		= 9

visual = dynamics\devices\dev_aptechka\dev_aptechka_low.ogf ; unused

; Hud attach
item_visual = dynamics\devices\dev_aptechka\dev_aptechka_low.ogf ; unused
attach_place_idx = 0

hands_position = 0, 0, 0
hands_orientation = 0, 0, 0
hands_position_16x9 = 0, 0, 0
hands_orientation_16x9 = 0, 0, 0

aim_hud_offset_pos = 0, 0, 0
aim_hud_offset_rot = 0, 0, 0
aim_hud_offset_pos_16x9 = 0, 0, 0
aim_hud_offset_rot_16x9 = 0, 0, 0

gl_hud_offset_pos = 0, 0, 0
gl_hud_offset_rot = 0, 0, 0
gl_hud_offset_pos_16x9 = 0, 0, 0
gl_hud_offset_rot_16x9 = 0, 0, 0

item_position = 0, 0, 0
item_orientation = 0, 0, 0

Из интересного тут только параметр hud_fov, т.к. большая часть остальных переопределяется в секциях анимаций.

Параметры анимации

Секция строится следующим образом:

[my_hud_anim]
hands_position         = -0.0055,-0.05, 0.32         ; Позиция рук
hands_orientation      = -0.500000,1.000000,1.149999 ; Поворот рук
hands_position_16x9    = -0.0055,-0.05, 0.32         ; Позиция рук (16x9)
hands_orientation_16x9 = 2.349998,2.749999,2.849998  ; Поворот рук (16x9)

item_position          = 0.000075,-0.004612,0.001283 ; Позиция предмета 
item_orientation       = 0.045015,1.047468,0.056850  ; Поворот предмета 

item_visual            = dynamics\weapons\wpn_eat\injectors\wpn_injector_big_antirad_hud.ogf ; Модель худ-анимации
anm_use                = antirad_hands_eat_invtrans, antirad_wpn_eat                         ; Проигрываемая анимация (для предметов, не являющихся едой - можно указывать своё название)
attach_place_idx       = 0
  • Так же есть поддержка анимации использования предметов. Для этого достаточно содержимое секции выше перенести в секцию предмета

Проигрывание анимации

Если Вам нужно проиграть анимацию (кроме момента, с использование предмета), то можно вызвать луа функцию:

animslot::play("my_hud_anim", "anm_use")
Clone this wiki locally