Рой (boids)#
Ссылка
- Панель:
- Тип (type):
Рой (boids)
Системы частиц рои“ контролируются ограниченным искусственным интеллектом, который можно запрограммировать на следование основным правилам и поведению. Они идеально подходят для моделирования стай, роёв, стад и косяков различных видов животных, насекомых и рыб или симуляции хищников и жертв. Они могут реагировать на присутствие других объектов и на членов своей системы. Рои“ могут обрабатывать только определённое количество информации, поэтому последовательность правил «сознания роя» очень важна. В определённых ситуациях оцениваются только первые три параметра.
Движение (movement)#
Ссылка
- Панель:
Рои“ стараются избегать объектов с активированным «столкновением». Они пытаются достичь целевых объектов и отлетают от «хищников» согласно настройкам «сознания роя».
Рои“ могут иметь разную физику в зависимости от того, находятся ли они в воздухе или на земле (на объекте столкновения).
- Разрешить полёт (allow flight)
Позволить роям двигаться в воздухе.
- Разрешить землю (allow land)
Разрешить роям передвигаться по земле.
- Разрешить взбираться (allow climbing)
Разрешить роям взбираться по целевым объектам.
- Максимальная скорость в воздухе (max air speed)
Установить максимальную скорость в воздухе.
- Минимальная скорость в воздухе (min air speed)
Установить минимальную скорость в воздухе.
- Максимальное ускорение в воздухе (max air acceleration)
Боковое ускорение в воздухе, процент от максимальной скорости (поворот). Определяет, насколько быстро рой может менять направление.
- Максимальная угловая скорость в воздухе (max air angular velocity)
Касательное ускорение в воздухе, процентов от 180 градусов. Определяет, насколько рой может внезапно ускориться, чтобы соблюсти правило.
- Персональное воздушное пространство (air personal space)
Радиус личного пространства единицы в воздухе. Процент от размера частиц.
- Мягкость приземления (landing smoothness)
Как плавно приземляются рои“.
- Максимальная скорость на земле (max land speed)
Установить максимальную скорость на земле.
- Скорость прыжка (jump speed)
Максимальная скорость для прыжков.
- Максимальное ускорение на земле (max land acceleration)
Боковое ускорение на земле, в процентах от максимальной скорости (поворот). Определяет, насколько быстро рой может менять направление.
- Максимальная угловая скорость на земле (max land angular velocity)
Касательное ускорение на земле, процентов от 180 градусов. Определяет, насколько рой может внезапно ускориться, чтобы соблюсти правило.
- Персональное пространство на земле (land personal space)
Радиус личного пространства единицы на суше. Процент от размера частиц.
- Усилие на рулевую колонку на земле (land stick force)
Насколько высокой должна быть сила, чтобы начать воздействовать на рой на земле.
- Коллекция столкновений (collision collection)
Столкновения только с объектами из этой коллекции.
Сражение (battle)#
Ссылка
- Панель:
- Здоровье (health)
Исходное здоровье роя при рождении.
- Сила (strength)
Максимально наносимый урон при атаке в секунду.
- Агрессия (aggression)
Рой будет сражаться сильнее врага «на столько раз».
- Точность (accuracy)
Точность атаки.
- Диапазон (range)
Максимальное расстояние, на котором рой может атаковать.
Прочее#
Ссылка
- Панель:
- Разворот (banking)
Величина вращения относительно вектора скорости на поворотах. Разворот равный 1.0 даёт эффект естественного разворота.
- Наклон (pitch)
Величина вращения вокруг бокового вектора.
- Высота (height)
Высота роя относительно размера частиц.
Отношения (relations)#
Ссылка
- Панель:
- Цель (target)
Это поле со списком позволяет вам настроить другие системы частиц для взаимодействия с роями.
- Целевой объект (target object)
Идентификатор данных для выбора объекта с включённой системой частиц.
- Система (system)
Индекс системы частиц объекта, установленного в поле списка на панели частиц.
- Режим (mode)
- Враждебность (enemy)
Установка типа враждебность заставит системы сражаться друг с другом.
- Дружественность (friend)
Заставит системы работать вместе.
- Нейтральность (neutral)
Не заставляет их объединяться или сражаться друг с другом.
Отклонение (deflection)#
Рои“ будут стараться избегать объекты отклонения в соответствии с правилом «веса» столкновения. Лучше всего это работает для выпуклых поверхностей (для вогнутых поверхностей потребуется некоторая работа).
Силовые поля (force fields)#
Как и другие типы физики, рои“ также подвержены влиянию внешних силовых полей.
Кроме того, с физикой роёв можно использовать специальные силовые поля роя. Этими эффекторами могут быть хищники (положительная «сила»), которых рои“ стараются избегать, или цели (отрицательная «сила»), которых рои“ пытаются достичь в соответствии с правилами «сознания роя» – «избегать» и «цель».
Сознание роя (boid brain)#
Ссылка
- Панель:
Панель «сознание роя» контролирует, как частицы роёв будут реагировать друг с другом. Поведение роёв контролируется списком правил. Может быть обработан только определённый объём информации в списке. Если объём памяти превышен, остальные правила игнорируются.
По умолчанию правила анализируются по списку сверху вниз (что даёт явные приоритеты), и порядок можно изменить с помощью маленьких кнопок со стрелками с правой стороны.
- Расчёт правил (rule evaluation)
Существует три способа управления расчётом правил:
- Средний (average)
Все правила усреднены.
- Случайно (random)
Для каждого роя выбирается случайное правило.
- Нечётко (fuzzy)
Использует нечёткую логику для расчёта правил. Правила проходят сверху вниз. Рассчитываются только первое правило, действие которого превышает порог «нечёткости правила». Значение должно учитывать, насколько сильно рой будет стараться соблюдать данное правило (значение 1 означает, что рой всегда будет его придерживаться, значение 0 означает, что никогда). Если рой одновременно удовлетворяет более чем одно конфликтующее условие, он попытается выполнить все правила в соответствии с «весом» каждого из них.
Примечание
Данный рой будет стараться изо всех сил соблюдать каждое из данных ему правил, но более чем вероятно, что в некоторых случаях какое-то правило будет иметь приоритет над другими. Например, чтобы избежать хищника, рой, вероятно, мог бы «забыть» о правилах «столкновения», «разделения» и «стада», а это означает, что «в панике» он вполне может столкнуться с препятствиями, например даже если в большинстве случаев ему приказано не делать этого.
- В воздухе (in air)
Текущее правило распространяется на рой в полёте.
- На земле (on land)
Текущее правило распространяется на рой, пока он не летает.
Правило «цель» (goal)#
Стремиться к цели.
- Объект (object)
Указывает целевой объект. Если не указано – в качестве целей используются силовые поля роя с отрицательной «силой».
- Предсказание (predict)
Прогнозировать движения цели.
Правило «избегать» (avoid)#
Избегать «хищников».
- Объект (object)
Указывает объект, которого следует избегать. Если не указано – в качестве хищников используются силовые поля роя с положительной «силой».
- Предсказание (predict)
Прогнозировать движения цели.
- Коэффициент страха (fear factor)
Избегать объект, если опасность от него превышает этот порог.
Правило «избегать столкновений» (avoid collision)#
Избегать объекты с активированным «отклонением».
- Рой (boids)
Избегать столкновений с другими роями.
- Отражатели (deflectors)
Избегать столкновений с объектами-отражателями.
- Предусмотрительность (look ahead)
Время в секундах, чтобы заглянуть вперёд.
Правило «разделение» (separate)#
Рои“ отдаляются друг от друга.
Правило «стадо» (flock)#
Копировать движения соседних единиц, но избегать друг друга.
Правило «следовать за лидером» (follow leader)#
Следует за объектом-лидером, а не за роем.
- Расстояние (distance)
Расстояние позади лидера, которого следует придерживаться.
- Линия (line)
Следовать за лидером в линию.
- Размер очереди (queue size)
Сколько единиц может следовать в линию.
Правило «средняя скорость» (average speed)#
Поддерживать среднюю скорость.
- Скорость (speed)
Процент максимальной скорости.
- Блуждание (wander)
Насколько быстро рандомизируется направление скорости.
- Уровень (level)
Насколько компонент скорости Z остаётся постоянным.
Правило «борьба» (fight)#
Двигаться к ближайшим роям.
- Расстояние сражения (fight distance)
Атаковать рои на этом максимальном расстоянии.
- Расстояние перемещения (flee distance)
Отступать на это расстояние.