Задать вопрос
Gromer-Top
@Gromer-Top

Какой способ передвижения в 2d top down игре использовать?

Какой способ передвижения использовать.
Как реализовать это движение.
Из идей это добавить коллайдер, без rigidbody, и просчитывать в ручную коллизию.
А вот как реализовать, под вопросом. Просто изменение координаты, не хочется делать. А ускорение как придавать, не знаю..
  • Вопрос задан
  • 166 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
@DrRen7
Ну просто коллайдер для rb не будет не обрабатывать события триггера и коллизии. Есть Character Controller там все есть.

ну а ускорение сделать легко
float _currentSpeed; // текущая скорость
float _targetMoveSpeed; //нужная скорость
float _moveSpeed=5f; // заданная скорость
float _moveAcceleration=25f; //дельта линейного ускорения
Vector2 _inputMove; // инпут
void Update()
{
InputUpdate();
Move();
}
void InputUpdate()
{
_inputMove.Set(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
}

void Move()
{
_targetMoveSpeed=_inputMove.magnitude*_moveSpeed; //нужная скорость
_currentSpeed = Mathf.MoveTowards(_currentSpeed, _targetMoveSpeed, _moveAcceleration * Time.deltaTime); //линейное изменение скорости
}

тут только просчет ускорения далее _currentSpeed надо домножить на вектор перемещения ну и писал тут так что могут быть опечатки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы