Что это: Компонент вьюшки руки: вешается на префаб подбираемого предмета (тот же, что используется как 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). |
- Рука создаёт экземпляр префаба предмета в Hand Anchor.
- Если на экземпляре (или на детях) есть HandView: применяются Position Offset, Rotation Offset и базовый масштаб Scale In Hand.
- Если HandView нет: позиция и поворот = 0, базовый масштаб = 1.
- Поверх базового масштаба применяется общий масштаб руки: Scale In Hand Mode = Fixed → множитель Hand Scale Fixed; Relative → множитель (1 + Hand Scale Offset).
- Итог:
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 (тот же префаб показывается в руке).