PragmaGames
@PragmaGames
Увлекаюсь Unity.

Почему Rigidbody вращается по замороженным осям?

Всем привет. Есть такой GameObject
629254cae4240097679172.png
62925556491f4863576897.png
Как видите Оси Y, Z заморожены. Но объект вращается по этим осям. Почему так происходит ?

Сам объект вращается со старта вот таким кодом
protected void FixedUpdate()
{
	_rootRigidbody.angularVelocity = Vector3.right * 100f;
	//_rootRigidbody.AddTorque(_turnVector * _torque, ForceMode.VelocityChange);
}


Изначально он вращается правильно, ошибка начинает проявляется когда меши ног крепятся к телу. У них нет своего Rigidbody. Только MeshCollider. Как видно из второго скрина центр масс так же не смещен. Использую 2021.3.3f1
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
PragmaGames
@PragmaGames Автор вопроса
Увлекаюсь Unity.
При присоединении коллайдера пересчитывается Rigidbody.inertiaTensor, поэтому его стоит выставить вручную, если необходим кастомный поворот.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Потому что RB это про физику, а задание скоростей вручную - нет.
Нормальная работа это Сила -> Ограничения -> Скорости, если ты прыгаешь через голову, то будь добр сам обрабатывать и учитывай ограничения.
Ответ написан
Ваш ответ на вопрос

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

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