Difference between revisions of "FadedProto:HitObjects"

From Bakery GPU Lightmapper: Wiki
Jump to navigation Jump to search
(Created page with "Некоторые предметы можно сломать ударом или пулей. Для этого на них, помимо коллайдера, вешаютс...")
 
(Готовые компоненты)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Некоторые предметы можно сломать ударом или пулей. Для этого на них, помимо коллайдера, вешаются скрипты, отнаследованные от класса customHitObject.
+
Некоторые предметы можно сломать или активировать ударом или пулей. Для этого на них, помимо коллайдера, вешаются скрипты, отнаследованные от класса customHitObject.
  
=== Готовые компонента для ломания ===
+
=== Готовые компоненты ===
 +
* '''HitChangeModel''': меняет модель объекта при ударе. В иерархии объекта ищутся думми по имени '''DESTRUCT''' - на всех их чилдах включаются MeshRenderer'ы, а на парентах выключаются, т.е. иерархия должна выглядеть так:
 +
** Целый меш
 +
*** DESTRUCT
 +
**** Сломанный меш
 +
* '''HitGlass''': бьющееся стекло. Вешается обычно на квады или скейленные боксы. Стекло разбивается процедурно, начиная от места попадания. На объект также нужно повесить коллайдер AudioSource со звуком разбиения.
 +
* '''HitGlassChild''': при попадании в коллайдер, выключает его и меш, а затем включает все чилды с компонентом HitGlass и бьёт их. Пример: изогнутые стёкла машин, которые заменяются на плоские, а затем бьются.
 +
* '''HitCarSignal''': сигнализация авто, дудит 30 секунд после удара. Созывает к себе всех [[FadedProto:Person|NPC]] с галкой '''Notice Car Alarm'''. Как настроить:
 +
** Повесить компонент на чилд-коллайдер.
 +
** Повесить туда же Audio Source со звуком сирены.
 +
** У родительского объекта коллайдера должен быть ещё один чилд по имени '''AI00''' (думми). Он ставится с переднего краю машины. К этому месту NPC пойдут проверять.
 +
* '''HitExplosive''': взрывается нахрен. Модель сама исчезает. Все другие HitObject'ы в радиусе взрыва также получают удар, ригидбоди отлетают, персонажи получают урон. Настройки:
 +
** '''Dist''': смертельно опасная дистанция. Все попавшие сразу улетают рэгдоллом.
 +
** '''Dist 2''': менее опасная дистанция.  Все попавшие падают с драматической анимацией и могут через некоторое время очнуться.
 +
** '''Force''': сила раскидывания физических объектов.
 +
* '''HitHide''': скрывает объект при ударе.
 +
* '''HitPhysProp''': при ударе наделяет объект физикой, и тот падает (вешает Rigidbody с массой 2). Пример: картина на стене.
 +
* '''HitPhysPropByExplosion''': может сломаться только от взрыва. Становится Rigidbody с указанной массой и падает.
 
* '''HitBreakable''': позволяет сломать объект на части при ударе. Пример: бутылка. Как настроить:
 
* '''HitBreakable''': позволяет сломать объект на части при ударе. Пример: бутылка. Как настроить:
 
** Если коллайдер с компонентом висит на чилде, поставить галку '''Break Parent'''.
 
** Если коллайдер с компонентом висит на чилде, поставить галку '''Break Parent'''.

Latest revision as of 22:38, 26 January 2020

Некоторые предметы можно сломать или активировать ударом или пулей. Для этого на них, помимо коллайдера, вешаются скрипты, отнаследованные от класса customHitObject.

Готовые компоненты

  • HitChangeModel: меняет модель объекта при ударе. В иерархии объекта ищутся думми по имени DESTRUCT - на всех их чилдах включаются MeshRenderer'ы, а на парентах выключаются, т.е. иерархия должна выглядеть так:
    • Целый меш
      • 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 и звуками.