Menu
CoddyTech

Двигай каждый кадр

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 10 из 85.

Unity вызывает Update() один раз для каждого отображаемого кадра. Немного измените в нём положение, и объект будет понемногу перемещаться с каждым кадром, что на экране выглядит как плавное движение.

Оператор += для положения прибавляет к нему Vector3: каждое из значений x, y и z увеличивается на соответствующее число. Этот воздушный шар поднимается на 0.02 единицы с каждым кадром и остаётся на месте по x и z:

void Update()
{
    transform.position += new Vector3(0, 0.02f, 0);
}

f — это суффикс C# для типа float, который вы уже знаете: Unity работает с типом float, а число 0.02 само по себе было бы типа double. При 60 кадрах в секунду воздушный шар поднимается на 0.02 x 60 = 1.2 единицы каждую секунду.

challenge icon

Задание

Легко

Заставь красную машину ехать вперёд.

  1. В Update() добавь new Vector3(0, 0, 0.05f) к transform.position с помощью +=.
  2. Оставь x и y равными 0: машина движется только вдоль z.

Нажми «Играть»: машина уезжает от камеры. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;

public class CarMover : MonoBehaviour
{
    void Update()
    {
        // Здесь переместите машину вперёд вдоль оси z
    }
}

Все уроки раздела Основы скриптинга в Unity

Потренируйтесь самостоятельно: Песочница Unity