Difference between revisions of "FadedProto:Person"
Jump to navigation
Jump to search
(→Настройки компонента) |
(→Настройки компонента) |
||
Line 45: | Line 45: | ||
** '''Energy''': энергия для вселения (0-1). | ** '''Energy''': энергия для вселения (0-1). | ||
** '''Speed''': скорость бега. | ** '''Speed''': скорость бега. | ||
− | ** '''Owner ID''': уникальный номер персонажа, которым помечаются его владения в виде [[FadedProto:Sector|секторов]] (квартира, например). Если персонажи видят в своих владениях других с неправильным ownerID, они считают это преступлением. | + | ** '''Owner ID''': уникальный номер персонажа, которым помечаются его владения в виде [[FadedProto:Sector|секторов]] (квартира, например). Если персонажи видят в своих владениях других с неправильным ownerID, они считают это преступлением. По умолчанию равно 0 (ничем не владеет). |
** '''Lock AI''': отключить AI. | ** '''Lock AI''': отключить AI. | ||
** '''Invisible''': сделать персонажа невидимым для других. | ** '''Invisible''': сделать персонажа невидимым для других. |
Revision as of 17:12, 26 January 2020
Person - любой персонаж (игрок или NPC).
Contents
Как создать
- В сцену бросается заскиненная модель человечка. Скелет должен быть одинаковым и совпадать со скелетом из Мафии. Полная библиотека доступных моделей здесь, можете просить выслать любую.
- На модель вешается компонент Person.
- Опционально на модель вешается компонент с кастомизацией поведения.
Настройки компонента
- Voice: префикс файлов озвучки для стандартных фраз. Доступные варианты:
- sb/ мужской голос 1 (дефолт, будет работать, если оставить строку пустой)
- ep_ мужской голос 2
- gs/ мужской голос 3
- ju/ женский голос
- Idle Anim: имя дефолтной idle анимации (можно оставить пустым)
- Walk Anim: имя дефолтной анимации походки (можно оставить пустым)
- Sex: пол. От него зависят дефолтные анимации и упоминания персонажа другими в фразах.
- Clothes: какую одежду на этом персонаже видят другие, и какой статус он в итоге на них проецирует. Персонажей запоминают по одежде, и если их ищут, то будут отсеивать в первую очередь по ней. Одежда может влиять на роль NPC. Доступные варианты:
- civilCoat: любая неприметная одежда пешехода.
- ggCoat: одежда ГГ.
- cookSuit: одежда повара.
- cookSuit: одежда повара.
- waitressDress: одежда официантки.
- detectiveSuit: одежда детектива. Детективы имеют особые отличия:
- Будучи вызваны по телефону на место преступления, внимательно обследуют все помещения и закутки вокруг него
- Видят гильзы - подбирают их
- Видят видеокассеты - подбирают их
- Видят оружие - при любых обстоятельствах подбирают его и запоминают владельца
- Видят тело - при любых обстоятельствах проверяют его, запоминают и обстоятельства его смерти
- Видят кровь - при любых обстоятельствах проверяют её, запоминают и узнают, чья она
- Пробуют говорить со всеми, кого найдут вокруг места преступления
- Могут выбивать запертые двери
- После обследования места преступления выносят вердикт, подозреваемых добавляют в розыск
- Могут за некоторое время опознавать персонажей из розыска и пытаться их арестовывать
- copSuit: одежда полицейского. Копы имеют особые отличия:
- Имея в инвентаре рацию, могут передавать всем другим копам свои знания
- Могут вызывать подкрепление по телефону
- Будучи вызваны в качестве подкрепления, умеют организовываться, распредяясь по территории
- Умеют обклеивать места преступлений жёлтой лентой при её наличии в инвентаре
- Если держат оружие в руке, никто не удивляется
- Если стоят рядом с трупом, никто не удивляется
- Могут выбивать запертые двери
- Могут за некоторое время опознавать персонажей из розыска и пытаться их арестовывать
- Health: здоровье. Если ниже 50, то персонаж хромает и не может бегать. Если 0, то труп.
- Height: высота коллайдера персонажа.
- Energy: энергия для вселения (0-1).
- Speed: скорость бега.
- Owner ID: уникальный номер персонажа, которым помечаются его владения в виде секторов (квартира, например). Если персонажи видят в своих владениях других с неправильным ownerID, они считают это преступлением. По умолчанию равно 0 (ничем не владеет).
- Lock AI: отключить AI.
- Invisible: сделать персонажа невидимым для других.
- Deaf: отключить персонажу слух.
- Blind: отключить персонажу зрение.
- Hide Warn: отключить влияние персонажа на красную полосу подозрения у игрока.
- Can Mind Control: можно ли в этого персонажа вселяться.
- Navigation Smoothness: чем больше это число, тем резче NPC поворачивается при ходьбе (0.005 - плавно, 0.75 - резко).
- Behaviour: особенности поведения NPC. Доступные варианты:
- staff: персонал какого-либо заведения. Вызывает ближайшего охранника ко всему подозрительному, что находит.
- civil: обычный персонаж. Реакция на раздражители рандомизируется, но чаще в сторону пассивной.
- guard: охранник. Активная реакция на раздражители, проверяет всё подозрительное что видит/слышит. Охранников запоминают остальные и обращаются к ним за помощью.
- patrolRoute: если охранник потерял нарушителя, он совершает обход по этому пути (см. PatrolRoute).
- Forgotten Things Place Name: имя думми в сцене, куда охранники относят подозрительные предметы на хранение, и где их затем все игнорят.
- Auto Lock Doors: автоматически запирать за собой двери после вхождения в них (если есть ключ).
- Violent: делает персонажа киллером. Киллеры пытаются незаметно следовать за своими целями и нападать на них, когда не видят вокруг свидетелей. Любой персонаж, достаточно раздражающий киллера, добавляется в этот список. На многие факторы реакция совпадает с behaviour = guard.
- Ignore Tresspass: не обращать внимания на персонажей, лезущих во все запретные для них места (см. Navmesh).
- Notice Guarded Tresspassers: если ignore tresspass = false, стоит ли обращать внимание на персонажей, лезущих в места с пометкой guarded.
- Notice Car Alarm: реагировать на звуки сигнализации авто.
- Can Evacuate: может ли персонаж просить других эвакуироваться из заведения, если нашёл место преступления в нём.
- React On Phone: должен ли персонаж уметь слышать звонок телефона и отвечать на него.
- Notice Coins: должен ли персонаж замечать монеты.
- Always Pickup Weapons: подбирать увиденное оружие при любых обстоятельствах.
- Dead: является ли персонаж рэгдоллом (необязательно мёртв).
- Dry Death: если персонаж dead, откинулся ли он без истекания кровью. Влияет на наличие следов крови от тела.
- Is Sleeping: если персонаж dead, спит ли он на самом деле. Спящий может проснуться.
- No Fake Call: отключить фейковое вызывание полиции к телу, когда то находится достаточно далеко от игрока.
- Was Hit Hard: был ли персонаж сильно ударен. Влияет только на восприятие детективом.
- Was Shot: был ли персонаж застрелен. Влияет только на восприятие детективом.
- Can Use Clothes: можно ли в этого персонажа переодеться.
- Inventory: список предметов в инвентаре.
- Inventory Ammo: список "патронов" в предметах инвентаря. Если неприменимо, ставим 0. Размер списка обязан быть равен размеру inventory.
- Inventory Parent: используется для совмещения/модификации предметов, можно оставить пустой список нулевого размера.
- Initial Knowledge Names: имена предметов в сцене, о которых персонаж изначально знает. Пока предметами могут быть двери (знание о их запертости).
- Initial Known Guards: имена охранников в сцене, о которых персонаж изначально знает (остальных запоминает глазами по мере игры).
Кастомизация поведения
По умолчанию, персонаж будет просто стоять на месте, если его ничем не раздражать. Для придания индивидуальности/роли, ему назначается второй компонент со скриптом поведения.
Готовые кастомизированные поведения
- IdleGuard: стоит на месте. Если вследствие раздражителей куда-то убежал, то, когда успокоится - возвращается на точку спауна.
- PatrolGuy: в спокойном режиме циклично патрулирует по указанным точкам. Параметры:
- Waypoint Names: имена думми объектов в сцене, по которым персонаж патрулирует. Начинает с той, которая к нему ближе.
- Dist: на какую дистанцию подойти к каждой точке.
- Wait Secs: сколько секунд подождать у каждой точки.
- Move Mode: идти или бежать.
Дебаг
Если выделить персонажа во время игры, можно увидеть его текущий маршрут (красная линия - путь, зелёная сфера - точка назначения).