Unity — Вращение объекта

unityВращение объекта в Unity через скрипт, не такая уж и сложная задача. Я вам больше скажу — это наверное самый маленький пост. В предыдущей статьей мы с вами разобрались как сделать движение персонажа как в мморпг/рпг . Сегодня мы научитесь вращать объект с помощью маленького скрипта в Unity.

Вращение объекта в Unity с помощью скрипта

Для начала определимся с задачей, кого или что будем вращать то… В моем случае требовалось вращать монетки, но я еще так же хотел, чтобы они прыгали (правда в дальнейшем от этого пришлось отказаться), поэтому на объект должна применяться физика. А раз должна применяться физика, то это компонент RigidBody. Давайте пилить наши хотелки в адекватный вид:

  1. Объект должен обладать компонентом RigidBody, чтобы имелась возможность физически на него воздействовать.
  2. Объект должен быть собираемым.
  3. Объект должен вращаться (как никак ради этого мы все это и делаем).

Сложно? Нет, все проще простого. Если это все, чего мы хотим, а в моем случае было именно так, то переходим к созданию такого объекта:

Unity - вращение объекта

Создав объект и придав ему форму, нам необходимо добавить компонент RigidBody, и активировать у него свойство «Is Kinematic», свойство «Use Gravity» в таком случае работать не будет. Поэтому его можно отключить.

Переходя к следующему этапу, нажимаем Add Component в самом низу, листаем меню так в самый низ и нажимаем кнопку «New Script» -> Пишем название скрипта, например «Object Rotator» и нажимаем кнопку «Create and Add». Таким образом ваш скрипт приатачится к объекту, который необходимо вращать. Далее нажимаем на него правой кнопкой мыши и нажимаем кнопку «Edit Script». Откроется редактор, и в нем удаляете все, кроме следующих строчек:

Мы ведь хотим, чтобы тело крутилось каждую долю секунды? В общем вращение объекта делается одной строчкой, которая пишется в метод Update() и выглядит она так:

Итог:

Вот собственно и все! Запускаем плеер в редакторе и убеждаемся в том, что объект вращается вокруг свой оси. Остались вопросы — пишите их в комменты. Группа ВК и Youtube-канал так же к вашим услугам! Спасибо за внимание 🙂

5 комментариев

  1. YourFriendPablo

    Great, I really like it! Youre awesome

    • Vapi

      Thank you.

  2. Сергей

    Скрипт отличный. Но как замедлить скорость вращения?

    • Vapi

      Скорость вращения указана в векторе. В моем случае это 45, чтобы уменьшить скорость, нужно уменьшать именно эту величину.

  3. loiohhackertest

    приветю кто знает как в C# командой сетнуть поворот по Z (код управление поварачивает обьект(3D) по Z)

Лицензионное соглашение

Авторские права публикуемых материалов полностью или частично принадлежат авторам сайта Pechenek.NET в соответствии со статьями 1252 и 1301 ГК РФ. Любое распространение должно быть согласовано с автором материала или с указанием ссылки на первоисточник.