Player Actor
Player Actor — это камера с твердым физическим телом, которое аппроксимируется капсулой и обладает физическими свойствами. В отличие от всех других камер, которые могут двигаться в любом направлении, Player Actor может ходить только по земле.
Ориентация просмотраPlayer Actor в пространстве определяется 2 углами — theta и phi — и вектором up, который обычно совпадает с направлением оси Z:
- При изменении угла theta изменяется вертикальное направление обзора Player Actor.
- При изменении угла phi изменяется горизонтальное направление обзора и базис Player Actor.
Если вам нужно, чтобы 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 с формой капсулы:
- Все контакты с формой найдены.
- Player Actor выталкивается из объектов, с которыми он столкнулся, вдоль нормали в точке контакта (здесь также учитывается глобальный коэффициент проникновения). По сути, это сумма всех векторов нормалей найденных контактов.
- Вычисляется изменение скорости: вектор начальной скорости проецируется на каждую нормаль контакта (вычисляется точечное произведение), и результат вычитается из начальной скорости.
Создание Player Actor#
Чтобы создать камеру Player Actor, выполните следующие действия:
- В строке меню выберите Create -> Camera -> Actor.
- Разместите камеру где-нибудь в мире и укажите необходимые параметры через окно Parameters.
Редактирование Player Actor#
В разделе Player Actor вкладки Node вы можете настроить основные параметры камеры: битовые маски, параметры пирамиды видимости и материалы для последующей обработки, а также конкретные параметры камеры, описанные ниже.
Физические параметры#
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 | Количество контактов, в которых участвует капсула игрока. |