Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Контроллер персонажа в основном используется для управления игроком от третьего или первого лица, в котором не используется RigidbodyКомпонент, позволяющий воздействовать на GameObject смоделированной гравитацией и другими силами. Подробнее
См. в Словарь
физика.

Свойства

Свойства: Функции:
Slope Limit Ограничивает коллайдер только теми подъемами, которые менее круты (в градусах), чем указанное значение..
Step Offset Персонаж будет подниматься по лестнице только в том случае, если она находится ближе к земле, чем указанное значение. Это не должно быть больше, чем высота контроллера персонажа, иначе это вызовет ошибку.
Skin width Два коллайдера могут проникать друг в друга на глубину, равную их ширине кожи. Большая ширина кожи уменьшает дрожание. Низкая ширина кожи может привести к тому, что персонаж застрянет. Хорошая настройка — сделать это значение равным 10% от радиуса.
Min Move Distance Если персонаж попытается двигаться ниже указанного значения, он вообще не будет двигаться. Это можно использовать для уменьшения джиттера. В большинстве случаев это значение следует оставить равным 0.
Center Это сместит капсульный коллайдер в мировом пространстве и не повлияет на то, как персонаж поворачивается.
Radius Длина радиуса капсульного коллайдера. По сути, это ширина коллайдера.
Height Капсульный коллайдер персонажаКомпонент коллайдера в форме капсулы, который обрабатывает коллизии игровых объектов, таких как бочки и конечности персонажей. Подробнее
См. в Словарь
. Изменение этого параметра приведет к масштабированию коллайдера по оси Y как в положительном, так и в отрицательном направлениях.
Контроллер персонажа
Контроллер персонажа

Подробнее

Традиционное управление от первого лица в стиле Doom не является физически реалистичным. Персонаж бежит со скоростью 90 миль в час, сразу же останавливается и поворачивается на десять центов. Поскольку это настолько нереально, использование твердых тел и физики для создания такого поведения нецелесообразно и будет казаться неправильным. Решением является специализированный контроллер персонажей. Это просто коллайдер в форме капсулыневидимая форма, которая используется для обработки физических столкновений объекта. Коллайдер не обязательно должен быть точно такой же формы, как сетка объекта — грубое приближение часто бывает более эффективным и неразличимым в игровом процессе. Подробнее
См. в Словарь
, которому можно приказать переместиться в некоторых направление из сценария. Затем контроллер выполнит движение, но будет ограничен столкновениямиСтолкновение происходит, когда физический движок обнаруживает, что коллайдеры двух игровых объектов вступают в контакт или перекрываются, когда хотя бы один из них имеет компонент Rigidbody и находится в движении. Подробнее
См. в Словарь
. Он будет скользить по стенам, подниматься по лестнице (если она ниже Смещения ступени) и ходить по склонам в пределах Предела уклона.

Контроллер не реагирует на силы сам по себе и не отталкивает твердые тела автоматически.

Если вы хотите толкать твердые тела или объекты с помощью контроллера персонажей, вы можете применить силу к любому объекту, с которым он сталкивается, с помощью функции OnControllerColliderHit() с помощью скрипта.

С другой стороны, если вы хотите, чтобы на вашего персонажа влияла физика, вам лучше использовать Rigidbody вместо контроллера персонажа.

Точная настройка вашего персонажа

Вы можете изменить Высоту и Радиус, чтобы они соответствовали сеткеОсновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
. Рекомендуется всегда использовать около 2 метров для человекоподобного персонажа. Вы также можете изменить центр капсулы, если ваша точка поворота не находится точно в центре персонажа.

На это также может повлиять

Смещение шага, убедитесь, что это значение находится в диапазоне от 0,1 до 0,4 для человека ростом 2 метра.

Ограничение наклона не должно быть слишком маленьким. Часто лучше всего использовать значение 90 градусов. Контроллер персонажей не сможет карабкаться по стенам из-за формы капсулы.

Не застрять

Ширина скина — одно из наиболее важных свойств, которое необходимо правильно настроить при настройке контроллера персонажа. Если ваш персонаж застревает, скорее всего, ваша ширина кожи слишком мала. Ширина кожи позволяет объектам слегка проникать в контроллер, но устраняет дрожание и предотвращает его застревание.

Рекомендуется поддерживать значение Ширины кожи не менее 0,01 и не менее 10 % от Радиуса.

Мы рекомендуем оставить Минимальное расстояние перемещения равным 0.

См. ссылку на сценарий контроллера персонажей здесь

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

Советы

  • Попробуйте настроить ширину кожи, если ваш персонаж часто застревает.
  • Контроллер персонажей может воздействовать на объекты с помощью физики, если вы пишете свои собственные скриптыфрагмент кода, который позволяет вам создавать свои собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на действия пользователя любым удобным для вас способом. Подробнее
    См. в Словарь
    .
  • Контроллер персонажа не может быть затронут объектами через физику.
  • Обратите внимание, что изменение свойств контроллера персонажа в инспектореокне Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или проекте настройки, позволяющие просматривать и редактировать значения. Дополнительная информация
    См. в Словарь
    воссоздает контроллер в sceneСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
    См. в Словарь
    , так что любые существующие триггерные контакты будут потеряны, и вы не получать никаких сообщений OnTriggerEntered, пока контроллер не будет снова перемещен.
  • Капсула контроллера символов, используемая в таких запросах, как raycast, может уменьшиться в несколько раз. Таким образом, в некоторых крайних случаях запросы могут отсутствовать, даже если кажется, что они касаются гизмографического наложения контроллера персонажа, связанного с игровым объектом в Сцена и отображается в окне Сцена. Встроенные инструменты сцены, такие как инструмент перемещения, представляют собой гизмо, и вы можете создавать собственные гизмо, используя текстуры или сценарии. Некоторые гизмо отрисовываются только при выборе игрового объекта, в то время как другие гизмо отрисовываются редактором независимо от того, какие игровые объекты выбраны. Подробнее
    См. в Словарь
    .
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3