он перестал двигаться, когда движение задается через velocity?
Задаю новые координаты через transform.position (0, 1, 0), сразу же замораживаю ротейшн через _rb.freezeRotation = true;
Но объект появляется в заданной позиции и плавно и медленно пытается уйти с платформы... При первом старте всё хорошо, стоит не движется.
Как ещё можно обнулить позицию объекта так, что бы он не перемещался потом, пока не кликнешь по экрану?
velocity
двигать объект на котором есть рб через transfrom - опасно в виду его не предсказуемого поведения в данном случае. либо двигай через rb.MovePosition() и обнуляй его velocity, либо думай как заменить rb
а как это связано? velocity это текущее перемещение объекта
Я объект возвращаю в нулевые координаты и велосити выставляю в нули. А у меня объект продолжает движение, но очень медленно... Буд-то у него осталась инерция.
ну потому что это rb, физикой управлять таким способом - сложно
Хорошо, попробую написать альтернативное что.
сделай на CharacterController но придется реализовать кастомную интеракцию с другими объектами (типа расталкивание других объектов)
Всё куда проще, шар катиться по трассе, максимум выпадает за трассу и падает. Потом возвращение в нулевые координаты и новая генерация локации.
тогда CC полностью закрое все твои потребности
а вращение шара будет анимацией)
Спасибо! Анимацию прикручивать к скорости, что бы реальнее катился?
да, можно через BlendTree в аниматоре сделать)
Обсуждают сегодня