Объект стоящий на крутящемся цилиндре не крутится

Есть цилиндр с размерами 2,0.3,2. Он крутится со случайной скоростью в случайном направлении. На нем есть MeshCollider.

void FixedUpdate()
    {
        cylinder.transform.Rotate(new Vector3(0, speed, 0));
    }

На него сверху с небольшой высоты падает капсула. Падает она засчет Rigidbody. Ну и цилиндр крутится, а стоящая на нем капсула, не крутится, как будто стоит в воздухе, хотя она на нем.


Ответы (1 шт):

Автор решения: Максим Фисман

А с чего он должен крутиться?

Представьте себя на месте капсулы: она упала, под ней объект, он спокойно стоит, не крутясь, так как вращение осуществляется не с помощью физики rigibody. Так с чего же капсуле крутится, если на ее rigidbody ничего не взаимодействует.

Заставить ее крутиться можно 2 способами:

  • Сделать ее дочерней по отношению к цилиндру - плохой способ, так как вращение будет нереалистичным
  • Вращать цилиндр с помощью Rigidbody.MoveRotation, который и является физическим вращением объекта.
→ Ссылка