FadedProto:HitObjects
Jump to navigation
Jump to search
Некоторые предметы можно сломать или активировать ударом или пулей. Для этого на них, помимо коллайдера, вешаются скрипты, отнаследованные от класса customHitObject.
Готовые компоненты
- HitChangeModel: меняет модель объекта при ударе. В иерархии объекта ищутся думми по имени DESTRUCT - на всех их чилдах включаются MeshRenderer'ы, а на парентах выключаются, т.е. иерархия должна выглядеть так:
- Целый меш
- DESTRUCT
- Сломанный меш
- DESTRUCT
- Целый меш
- HitGlass: бьющееся стекло. Вешается обычно на квады или скейленные боксы. Стекло разбивается процедурно, начиная от места попадания. На объект также нужно повесить коллайдер AudioSource со звуком разбиения.
- HitGlassChild: при попадании в коллайдер, выключает его и меш, а затем включает все чилды с компонентом HitGlass и бьёт их. Пример: изогнутые стёкла машин, которые заменяются на плоские, а затем бьются.
- HitCarSignal: сигнализация авто, дудит 30 секунд после удара. Созывает к себе всех NPC с галкой Notice Car Alarm. Как настроить:
- Повесить компонент на чилд-коллайдер.
- Повесить туда же Audio Source со звуком сирены.
- У родительского объекта коллайдера должен быть ещё один чилд по имени AI00 (думми). Он ставится с переднего краю машины. К этому месту NPC пойдут проверять.
- HitExplosive: взрывается нахрен. Модель сама исчезает. Все другие HitObject'ы в радиусе взрыва также получают удар, ригидбоди отлетают, персонажи получают урон. Настройки:
- Dist: смертельно опасная дистанция. Все попавшие сразу улетают рэгдоллом.
- Dist 2: менее опасная дистанция. Все попавшие падают с драматической анимацией и могут через некоторое время очнуться.
- Force: сила раскидывания физических объектов.
- HitHide: скрывает объект при ударе.
- HitPhysProp: при ударе наделяет объект физикой, и тот падает (вешает Rigidbody с массой 2). Пример: картина на стене.
- HitPhysPropByExplosion: может сломаться только от взрыва. Становится Rigidbody с указанной массой и падает.
- HitBreakable: позволяет сломать объект на части при ударе. Пример: бутылка. Как настроить:
- Если коллайдер с компонентом висит на чилде, поставить галку Break Parent.
- На родительский объект повесить также компонент physBody.
- В physBody поставить галку Breakable.
- В physBody поставить Break Force на силу, требуемую для поломки (у бутылки = 8).
- В physBody указать Sleep если надо, чтобы объект не падал с физикой изначально.
- У объекта должны быть чилды с именами weapon (включённый) и broken (выключенный). При поломке они меняются местами. Внутри broken объекта обычно находятся ещё чилды со своими Rigidbody, physBody и звуками.