Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 3.62 KB

File metadata and controls

42 lines (27 loc) · 3.62 KB

HandView

Что это: Компонент вьюшки руки: вешается на префаб подбираемого предмета (тот же, что используется как WorldDropPrefab в InventoryItemData). InventoryHand при отображении предмета в руке ищет Ha...

Как использовать: см. разделы ниже.


Компонент вьюшки руки: вешается на префаб подбираемого предмета (тот же, что используется как WorldDropPrefab в InventoryItemData). InventoryHand при отображении предмета в руке ищет HandView на экземпляре и применяет заданные смещение позиции, поворота и базовый масштаб; поверх применяется общий масштаб руки (дельта или фиксированный).

Назначение

  • Задать, как именно этот предмет выглядит в руке: сдвиг, поворот, размер.
  • Разные предметы могут иметь разную «посадку» в руке без правки кода.
  • Масштаб: сначала базовый масштаб из HandView (Scale In Hand), затем общий масштаб руки (режим Fixed или Relative). При использовании HandView удобнее режим Relative (дельта поверх масштаба вьюшки).

Поля

Поле Описание
Position Offset Смещение позиции предмета относительно точки руки (локальные координаты Hand Anchor).
Rotation Offset Смещение поворота в градусах (Euler X, Y, Z).
Scale In Hand Базовый масштаб этого предмета в руке (1 = без изменения). Итоговый масштаб = Scale In Hand × общий масштаб руки (Fixed или 1 + Offset).

Порядок применения в InventoryHand

  1. Рука создаёт экземпляр префаба предмета в Hand Anchor.
  2. Если на экземпляре (или на детях) есть HandView: применяются Position Offset, Rotation Offset и базовый масштаб Scale In Hand.
  3. Если HandView нет: позиция и поворот = 0, базовый масштаб = 1.
  4. Поверх базового масштаба применяется общий масштаб руки: Scale In Hand Mode = Fixed → множитель Hand Scale Fixed; Relative → множитель (1 + Hand Scale Offset).
  5. Итог: localScale = baseScale * handScale.

Пример

  • На префабе меча добавьте HandView: Position (0, 0, 0.2), Rotation (0, 90, 0), Scale In Hand = 1.
  • В InventoryHand оставьте режим Relative, Hand Scale Offset = 0 — все предметы в натуральный размер из вьюшки. Чтобы чуть уменьшить все предметы в руке, задайте Hand Scale Offset = −0.1.

Связанные компоненты

  • InventoryHand — читает HandView с экземпляра и применяет офсеты и масштаб.
  • InventoryItemData.WorldDropPrefab — префаб, на который вешается HandView (тот же префаб показывается в руке).