Difference between revisions of "FadedProto:Door"

From Bakery GPU Lightmapper: Wiki
Jump to navigation Jump to search
(Как создать)
(Как создать)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Двери можно открывать, закрывать, отпирать, запирать и подглядывать в них.
 
Двери можно открывать, закрывать, отпирать, запирать и подглядывать в них.
  
=== Как создать ===
+
== Как создать ==
 +
 
 +
=== Самый простой вариант ===
 +
Чтобы не заморачиваться, можно использовать готовый префаб '''doorRedPrefab'''.
 +
 
 +
=== Простой вариант ===
 +
* Создать меш двери с пивотом в косяке и повесить на него коллайдер.
 +
* Повесить компонент '''MakeDoor'''.
 +
* Добавить Box Area Marker, либо меш, помечающий зону [[FadedProto:Navmesh|навмеша]] вокруг двери как Door.
 +
 
 +
==== Настройки компонента MakeDoor ====
 +
* '''Lockable''': можно ли запирать/отпирать.
 +
* '''Watchable''': можно ли посмотреть в щель.
 +
* '''Locked''': заперта ли дверь.
 +
* '''Key''': ключ, подходящий к этой двери.
 +
* '''Override Force''': стоить ли кастомизировать направление пихания двери.
 +
* '''Force''': кастомизированное направление пихания двери.
 +
 
 +
=== Долгий и детальный вариант ===
 
Дверь должна иметь определённую иерархию и набор компонентов:
 
Дверь должна иметь определённую иерархию и набор компонентов:
 
* Родительский объект. На нём обязаны быть компоненты '''Door''' (настройки двери - см. ниже), '''Rigidbody''' (настройки физ. массы), '''HingeJoint''' (настройки джоинта косяка), '''AudioSource''' (настройки распространения звуков от двери) и '''NavDoor''' (настройка взаимодействия [[FadedProto:Person|NPC]] с дверью).
 
* Родительский объект. На нём обязаны быть компоненты '''Door''' (настройки двери - см. ниже), '''Rigidbody''' (настройки физ. массы), '''HingeJoint''' (настройки джоинта косяка), '''AudioSource''' (настройки распространения звуков от двери) и '''NavDoor''' (настройка взаимодействия [[FadedProto:Person|NPC]] с дверью).
Line 7: Line 25:
 
** '''DOORCOLL''': объект с коллайдером.
 
** '''DOORCOLL''': объект с коллайдером.
 
*** '''control''': думми на земле по центру двери.
 
*** '''control''': думми на земле по центру двери.
 +
** '''LOCK''': думми, откуда работает подглядывание.
  
 
Все объекты должны быть на слое '''Door'''.
 
Все объекты должны быть на слое '''Door'''.
 +
 +
==== Настройки компонента Door ====
 +
* '''Locked''': заперта ли дверь.
 +
* '''Sound Open''': звук открытия.
 +
* '''Sound Close''': звук закрытия.
 +
* '''Sound Locked''': звук запертой двери.
 +
* '''Elev Button''': кнопка лифта, если это дверь лифта.
 +
* '''Sliding''': должна ли дверь отъезжать в сторону (как у лифта) вместо обычного открывания. В таком случае Rigidbody компоненту стоит также поставить галку '''Is Kinematic'''.
 +
* '''Auto Close Time''': время, после которого открытая дверь автоматически закрывается. По умолчанию равно -1 (никогда). У лифтов обычно стоит 5.
 +
* '''Key''': ключ, подходящий к этой двери. Игрок и NPC могут отпирать/запирать двери, если у них есть соответствующий ключ. Можно оставить none.
 +
* '''Override Force''': стоить ли кастомизировать направление пихания двери.
 +
* '''Force''': кастомизированное направление пихания двери.
 +
* '''Watchable''': можно ли посмотреть в щель.
 +
* '''Lockable''': можно ли запирать/отпирать.
 +
 +
==== Настройки компонента NavDoor ====
 +
* '''Nav Type''': тип взаимодействия NPC с дверью. Обычно равен '''useDoor'''. Можно менять под лифты, запрыгивание в окна и т. д.
 +
 +
{{note|Если NPC заперт, он будет звать других на помощь. Если у других есть ключ, они смогут выпустить его. Если запертому NPC попадаются на глаза любые ключи, он подбирает их}}

Latest revision as of 23:25, 27 January 2020

Двери можно открывать, закрывать, отпирать, запирать и подглядывать в них.

Как создать

Самый простой вариант

Чтобы не заморачиваться, можно использовать готовый префаб doorRedPrefab.

Простой вариант

  • Создать меш двери с пивотом в косяке и повесить на него коллайдер.
  • Повесить компонент MakeDoor.
  • Добавить Box Area Marker, либо меш, помечающий зону навмеша вокруг двери как Door.

Настройки компонента MakeDoor

  • Lockable: можно ли запирать/отпирать.
  • Watchable: можно ли посмотреть в щель.
  • Locked: заперта ли дверь.
  • Key: ключ, подходящий к этой двери.
  • Override Force: стоить ли кастомизировать направление пихания двери.
  • Force: кастомизированное направление пихания двери.

Долгий и детальный вариант

Дверь должна иметь определённую иерархию и набор компонентов:

  • Родительский объект. На нём обязаны быть компоненты Door (настройки двери - см. ниже), Rigidbody (настройки физ. массы), HingeJoint (настройки джоинта косяка), AudioSource (настройки распространения звуков от двери) и NavDoor (настройка взаимодействия NPC с дверью).
    • Box Area Marker, либо меш, помечающий зону навмеша вокруг двери как Door.
    • DOORCOLL: объект с коллайдером.
      • control: думми на земле по центру двери.
    • LOCK: думми, откуда работает подглядывание.

Все объекты должны быть на слое Door.

Настройки компонента Door

  • Locked: заперта ли дверь.
  • Sound Open: звук открытия.
  • Sound Close: звук закрытия.
  • Sound Locked: звук запертой двери.
  • Elev Button: кнопка лифта, если это дверь лифта.
  • Sliding: должна ли дверь отъезжать в сторону (как у лифта) вместо обычного открывания. В таком случае Rigidbody компоненту стоит также поставить галку Is Kinematic.
  • Auto Close Time: время, после которого открытая дверь автоматически закрывается. По умолчанию равно -1 (никогда). У лифтов обычно стоит 5.
  • Key: ключ, подходящий к этой двери. Игрок и NPC могут отпирать/запирать двери, если у них есть соответствующий ключ. Можно оставить none.
  • Override Force: стоить ли кастомизировать направление пихания двери.
  • Force: кастомизированное направление пихания двери.
  • Watchable: можно ли посмотреть в щель.
  • Lockable: можно ли запирать/отпирать.

Настройки компонента NavDoor

  • Nav Type: тип взаимодействия NPC с дверью. Обычно равен useDoor. Можно менять под лифты, запрыгивание в окна и т. д.
Bulbgraph.pngЕсли NPC заперт, он будет звать других на помощь. Если у других есть ключ, они смогут выпустить его. Если запертому NPC попадаются на глаза любые ключи, он подбирает их