Previously in Kostegs.name (Модуль 1 и Модуль 2 курса по Unity)

Devlog 2023 год

В данном посте я опишу то, чем занимался до того, как создал этот сайт. Я бы мог не описывать ничего из этого, но тогда повествование выглядело бы дерганым, поэтому все-таки нужно описать то, с чего я начинал.

Итак, в самом начале, я не имел никакого опыта с Unity. Вообще никакого. Абсолютно никакого.

Для меня Юнити- это была система, в которой можно «делать там какие-то там игры», но каким образом это всё происходит я был в полнейшем непонимании. Когда я открыл студию первый раз, то очень сильно попал в состояние прострации, т.к. такого количества разнообразных кнопочек, рычажков и настроек я действительно не ожидал увидеть. На мгновение даже у меня проскакивали мысли: «Как такое вообще можно освоить».

Однако, у страха глаза велики, зато йенг маленький. Поэтому, засучив рукава, я приступил к работе. (плюс ко всему, дедлайны по курсу давали мне дополнительной мотивации).

Началось обучение, естественно, с простейших вещей, как то: поставить Unity, первоначально настроить, сделать пару объектов, полетать по сцене (особо стоит тут упомянуть, как я привыкал к управлению в сцене, т.к. поначалу было довольно таки тяжело перемещаться и масштабировать сцену. Зато сейчас это всё уже на механическом уровне).

Итак, начал я с создания простейших 3D-объектов из подручных средств. Попутно изучив, что такое материалы и как с этим работать. В итоге получилась мега-простая композиция деревьев и дороги.

Далее курс начал приобретать более хардкорный характер и я приступил к изучению Мешей (сетка полигонов, из которой состоит любой 3D-объект), Коллайдеров (полигоны, которые отвечают за взаимодействие с другими объектами), Rigibody (для применения физики к объектам) и т.д.

Сперва упор был сделан на то, что именно из себя представляют материалы и шейдеры.

Материалы – это наборы текстурных карт и настроек поверхности для визуализации модели.

Шейдеры – это код для исполнения на видеокарте, который описывает логику отображения материала.

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

Окей, поехал дальше. Следующим в списке были коллайдеры.

Коллайдеры  — это группа компонентов, задающая физическую форму модели, ее коллизию.

Коллайдеры бывают следующих типов:

-Box

-Sphere

-Capsule

-Mesh

Если объект требует сложной формы обработки столкновений, то используют составную коллизию. Например, как здесь:

Изучил, что можно быть очень ленивым человеком и для создания коллизии не заморачиваться, а просто использовать Mesh Collider. При этом Unity сама создает коллайдеры (очень точные, причем) по всем граням объекта. Минусом здесь является то, что эта технология достаточно требовательна к ресурсам. Поэтому для GreyBox-уровня это еще может прокатить, но если мы не хотим, чтобы наша супер-игра выдавала 15 ФПС, придется все-таки отрисовать коллайдеры самостоятельно.

Чем, я собственно и занялся. У меня была практика, где для модели дома необходимо было реализовать коллайдеры. У меня получилось вот так:

Поставил FPS-Controller, побегал. Даже поскидывал на крышу 3D-кубы, все отрабатывало прекрасно.

Кстати, возможно я когда-нибудь получу суперсилу и начну называть проекты так, чтобы, спустя неделю, было понятно, о чем конкретно был данный проект:

Далее, изучил, что такое префабы.

Префабы – это тип ассетов, который хранит объект со всеми значениями свойств.

Образно говоря, это настроенная модель, которую можно раскидать по всему уровню, и если мы что-то придумали в этой модели изменить, то при изменении префаба, меняются все модели в сцене.

Потом я изучал освещение. Это очень объемная и очень сложная тема в Unity (я конкретно ощутил сложность, когда делал финальное задание 3-го модуля обучения).

Освещение делится на:

Directional Light – источник света, который светит в одном направлении. Чаще всего используется в качестве солнца.

Point Light – точечный источник света. Когда из точки свет идёт во все стороны. Используется для имитации света из светильников.

Spot Light – распространение света сфокусированным пучком. Используется для имитации фонарика, ламп автомобиля и т.д.

Area Light – свет из области (например, свет из окна). Работает только со статическими объектами

Для практики я создал сцену со светящимися кубиками:

Далее я изучил, что такое запекание света (процесс создания карты света для статических объектов. Для того, чтобы снизить аппаратную нагрузку).

 Потом я немного изучил глобальные параметры Lighting. Но с этим делом еще нужно разбираться и разбираться.

Затем я изучал систему частиц. Это очень крутая вещь в Юнити, которая позволяет создавать различные эффекты.

Очень сложная в изучении, но если понять, то можно создавать действительно красивые вещи.

Как, например, костер:

Затем я немного прошел по интерфейсам и скриптам, подвязанным к ним (хотя на скрипты сейчас особо упор не делается, т.к. не все на курсе со знаниями шарпа. Как я уже убедился, не все со знаниями, в принципе, что такое программирование, в принципе):

А закончил я модуль созданием сцены Night City. Здесь я применил то, что изучал ранее, но особенно работу с освещением (делал всё на моделях и звуках, предоставленных платформой курса):

Понравилась статья? Поделиться с друзьями:
Kostegs.Name
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: