CharacterController - это удобный встроенный компонент Unity для управления персонажем в 3D без сложной физики Rigidbody. Он помогает легко реализовать движение, обработку столкновений и взаимодействие с окружением.
Основные возможности:
Перемещение персонажа через методы Move() и SimpleMove(), с автоматической обработкой столкновений.
Использует капсулу для определения границ персонажа - персонаж не проходит сквозь стены и объекты.
Настройки:
🌟Slope Limit - максимальный угол подъёма.
🌟Step Offset - высота, которую можно автоматически преодолеть.
🌟Skin Width - небольшой запас для предотвращения залипания.
Персонаж не вращается под действием физики - сохраняет вертикальное положение.
Как начать использовать:
Добавьте компонент CharacterController к вашему персонажу.
В скрипте получите ссылку на компонент:
private CharacterController controller;
void Start() {
controller = GetComponent<CharacterController>();
}
Перемещайте персонажа так:
Vector3 moveDirection = new Vector3(inputX, 0, inputZ);
controller.SimpleMove(moveDirection * speed);
SimpleMove учитывает гравитацию и время автоматически, а Move требует ручного управления.
Плюсы CharacterController:
🌟Легко использовать и быстро настроить.
🌟Отлично подходит для платформеров, шутеров и приключений.
🌟Встроенная обработка столкновений без лишних сложностей.
Ограничения:
Не подходит для реалистичной физики персонажа.
Вращение и прыжки нужно реализовывать самостоятельно.
Полезные ссылки для изучения:
📚 Официальная документация Unity
Если нужны примеры скриптов или помощь с настройками - пишите в комментариях! ⬇️
#Unity #GameDev