This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Player Actor

Player Actor — это камера с твердым физическим телом, которое аппроксимируется капсулой и обладает физическими свойствами. В отличие от всех других камер, которые могут двигаться в любом направлении, Player Actor может ходить только по земле.

Ориентация просмотраPlayer Actor в пространстве определяется 2 углами — theta и phi — и вектором up, который обычно совпадает с направлением оси Z:

  • При изменении угла theta изменяется вертикальное направление обзора Player Actor.
  • При изменении угла phi изменяется горизонтальное направление обзора и базис Player Actor.

Player Actor, аппроксимированный капсулой

Примечание
Поскольку любое преобразование камеры вынуждает ее пересчитывать свое внутреннее состояние (положение, направление, углы и так далее), направление вверх экрана обзора камеры может стать отрицательным значением по оси, направленной вперед. И затем трансформация будет пересчитана с использованием этого направления, переворачивая базис камеры. Чтобы избежать такого переворачивания, углы theta и phi должны быть пересчитаны с использованием текущей ориентации обзора камеры.

Если вам нужно, чтобы Player Actor плавно поднимался и спускался по лестнице, не застревая на каждой ступеньке, вам следует настроить радиус капсулы, аппроксимирующей игрока. Или вы можете аппроксимировать лестницу плоскостью: в этом случае капсула может быть любого радиуса.

Высота капсулы игрока также должна быть корректно настроена, чтобы избежать застревания в дверном проеме.

Player Actor можно использовать для создания вида от первого лица. Также Player Actor можно использовать в паре с Player Persecutor для создания вида от третьего лица (см. Соответствующие примеры в SDK).

Смотрите также#

  • Класс PlayerActor для управления Player Actor через API
  • Набор сэмплов, расположенных в папке <UnigineSDK>/data/samples/players/:
    • actor_00
    • actor_01

Вычисление столкновений#

Когда для Player Actor не применяется твердое тело, для вычисления столкновений используется простой Body Dummy с формой капсулы:

  1. Все контакты с формой найдены.
  2. Player Actor выталкивается из объектов, с которыми он столкнулся, вдоль нормали в точке контакта (здесь также учитывается глобальный коэффициент проникновения). По сути, это сумма всех векторов нормалей найденных контактов.
  3. Вычисляется изменение скорости: вектор начальной скорости проецируется на каждую нормаль контакта (вычисляется точечное произведение), и результат вычитается из начальной скорости.

Создание Player Actor#

Чтобы создать камеру Player Actor, выполните следующие действия:

  1. В строке меню выберите Create -> Camera -> Actor.

  2. Разместите камеру где-нибудь в мире и укажите необходимые параметры через окно Parameters.

Редактирование Player Actor#

В разделе Player Actor вкладки Node вы можете настроить основные параметры камеры: битовые маски, параметры пирамиды видимости и материалы для последующей обработки, а также конкретные параметры камеры, описанные ниже.

Параметры Player Actor

Физические параметры#

Physical Включение и выключение твердого тела Player Actor. Включение этого параметра позволяет камере как физическому объекту взаимодействовать с окружающей средой.
Physical Mass Физическая масса камеры. Если g (сила тяжести Земли) равна 9.8 m/s^2, а 1 юнит равен 1 метру, масса измеряется в килограммах.
Physical Mask Битовая маска, определяющая взаимодействие камеры с физическими объектами.
Physics Intersection Mask Битовая маска, определяющая пересечение физики игрока с другими объектами.
Collision Включение и выключение способности игрока сталкиваться с другими объектами.
Collision Mask Битовая маска, определяющая ноды, с которыми может столкнуться Player Actor.
Collision Radius Радиус капсулы игрока.
Collision Height Высота капсулы игрока.
Min Velocity Скорость Player Actor по умолчанию.
Max Velocity Скорость Player Actor, используемая при движении камеры.
Min Theta Минимальный угол theta (зенитный угол, также известный как угол тангажа), который определяет, как далеко камера может смотреть вверх.
Max Theta Максимальный угол theta (зенитный угол, также известный как угол тангажа), который определяет, как далеко камера может смотреть вниз.
Acceleration Ускорение камеры.
Damping Затухание скорости камеры со временем.
Turning Скорость поворота камеры.
Jumping Коэффициент прыжка. Чем больше значение, тем выше прыгает Player Actor.
Max Step Height Максимальная высота ступени. Значение определяет максимальную высоту поверхности, на которую игрок может сделать шаг. Его можно использовать для подъема и спуска по лестнице и перешагивания через бордюры.
Phi Угол phi (азимутальный угол, также известный как угол рыскания). Этот угол определяет горизонтальное направление обзора, то есть влево или вправо.
Theta Угол theta (зенитный угол, также известный как угол тангажа). Этот угол определяет вертикальное направление обзора, то есть вверх и вниз. Значение ограничивается минимальным и максимальным углом theta.
View Direction Значения X, Y и Z вектора, определяющего, куда направлен взгляд камеры.
Ground Флаг, указывающий на то, что игрок в данный момент стоит на поверхности земли. Этот флаг используется для установки состояния камеры, т.е. воспроизведения соответствующей анимации стояния / ходьбы вместо нахождения в воздухе.
Ceililng Значение, указывающее, касается ли игрок поверхности потолка своей головой.
Num Contacts Количество контактов, в которых участвует капсула игрока.
Последнее обновление: 03.02.2023
Build: ()