Как применять методы RigidBody в Unity. С# (Си Шарп) программирование в Unity
Привет! Школа программирования для детей “Пиксель” продолжает делиться бесплатными уроками по Unity для начинающих. В них мы учимся создавать игры в Unity и писать скрипты на языке программирования C# (Си Шарп). На этот раз мы разберем методы RigidBody в Юнити. Мы рассмотрим методы AddForce, MovePosition, MoveRotation.
Подробную видеоинструкцию вы найдете в конце материала.
Для начала подготовим сцену. Создаем Plane и Cube. Добавляем Rigidbody.
Создаем скрипт. Называем его PlayerControl.
Метод AddForce в Unity
Метод AddForce прикладывает силу к физическому объекту.
Объявляем две переменные, в speed записываем силу толчка и создаем переменую типа RigidBody. В start назначаем компонент.
Update переименовываем на FixedUpdate и внутри него создаем метод AddForce. В нем текущую позицию умножаем на силу толчка.
Перемещаем скрипт на куб и запрещаем вращение по трем осям.
Запускаем и проверяем.
Метод AddForce лучшего всего подходит для создания прыжка в Unity.
Метод MovePosition в Unity
Метод MovePosition перемещает твердое тело в указанную позицию путем расчета соответствующей скорости, требуемой для передвижения твердого тела в эту позицию на протяжении следующего физического обновления. На протяжении движения ни гравитация, ни линейное торможение не будет влиять на тело.
Переименовываем метод AddForce на MovePosition. В нем к текущей позиции прибавляем, куда будет двигаться объект, и умножаем на сглаживание.
Метод MoveRotation в Unity
Метод MoveRotation поворачивает объект вокруг заданной оси. Тут мы используем Quaternion.Euler — он возвращает или задает представление угла Эйлера для поворота.
Углы Эйлера могут представлять трехмерное вращение, выполняя три отдельных вращения вокруг отдельных осей. В Unity эти вращения выполняются вокруг оси Z, оси X и оси Y в указанном порядке. Контролировать вращение мы будем с помощью Vector3, в нем мы укажем нужную ось поворота.
OnCollisionEnter — вызывается, когда два твердых тела или коллайдера соприкоснулись. OnCollisionStay — вызывается когда два твердых тела или коллайдера соприкасаются. OnCollisionExit — вызывается когда одно твердое тело или один коллайдер вышел из другого коллайдера.
Методы MovePosition и MoveRotation лучше использовать для перемещения объекта в Unity.
На этом наш урок по Юнити подходит к концу. Если вы хотите научиться создавать полноценные игры в Unity, программировать на C# и писать сложные скрипты для своих проектов, приходите к нам на полный курс по разработке игр на Unity 3D. Мы знакомим детей 10-14 лет с геймдевом и учим создавать собственные игры. Присоединяйтесь!