Доброго времени суток.
В данном уроке мы рассмотрим вторую часть, первого Официального урока по Unity.
В этом уроке мы напишем первый скрипт на C# и заставим наш автомобиль двигаться. А так же мы добавим физику нашим объектам.
Итак создадим наш первый скрипт.Но перед этим создадим папку, где будут хранится наши скрипты, для этого в окне "Project" жмем правой кнопкой мыши, выбираем "Create" и далее выбираем "Folder". пишем название нашей папки, назовем её "Scripts". Заходим в папку "Scripts" и создаем наш первый С# скрипт. жмем правой кнопкой мыши в окне "Project" в папке "Scripts", выбираем "Create" и выбираем "С# Script". Называем только что созданный скрипт "PlayerController". Обратите внимание что в названии скриптов не должно быть пробелов и скрипт должен иметь понятное название и отражать что он делает.
Назначаем наш скрипт на нашу машину которая находится в поле "Hierarchy" и имеет название “Vehicle”. Для того чтобы назначить наш скрипт выбираем нашу машину в поле "Hierarchy" и просто перетаскиваем только что созданный скрипт в окно "Inspector". После того как вы это сделаете скрипт должен появится в окне "Inspector".
Теперь откроем наш созданный скрипт. Для этого дважды щелкните по нему левой кнопкой мыши. Обратите внимание, что для открытия и написание скриптов на C# у вас должен быть установлен Microsoft Visual Studio, которую можно скачать с официального сайта Microsoft ( https://visualstudio.microsoft.com/ru/ ).
После того как мы открыли скрипт нам нужно удалить лишние комментарии которые написаны по умолчанию. После удаления наш скрипт должен выглядеть вот так:
Чтобы заставить нашу машину двигаться вперед, нам нужно двигать автомобиль по оси Z. В этом можно убедится нажав на наш авто и подвигать его стрелкой которая отвечает за движение вперед.
Теперь попробуем подвигать нашу машину через скрипт. Для этого в методе "Update" пишем:
transform.Translate(0, 0, 1); // добавляем автомобилю движение вперед
Сохраняем наши изменения сочетание клавиш "Ctrl + S". запускаем нашу сцену и смотрим как наша машина улетает вперед. Чтобы запустить или остановить сцену нужно нажать Play в нашем проекте Unity.
В данном скрипте мы обратились к компоненту "Transform" который присутствует на нашем объекте и мы обратились к "Translate" который позволил нам получить компонент преобразования и задали координаты в которых будет двигаться наш объект. Поскольку метод "Update" срабатывает каждый кадр(FPS) у нас движется автомобиль так же каждый кадр на 1 единицу. У каждого компьютера будет разное кол-во FPS.
Теперь используем "Vector3", чтобы двигать наш объект вперед. Vector3 это как раз наши оси по "X, Y, Z". Изменим наш скрипт, удалим (0, 0, 1) и напишем:
Vector3.forward - это тоже самое что и мы писали раньше (0, 0, 1) но выглядит более эстетично.
Так же зададим скорость движения нашего автомобиля. для этого назначим переменную перед методом "Start", назовем данную переменную speed и дадим ей публичный доступ. Для этого пишем:
public float speed = 15f;
Публичный доступ это тот который дает нам изменить переменную прямо в окне "Inspector".
Добавим нашу переменную в наш код движения автомобиля и нормализуем его скорость Time.deltaTime. Итого у нас в методе Update должно быть прописано:
transform.Translate (Vector3.forward * speed * Time.deltaTime);
float - это переменная которая может значить значение с плавающей точкой, в данную переменную необходимо отмечать буквой f. Например:
public float speed = 15f;
или
public float speed = 10,5f; или другие значения.
Time.deltatime - это интервал в секундах от последнего кадра до текущего.
Сохраняем наш скрипт и запускаем нашу сцену и видим, что теперь автомобиль движется гораздо медленнее, а именно 15 единиц по оси Z в секунду.
Ну и на последок добавим физику нашим объектам. Для этого выбираем наш автомобиль и в окне "Inspector" в самом низу нажимаем "Add Component" и в поле поиска вводим "rigi" и выбираем компонент именно "Rigidbody", а не компонент "Rigidbody 2D". Это разные компоненты. Ну и тоже самое проделываем для нашего препятствия. Запускаем сцену и смотрим как наш автомобиль теперь сбивает наше препятствие.
Сохраняем нашу сцену. Для этого нажимаем кнопку "File" и выбираем "Save".
На этом урок подошел к концу. Увидимся в следующем уроке.