Снова здравствуйте!
И сегодня мы продолжим разбирать основы такого игрового движка как Unity
#программированиеснуля #unity #видеоигры #чайники
И тут я всегда буду оставлять ссылку на документацию по Unity
В прошлом "уроке"
Мы:
- Зашли в Unity
- Кратко пробежались по полям
- Создали двухмерный кубик
- Изменили его параметры
Это уже успех!
В этом уроке мы посоздаем фигуры, и понаблюдаем за их параметрами в Инспекторе. Сегодняшний урок будет в принципе посвящен этому важнейшему полю в Unity.
Начнём же
Задание: Создайте несколько двумерных фигур на поле
(2d Object => Sprites => "фигура")
Просмотрите какие есть у них параметры в Инспекторе (Поле справа Inspector)
Так как мы создали одинаковые (С точки зрения движка) двумерный спрайты, то в инспекторе они не будут почти ничем отличатся (только название, и параметры размера и позиции)
Сейчас и расскажу, где именно расположены эти параметры.
Верхние строчки описания объекта
Что мы тут видим?
Сразу слева находится иконка объекта. Эта штука нужна, чтобы его было проще найти среди всех остальных объектов вашей игры. Советую помечать этой иконкой только прям важные объекты, ведь в любой игре, их не меньше нескольких сотен
Правее мы видим квадратик с галочкой. Эта опция отвечает за то, "включен" ли ваш объект. Если вы нажмёте на него, то объект пропадёт с сцены, "выключится", но информация о нём всё ещё будет в памяти вашей игры. Эта опция нужна тогда, когда объект является не нужным на некоторое время в игре. Он может отключится, чтобы игре не пришлось его прогружать, а потом, когда он понадобится, включить его вновь
Сразу справа этой галочки, мы видим название объекта. Называйте его как хотите, главное чтобы вы не запутались в своих названиях.
Правее уже посложнее, очередная галочка. Эта галочка отвечает за то, чтобы ваша система (или только некоторые её части) принимали объект за статичный. Легче будет привести пример: Когда вы через скрипт хотите изменить размер всех фигур, то так и произойдет, но если у некоторых объектов нажата эта галочка, то их размер не изменится. Это сложно, но можно понять. Объект становится как бы, не изменяемым для системы.
Tag - это некий идентификатор объекта. С помощью тегов можно создавать группы объектов, чтобы обращаться к нему было проще. Тут тоже легче пример привести: У вас на поле 1000 объектов, из них 40 - это враги игрока, мы им выдадим тег "Враги", и теперь, с к этим врагам будет легче обратится когда мы захотим на них посмотреть.
Задание: Дайте любому из ваших объектов тэг "Player". В одном из следующих уроков мы дадим ему жизнь
Layer - уровень глубины. В 2д пространстве, нужно чтобы некоторые объекты находились ближе к игроку, а некоторые - дальше. Для этого нужен Layer. Тут тоже сложно, ведь если изменять эту настройку, то объекты не будут накладываться друг на друга... Если вы работали в фото редакторах, или вы художник то поймёте меня, что я имею ввиду под Layer (слой)
Фууууухъ, и это только первая часть
Transform
Теперь пойдём по уникальным параметрам объекта
То что было вверху - просто идентификация объекта, чтобы понимать, как он называется, на каком слое находится и как к нему обратится.
Теперь мы рассмотрим параметры нашей фигуры
Transform - очень важная штука. Она показывает где находится объект на сцене, его размеры и угол наклона. (В программировании вашей игры вы столкнётесь с ним ещё, и будет Transform не настолько приветливым)
Собсна, как я и описал, всё так и есть:
- Position - Числовая позиция объекта на сцене по трём осям
- Rotation - Числовой угол поворота объекта на сцене по трём осям
- Scale - Числовая величина растянутости объекта по трём осям
Теперь главное не испугаться что у нас три оси в двумерном пространстве!
Примечание: Так как у нас Unity, то мы всегда работаем в 3D, так что здесь можно создать объемные объекты. Но из-за того что мы выбрали 2D пространство, камера, да и всё остальное, их воспринимать не будет.
Как раз таки Z горизонталь отвечает за глубину объекта, с помощью неё, друг на друга накладываются объекты на одном слое.
Задание: При создании объектов, они наверняка вылетели за камеру. Вы должны, опираясь на значения позиции камеры, и объектов, вернуть их в поле зрения камеры
ОЧЕНЬ ВАЖНОЕ ПРИМЕЧАНИЕ
У абсолютно всех объектов в игре существует параметр Transform. Остальные параметры для каждого объекта уникальны: У картинки: Image, У спрайтов: Sprite Render, а также другие, которые мы сами захотим добавить.
В одном из следующих уроков я расскажу вам подробнее про самые часто используемые параметры, а так-же мы напишем свои собственные.
Но Параметр Transform есть абсолютно у всех объектов
Задание: Изменить переменную Color внутри параметра Sprite Render у ваших объектов.
Подробно про Sprite Render я расскажу может быть позже, а сейчас просто перекрасьте ваши кубики и кружочки, чтобы различать их в будущем.
Завершаем урок
Да, сегодня мы познакомились с полем инспектора, и такой важной штукой как Transform объекта.
Потихоньку мы дойдем до создания скриптов! Учите Си-Шарп, хотя и без него, я дам вам основы этого языка для Unity.
Посоветую вам установить Visual Studio на компьютер (удобная программа для редактирования кода, которая будет помогать вам в программировании), и мы настроем и свяжем её с Unity. Если вы уже программируете, или предпочитаете другой текстовый редактор, то прошу вас самостоятельно связать его в Unity, или писать код на интуитивном уровне ^^
Спасибо за прочтения! Даже если всего пара человек обучатся обращаться с этим движком с нуля, я уже буду рад!