Учебное пособие по Unity — вращающийся 3D-куб за 10 минут

Изменить сценарий

Теперь заставим куб вращаться.

  • Дважды щелкните скрипт SpinCube в окне Проект. Это автоматически запустит Visual Studio. Выполнение этого в первый раз может занять некоторое время.

    Окно проекта в Unity с выделенным скриптом

  • Дважды щелкните скрипт SpinCube в окне Проект. Это автоматически запустит Visual Studio Code. Выполнение этого в первый раз может занять некоторое время.

    Окно проекта в Unity с выделенным скриптом

  • После полной загрузки Visual Studio должна выглядеть примерно так:

    Окно редактора Visual Studio, показывающее автоматически сгенерированный код

    В созданном коде C# должны отображаться два метода:

    • Start(): метод, который запускается один раз при создании куба в 3D-сцене.
    • Update(): метод, который запускается один раз для каждого кадра объекта, который 3D-модуль рисует на экране. Это означает, что он запускается каждый раз, когда модуль хочет выяснить, где должен быть куб в сцене.
  • После полной загрузки служба Visual Studio Code должна выглядеть примерно так:

    Окно редактора Visual Studio Code, показывающее автоматически сгенерированный код

    В созданном коде C# должны отображаться два метода:

    • Start(): метод, который запускается один раз при создании куба в 3D-сцене.
    • Update(): метод, который запускается один раз для каждого кадра объекта, который 3D-модуль рисует на экране. Это означает, что он запускается каждый раз, когда модуль хочет выяснить, где должен быть куб в сцене.

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

  • Вставьте выделенную строку кода над методом Start. Этот код создает общедоступный Вектор 3 с координатами x,y,z, который будет управлять вращением в трехмерном пространстве.

    C#
    public Vector3 RotateAmount;
    // Start is called before the first frame update
    void Start()
    {
  • Затем добавьте выделенную строку кода в метод Update. У каждого игрового объекта в Unity есть скрипт Transform, который определяет, где он находится в 3D-пространстве, и его вращение в 3D-пространстве. Здесь вы будете использовать метод Rotate и указывать величину поворота, которую вы хотите произвести на этом игровом объекте.

    C#
    // Update is called once per frame
    void Update()
    {
    	transform.Rotate(RotateAmount);
    }
  • Нажмите CTRL + S, чтобы сохранить изменения в Visual Studio.
  • Нажмите CMD + S, чтобы сохранить изменения в Visual Studio Code.
  • Теперь вернитесь в редактор Unity и снова выберите объект Cube в окне Hierarchy.

  • В окне Inspector вы должны обнаружить, что созданная вами переменная Public теперь видна под новым скриптом, который вы добавили в куб.

    Компонент вращающегося куба, показывающий редактируемые значения x, y, z в окне Unity Inspector

  • Измените значение Y на 1, а затем нажмите кнопку воспроизведения вверху и в центре редактора Unity.

    Кнопка воспроизведения в редакторе Unity

    Поскольку метод Update запускается в каждом кадре, вы увидите, что куб будет поворачиваться на единицу для каждого кадра. Не стесняйтесь поразвлекаться, изменяя эти значения. Теперь вы готовы создать игру для разных платформ.

Продолжить