Как сделать управление 3д персонажем с помощью Rigidbody в unity?
Всем привет! Учусь работать с unity и хочу сделать свою небольшую простенькую паркур игру. Но не могу сделать подходящее управление. Сначала делал на CharacterController, но он все же не совсем подошел, пришел к выводу, что лучше сделать будет наверное с помощью RigidBody, но как создать нормальное управление я не понимаю. Делал с помощью RigidBody.velocity и AddForce(), но оно работает некорректно. Делать перемещение с помощью изменения локальной позиции (transform.localPosition) тоже не хочется, так как при столкновении со стенами персонаж начинает трястись. Можете ли подсказать пожалуйста какое-то подходящее решение к этой проблеме? Чтобы реализовать классное передвижение и при столкновении с объектами персонажа не трясло и при этом была адекватная физика. Заранее спасибо!
K0TlK, когда начинаю двигаться, персонаж, во-первых, начинает скользить по земле, во-вторых, скорость увеличивается и персонаж буквально улетает за пределы платформы. Наверное скорее всего я что-то не так делаю
vkvk, Ну да, когда тебе нужна постоянная скорость, ты делаешь rigidbody.velocity = velocity, если нужно разгоняться на определенную скорость, то rigidbody.velocity += velocity. Ты скорее всего делаешь второе, ожидая увидеть первое. Если через AddForce делаешь, то прочитай название метода - Add = добавить, ты применяешь силу и никак не ограничиваешь скорость, поэтому он у тебя бесконечно разгоняется. В твоем случае, тебе нужно либо через velocity делать передвижение либо напрямую изменять позицию через rigidbody.MovePosition. Про AddForce забудь, он здесь не нужен.