Двигайте каждый кадр
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 3 из 67.
Unity вызывает Update() один раз для каждого кадра, который она отрисовывает. Немного меняй в нём положение — и объект будет понемногу перемещаться с каждым кадром, что на экране выглядит как плавное движение.
Оператор += прибавляет Vector3 к положению: каждое из значений x, y и z увеличивается на соответствующее число. Этот воздушный шар поднимается на 0.02 единицы с каждым кадром и остаётся на месте по x и z:
void Update()
{
transform.position += new Vector3(0, 0.02f, 0);
}f — это уже знакомый тебе суффикс типа float в C#: Unity работает с типом float, а само по себе значение 0.02 имело бы тип double. При 60 кадрах в секунду воздушный шар поднимается на 0.02 x 60 = 1.2 единицы каждую секунду.
Задание
ЛегкоЗаставь красную машину ехать вперёд: в Update() перемещай её на 0.05 единицы вдоль оси z в каждом кадре. Она не должна двигаться по x или y.
Нажми Play, чтобы посмотреть, как она едет, затем нажми Check.
Попробуйте сами
using UnityEngine;
public class CarMover : MonoBehaviour
{
void Update()
{
// Здесь переместите машину вперёд вдоль оси z
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы скриптинга в Unity
1Ваш первый скрипт
Привет, UnityРазместите кубДвигайте каждый кадрПоворачивайте каждую секундуУправляйте клавишамиПовторение: управляйте кубом2Инспектор
Поля инспектораSerializeFieldЧисла с плавающей точкой и MathfАтрибуты инспектораПовторение: лифт5Преобразования и иерархия
Родители и детиМасштабПосмотри на объектыДвигайся к точкеПовторение: Луна на орбите6Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказать и скрытьПовторение: выключатель света