Понедельник, 25 Ноября 2024, 02:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
идеальный Character Controller
nikДата: Среда, 19 Марта 2014, 13:41 | Сообщение # 1
just nik
Сейчас нет на сайте
с самого начала пользования Unity я пытаюсь найти альтернативы стандартному Character Controller'у
и конечно же без результата не остался..

Рассмотрим три варианта контроллеров, от самого простого до самого навороченного smile

Вариант 1.
стандартный Character Controller удобен, легко настраивается, но не является физическим объектом, то есть нельзя взаимодействовать с физическими объектами (RigidBody) и это его самый большой минус..

Вариант 2.
Придумал как только начал экспериментировать с RigidBody.
В коде контроллера я создал правило что если коллизия считывает столкновения не выше положенного места (то есть самого дна капсулы) то контроллер считается на земле, если бы я этого не сделал то игрок мог бы спокойно лазить по стенам и горам..
небольшой минус: для передвижения используется rigidbody.AddForce (); то есть контроллер отталкивается не от поверхности на которой он находиться.

Вариант 3.
По моему самый реалистичный вариант из всех.
RigidBody капсула совместно со RigidBody сферой.
вот как он устроен:
У капсулы отключены вращения, капсула является дочерним объектом сферы. у сферы стоит компонент Configurable Joint c привязкой к капсуле.
Движения производятся с помощью изменения скорости вращения сферы (rigidbody.angularVelocity) для более быстрого перемещения был изменен параметр максимальной скорости вращения (rigidbody.maxAngularVelocity). для хорошего сцепления с поверхностями я создал новый физический материал с увеличенным трением.
В результате был получен полностью рабочий физический контроллер. его можно сбивать, двигать на платформах и т.д.



Надеюсь данная информация будет вам полезна cool


BridgeGamingTeam

Сообщение отредактировал nik - Среда, 19 Марта 2014, 13:44
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг