Записки Унрил Инжона. Часть 1
Привет, как и обещал (скорее самому себе) выкладываю первую часть записок. Я поставил себе цель выучить UE5 и небольшими шагами перемещаюсь в каком-то направлении, не факт, что в правильном. Буду иногда выкладывать подобные записки с целью своей самоорганизации в первую очередь, а если кому-то это еще как-то поможет или мотивирует, то я буду втройне рад.
Формат пока неясен. Но в данный момент накопились некоторые мысли, впечатления и выводы. Этого вполне хватит на небольшой компактный пост.
Для контекста, я решил выучить UE5.3.2, так как в будущем планирую начать разрабатывать свою собственную игру. Но перед этим мне нужно пройти сложный путь обучения и погружения. Однако у меня есть некоторое преимущество, а именно в разработке и программировании я далеко не новичок, знания складываются на более структурированные полочки в черепной коробочке, концепции построения архитектуры приложения считываются в независимости от стэка технологий.
Начнем
Для старта я выбрал что попроще, просто вбил в ютубе что-то вроде UE5 tutorial, в топе мне понравился автор Unreal Sensei со своим курсом Unreal Engine 5 Beginner Tutorial - UE5 Starter Course. Объясняет на понятном языке без акцента, двигается плавно, но по поверхности, как вводный урок просто идеален, хотя не без минусов. Очень часто он в видео использует свои собственные ассеты, которые предлагает скачать со своего сайта после регистрации. Некоторые ассеты, вроде материалов, с подготовленными блюпринтами, где тебе просто остается их применить, а как это работает он не рассказывает. Ну в моем случае я использовал его урок как карту, далее где мне было необходимо погружался отдельно, гуглил, искал в документации и т.д.
Насчет блюпринтов, я не понимаю ненависть некоторых. Мне очень сильно зашли. Все это время я слышал, что можно использовать или с++ или блюпринты, но на самом деле это одно и тоже. Просто блюпринты это визуальное представление кода, которое удобно не только людям, которые не разбираются в программировании, но и самим программистам, так как видно структуру кода, что от чего зависит и т.д. Короче я полюбил их.
Но в сам код пока не лез. Не хочу торопить события. Сначала я должен понять какие практики используются при построении архитектуры приложения, какие нейминги используются для сущностей, как лучше группировать их и т.д.
Пока проходил уроки про материалы, ландшафты, работал с освещением все больше и больше влюблялся в этот движок. Просто меня накрыло точное ощущение того, что можно реализовать любую идею и подкрепить все это отличным визуалом.
Даже просто случайно расставленные объекты и несколько источников освещения выглядят просто великолепно.
В движке содержится огромное количество инструментов для работы с освещением. Я конечно не ветеран геймдева, но мне кажется, что технологии вроде Lumen или path-трейсинга очень сильно упрощают всем жизнь, а самое главное улучшают визуал. Ведь статичные отражения и тени это такое себе. По старинке они запекаются на этапе билда проекта и остаются статичным, никак не взаимодействуя с окружающим миром. Также есть полезные вещи вроде рассеивания света от неба или простенького тумана, более сложный можно сделать самостоятельно потом.
Особенно понравилось солнце и объемные облака из коробки, причем солнце можно двигать под любым углом и свет автоматически преломляется и обретает нужный оттенок, например, красного заката или перламутровых сумерек.
При изучении материи и текстур доставляет особое удовольствие работать с блюпринтами, наводить порядок, группировать сущности, наблюдать за полной структурой материи, применять шейдеры.
По правде говоря в данном примере беспорядок и хлам, но я был рад даже такому
Дальше я изучал построение ландшафта. Начиная с простого скульптинга и рисования. Заканчивая генерацией ландшафта на основе карт или создания рандомизированного ландшафта, чтобы не были заметны стыки текстур или их паттерн. Меня очень сильно порадовали возможности, даже без погружения в детали я понял, что можно будет реализовать все что угодно и побрёл дальше.
Это самый первый и простой пример ландшафта, как-же он плох, прямиком из игр нулевых
Меня сильно поразило, что есть режим моделинга. Понятно, что полноценный блендер это не заменит, но многие рутинные дела вполне можно реализовать прямо не отходя от кассы. Всякие деформации, каты и смещения и т.д. присутствуют.
Samples
В epic games store можно найти различные примеры от сцен до игр. Я попробовал скачать City Sample. Проект оказался очень сложным и тяжеловесным для новичка, там мне нечего ловить. Нужно что-то более базовое. Хотя масштаб впечатляет. Особенно живые интерьеры окон, которые сделаны с помощью магии материалов, без использования мэшей.
Далее попробовал Electric Dreams Env. Ох, как же просел мой фпс и уверенность в своем железе)
Вот что они рекомендуют для запуска проекта. Но мне в целом даже при изучении UE5 в песочнице показалось, что реально нужно железо как в рекомендуемых спеках на скриншоте ниже. А еще бы я от себя добавил, что нужен 1тб свободного места, который вы будете заполнять всяким хламом и демками.
Можно также точно с уверенностью сказать, что памяти GPU 8гб и оперативной памяти 32гб будет точно не хватать.
Такие спеки, кстати, рекомендовали, чтобы запустить это, что в принципе оправдано, там 8к текстуры и nanite мэши (много полигонов)
Хоть и может показаться, что для движка в свободном доступе много разнообразных ассетов, мне показалось это не совсем достаточным. Даже учитывая мегасканы, их маркет, другие сайты с бесплатными ассетами и т.д.. Суммарно бесплатных моделей для определенного сеттинга не достаточно, особенно если брать в пример ассеты высокого качества вроде мегасканов. Соответственно возникает резонный вопрос где их брать? Самому изучать блендер и базовый моделинг придется в любом случае. Но мне стало интересно, что могут предложить нейросети) На первом встречном сайте сгенерил промпт на "советское здание в архитектурном стиле брутализм". Примерно такая модель получилась, это оригинальный размер.
Решил сделать небольшой сеттинг. Эх, выглядит просто прекрасно. На самом деле можно генерировать простые вещи вроде лавочки, фонаря, камня и т.д. С этим нейросети лучше справляются. Но не понятно, может ли это быть полезным в серьезном проекте. Надо будет изучить вопрос более детально в будущем.
А вот как выглядит самая простая рандомная текстура панельки натянутая на коробку. Атмосферненько, для далёкого заднего плана может даже сойти. А если ещё добавить объем, отражения, выпирающие элементы и т.д...
Впечатления
Я просто безумно наслаждаюсь время повреждением в UE. Хоть и не всегда нахожу время, в данный момент это хобби, которое в перспективе должно перерасти в нечто большее.
Пока в процессе делаю более серьезный тестовый сеттинг, который покажу в будущих частях. Ничего общего со скринами не будет иметь (также плохо не будет... Наверно)
Хоть и ощущается сильная зависимость от ассетов, все равно гибкий движок помогает рандомизировать и разбавлять имеющиеся ассеты, размывая факт их частого переиспользования.
Я только в начале своего пути и знаю совсем чуть-чуть про движок, но даже этих знаний как-будто достаточно, чтобы создать нечто очень простенькое и посредственное.
Начал немного по-другому смотреть на разные проходные игры различных инди разработчиков. Теперь сильно бросается в глаза их некоторое безразличие к выпускаемому продукту на потоке.
А самое главное, что я обязательно продолжу свой путь экспериментов. До встречи в следующей части.
Для старта я выбрал что попрощеУ эпиков есть свой портал обучающий и там официально одобренные курсы (интерфейс у странички ужасный), возможно лучше начать с них, чем с рандомных ютуберов.
https://dev.epicgames.com/community/unreal-engine/learning
Главное - держи нас в курсе.
Обязательно.
И как покакать сходил тоже.
Лучше про унрил инжон читать, чем про ~1000000 срач консольных воин и другую поебику
Держу в курсе
Ну ты же только что посрал здесь на людях, и всё нормально :)
Братан, прости, что сренькнули текстом на щитпостер.ру.
Комментарий недоступен