Профессиональный материал ландшафта для начинающих | Professional Landscape Material for Beginners
Вставка
- Опубліковано 28 чер 2024
- Приветствую Вас в моем первом полноценном пособии для начинающих. В нем я расскажу о том, как сделать крутой материал для ландшафта в Unreal Engine 5.2.1. На момент публикации - это финальная версия материала, которую я использую во всех своих проектах. С его помощью мы сможете легко создавать новые слои, которые будут отличаться красотой и производительностью. Реализация автоматериала так же возможна. Используются следующие технологии:
Macro Variation
Tri-Planar
Parallax
Спасибо за просмотр!
00:00 Начало видео
00:15 Интро
00:22 Вступление
01:22 Подготовка проекта
04:59 Основной материал, текстуры, советы
11:23 Фоновый слой
14:03 Механизм создания слоев
17:54 Создание базового слоя
22:02 Texture Sample
34:05 Distance Mask
43:20 Настройка комментариев
46:20 Создание базового слоя
52:25 Macro Variation
01:00:16 Создание базового слоя
01:02:28 Про Parallax
01:06:09 Tri-Planar
01:13:46 Настройка слоев
01:22:53 Рисование слоями
01:44:14 Финальный результат
01:46:35 Улучшение функции Macro Variation
01:47:28 Про автоматериал
01:52:00 О плюсах данного материала ландшафта
01:56:43 Конец видео
Поддержите канал лайком, колокольчиком или комментарием)
Подписывайтесь так же на мой канал в телеграмм:
t.me/SvaretskyGP
И на Дзен:
dzen.ru/svaretsky
Присоединяйтесь к криптобирже ByBit по ссылке: www.bybit.com/invite?ref=3O6ZYM
или при регистрации указав реферальный код: 3O6ZYM
Присоединяйтесь к пассивному доходу r.honeygain.me/WINLO88E72
#tutorial #landscape #unrealengine #unrealenginetutorial #unrealengine5 #material
Оптимизация данного материала в этом видео: ua-cam.com/video/ZYUqsZfyPj8/v-deo.html
Лучший и точка. Нашел случайно, останусь до конца. Спасибо тебе большое
Супер, обязательно повторю все, что бы закрепить новые знания.
Блага дарю за контент и обширный детальный туториал!!!
Вот это годнота подъехала!Вы отреагировали на просьбу,спасибище огромное!!
Подписка однозначно! Лучшее в Ютюбе что я видел.
Спасибо что делишься опытом 😊
UA-cam, заметь уже этого парня)
Огромное спасибо!
32:15 - момент, когда я понял, что я задержусь на этом канале надолго. Не нашёл текстуру DefaultNormal, растерялся, в итоге выбрал FlatNormal. Перевожу взгляд на второй монитор - а там надпись. Очень внимательное отношение к просматривающим, доступные объяснения, очень интересно, хоть и довольно сложно на данном этапе. Спасибо!
Возможно добавить трипланар для вертикальных объектов, так как UV у лендскейпов представляет собой планарную развертку и не несет информацию по вертикальному вектору. Это можно нивелировать используя трипланарное наложение материала.
Ну вот я использую трипланар для слоя отвечающего за скалы.
Лучший контент на русском языке по UE5!
Евгений как вы делаете комент нажимая на С ? у меня что то не работает на версии 5.3
Евгений, подскажите пожалуйста, где может быть подвох: в MI_Landscape 3 слоя, каждый с текстурами - все как на видео, но в landscape edit при активированной Enable Edit Layers ниже вкладка Layer не раскрывается, соответственно маски не добавить и только один слой у ландшафта получается.
С 1:23:00 я рассказывал, как сделать слои и какие бывают нюансы. И эта ошибка в том числе. Если сделано вообще все правильно, то нужно просто переназначить материал. То есть поставить любой другой, а затем снова свой.
Спасибо, Евгений за урок.
Я тут немножко подумал и сделал для себя такую логику: вывел UVs в функцию, как и Tri-Planar, а потом уже в основном материале добавил переключатель между этими функциями. Теперь могу использовать то или другое и регулировать величину текстуры (координаты). Короче для травы, которая на ровных поверхностях лежит использую UVs, а для скал Tri-Planar. Кстати Tri-Planar надо применять ко всем трём текстурам: и к альбедо, и к нормалям, и к маске (хотя насчёт маски не уверен).
Что Вы думаете по этому поводу?
В моем материале тоже трипланар применен только к скалам, а у травы обычный UV.
Трипланар можно применить хоть ко всем трем текстурам, можно к альбедо и карте нормалей. Это делается легко и быстро. Но, увеличивая количество текстур, увеличивается и сложность шейдера. К тому же чисто внешне, когда трипланар лишь на альбедо, выглядит лучше из-за разнообразия. Растянутая карта нормалей создает впечатление трещин на скалах.
@svaretsky я имел ввиду логику переключения в инсте с Tri-Planar на UVs (нажал галочку работает одна функция, убрал галочку работает другая и окошки для регулировки автоматом меняются)
У меня ещё есть вопрос: не пойму связано ли это с материалом, но в окне рендера происходит некое мерцание при движении (и в игровом, и в рабочем режимах) очень сильно бьёт по глазам... Может знаете как решить проблему?
@@user-nq5bt5oc6m ну так и у меня. Ставлю галочку и работает трипланар😅 снимаю и работает обычный режим. Только координаты UV у меня едины для всех, чтобы ничего не сбивалось при смене. Единственное у трипланара добавляется масштаб рисунка. Там под конец ролика видно, что благодаря этому таллинга совсем не видно
впервые столкнулся с Parallax Occlusion Mapping, я правильно понимаю что это что-то типа Displacementа? Не проще его в 5.3 использовать?
Параллакс не изменяет физическую модель. Это иллюзия объема. Displacement в 5.3 работает только с объектами Nanite. То есть с обычным ландшафтом не работает, как в 4й версии движка.
Я в пользу производительности вообще ничего не использую. UE5 классный, но нужен очень мощный комп, чтобы было все красиво. Да и не вышло ни одной игры на UE5 с хорошей оптимизацией, везде полная беда.
У меня такая проблема что при запуске проекта ландшафт становится полностью чёрным я перенёс материал из другого проекта
Чисто не большое замечание
можно добавить маску прозрачности
что бы иметь возможность дырявить ландашафт и делать дырки для пещер/подвалов
А еще в финале ты после создания и добавления Landscape Layer Sampler - НЕ ПОКАЗАЛ как выглядит финальный материал с подкленными Мэйк Флоатами
А так основа понравилась
Разве что используют не "Маски" а ОRM материал(Ао+Рафнес+Метталик)
Так подключенные мэйк флоаты лишь позволяют рисовать слоями на ландшафте. В сам материал это не дает изменений.
В мегаскан текстурах не ORM. Третья текстура не металлик, а карта высот. World position offset.
@@svaretsky да вкурсе если скачивать с мегасканов напрямую
Но я например вывожу ассеты в квиксель миксер и уже оттуда вытаскиваю более стандартную карту ОРМ а не ОРХ)))
+ металлик можно ипользовать на лужи или особые скаллы с отражением на ландшафте
Попробовал сделать ландшафт (версия UE 5.2) по вашей технике, все получилось, все классно. Открыл этот же проект в версии 5.4 и, при движении камеры появилось мелкое зерно в текстурах. В игровом режиме то же самое. Отсюда вопрос: - "Где можно исправить?"
Пока не могу ответить, потому что у меня нет 5.4 в связи с отсутствием релиза.
@@svaretsky Точно такая же проблема, решения не нашлось?
Привет! Может быть можешь помочь с решением проблемы? Делал все по видео, но на трех текстурах из четырех при движении все размывается и аж рябит, как будто горячий воздух над асфальтом, только намного сильнее. Не знаешь с чем это может быть связано?
Нашел, что если убрать из SetMaterialAttributes параметр WorldPositionOffset, то проблема пропадает. Правда так и не понял почему
дружище, подскажи, как поставить пин на связь между нодами, я чего только не перепробовал в различных сочетаниях клавиш))) причем помню, что как-то ставил сам сто лет назад и вылетело вообще
Named Reroute Node называется, если я правильно понял вопрос
@@svaretsky нене, когда ты укладываешь ноды красиво, иногда на нитке между двумя нодами ставишь дополнительную точку и ее можно куда-то подвинуть, из нее еще ниток вытащить несколько штук
@@svaretsky и еще вопрос возник: когда назначил всем слоям леербленды, то ландшафт автоматически стал весь черный, как бэкграунд слой. Неужели теперь весь ландшафт красить вручную?
@@barmaleevmax это просто reroute node или двойной клик по нитке
@@svaretsky точно! двойной клик, оно, спасибо!
Приветствую, возникла трудность с трипланаром. Булевый статик параметр не хочет цепляться к статик свитч. А взяв простой свитч, цепляя к value Булку анрил крашится. Как быть? P.S. могу задавать глупые вопросы т.к. я 3D artist, который начал ковырять анрил в творческих целях
Можно использовать static switch parameter вместо двух узлов.
@@svaretskyпробовал, анрил вылетает и крашится. Но, нашёл в чём дело и напишу здесь, мб кому нужно будет. В последней (На данный момент 5.3.2) версии static switch уже является нодой параметра и появляется в опциях материала без лишних действий. Т.е. дополнительно подключать ноду булевого статик свитч не надо. Анрил потому и крашился т.к. я, грубо говоря ломанным языком, вешал параметр на параметр)
Досмотрел до 1:16:20. У меня песок с одной стороны обзора стал отражать небо, с другой более-менее. На отражении мерцание, что-то вроде белого шума. Выглядит так, будто идёт дождь. Помню что-то говорилось про степень отражения, но искать одно ключевое слово в часовом диапазоне видео не стал, это только если пересматривать заново. Полезно, конечно, закрепится, но лучше чуть позже, при работе уже со своими проектами.
В итоге проверил, мерцание пропадает при отключении нормалей. При выборе другой текстуры для альбедо с отключением и нормалей, и маски всё равно остаётся отражение. Будто бы кафель какой-то. Я верно понял, что я где-то установил не то значение и надо копаться в BasicLayer?
Кафель это из-за выбранной карты нормали по умолчанию, о которой мне писали в первом комментарии. Там есть карта по умолчанию в виде сетки. От нее и получается эффект в виде кафеля. Нужно ставить обычную синюю, без всего.
@@svaretsky Не, я, наверное, немного не так выразился. Карта нормалей выбрана от скачанной текстуры. Я скорее про блеск и отражение, нежели про стыки, их нет. Проблема именно в отражении, мерцании, ещё и накладывается повторяющимися квадратами. Что-то я где-то пропустил или не то значение ввёл. Сейчас буду играться с настройками, пробовать исправить. Или прогоню видос через какой-нибудь анализатор текста, чтобы найти тайминг, где говорилось про отражение. :D
В планах ознакомиться со всеми роликами и под каждым не забуду поставить лайк. Спасибо за ответ и ещё раз за интересные познавательные видео!
@@RavusGame за отражение в том числе отвечает параметр Specular
@@svaretsky Сегодня утром нашёл свои ошибки. Решил здесь отписаться, вдруг это кому-то поможет, если кто столкнется с подобным. Во-первых, параметр Specular, да, не помню, какой в видео вы выставляли, у меня было 0,1. Возможно, я экспериментировал и на превью выглядело нормально. Поставил 0,01 - от отражений избавился. Во-вторых, мерцание текстур и их деления на мелкие квадраты исправил, отредактировав параметр Scale и включив Tri-Planar. И в-третьих, затемнение было сильное на текстуре из-за того, что я перепутал местами Normal и Mask внутри функций BasicLayer. Вернув всё на свои места, песок стал выглядеть очень даже неплохо.
В моих ошибках были и свои плюсы. Я не пересматривал видео, а просто покопался ещё раз во всех функциях, поигрался с параметрами, видел результат. В итоге понимание их работы значительно улучшилось, чем понимание при восприятии информации просто на слух. В очередной раз убедился, что теория без практики ничего не даст.
@@RavusGame вы на правильном пути!
Приветствую!
Хочу уточнить - данный материал поддерживает любое количество слоев? Максимальный CustomisedUV -- 7. Получается, всего 7? А если нужно больше?
Тогда лучше использовать классический вариант. Либо некоторые слои делать автоматическими и не вешать на кисть. Например слой скалы можно сделать автоматическим в зависимости от угла наклона ландшафта и тем самым освободить один пин на UV.
@@svaretsky Тогда потеряется главное преимущество вашего материала - оптимизация.
А можно ландшафт разбить на несколько частей, и к каждой применить свой материал? И если да, то обязательно ли делать ровную границу?
@@alv4322 материал для разных частей ландшафта можно использовать разный. Главное что б на границах был одинаковый слой в обоих материалах ландшафта.
@@svaretsky Ландшафт я раскрашиваю с помощью масок, сделанных в Гайе. Должно быть минимум 16 слоев... Т.к. там 3 климатических зоны
@@alv4322 16 слоев. Это уже не про оптимизацию и явно не для игры. Сложность шейдера будет просто невероятной. Тут только использовать классический Layer Blend. Отличие только в удобстве. Придётся всем настраиваемым параметрам давать уникальные имена для каждого слова.
Подскажи пожалуйста, после применения такого материала на ландшафт фпс падает до 50 , это норма?
Нет, не норма. Хотя, смотря какого размера игровой мир и какие характеристики ПК.
Если все же дело в материале, то есть 2 совета. Перейти на версию движка 5.3 и второе - дождаться следующего ролика, где я покажу упрощенный вариант. Хотя наверное правильнее сказать облегченный, оптимизированный. Сложность шейдера будет минимальной. Даже при использовании 5 слоев все будет зеленое.
То есть версия из этого ролика хороша для настройки материала, подбора параметров. А в следующем ролике уже будет то, что непосредственно должно быть перед релизом.
Размер большой, 20 на 20 км, использую как раз версию движка 5.3) Видео карта rtx2080 SUPER ПРОЦ I7-10700 и 32 ОЗУ, спасибо тебе за твои уроки, интересные очень, вот пытаюсь сделать большую карту, чтоб на севере был снежный ландшафт, в центре более зелёный и скалистый, а на юге пустыню)@@svaretsky
@@thedarksidehorror это сделать не трудно, особенно в моем материале
Согласен, вот разберусь как оптимизировать проект до конца) и будет счастье)@@svaretsky
@@thedarksidehorror скоро будет видео по оптимизации ландшафта.
Подскажите как убрать , я даже не знаю как назвать это . Когда персонаж бежит после него остаётся несколько его силуэтов типа призраков , и в дали всё сепью покрыто . Это сильно нагружает систему .
В настройках проекта во вкладке рендеринг отключите motion blur. Можно просто в поисковике настроек проекта найти
@@svaretsky не помогает, проблема в чем-то другом
А в чем отличие от последних роликов, где вы полностью создавали автоматериал ландшафта?
Ничем. Просто тут весь материал собран в одном видео. А раньше было разбросано все
Это просто конечный результат, на котором я остановился. Уже давно не вносил изменения, потому что считаю, что в соотношении качество/производительность лучше я не сделаю пока что.
@@svaretsky Вы конечно большой молодец, я многое почерпнул из ваших уроков, и нашел ответы на свои вопросы, но, вы двигаться дальше собираетесь? Ну, к игре. Т.е. Человечек бегает, бьет врагов, собирает ресурсы и т.п. А то я вот дальше заглянул и как бы не хило так офигел от возможностей, нужностей и проблем. Я конечно не против того что вы делаете, просто опасаюсь что перегорите и будет грустно и не будет новых уроков.
@@user-ph9mp2qs8o я собираюсь довести проект до релиза. Поэтому все будет. Я изначально не планировал видеоуроки, думал будет просто девблог.
Сейчас я столкнулся с низкой производительностью при добавлении леса. Как только это решу - пойду дальше.
У меня между слоями, когда рисую, появляется засвеченная граница. Может есть какие-то предположения, почему это может быть?
P.S.: проблема решилась.. уже вторая проблема, над которой долго сижу, а как пишу сюда с вопросом, так тут же ее решаю, к тому же очень простым способом... 🤦♂😅хз как это работает))
Это очень круто, на самом деле. Сам часто ловлю подобные моменты. Но на границу между слоями так же влияет фоновый слой, который background. Я его делал просто чёрным матовым. Но если его менять, то будет и меняться граница слоев.
@@svaretsky у меня тоже черный матовый. я за уроком повторял. пока ничего не понимаю, но может найду базовую информацию на эту тему и пойму. У меня там дело в освещении, с ним какая-то ерунда творилась, но сейчас уже вроде нормально. Граница исчезла.)
у кого было такое? почему-то после создания MLB ассетов и подключения его к слою в Blend Asset текстура становится просто чёрной. всё 1 в 1 настроил. До этого вроде работало, но пришлось пересоздавать MLB, так как не совсем понятен механизм работы. Не мог ими красить, получалось только после перемещения слоёв в материал инстансе. И с удалением MLB файлов были проблемы, анрил просто не давал этого сделать. Смог только через проводник. Судя по всему, это и послужило сейчас моей траблой, что теперь текстура просто становится черной. Нагуглить тоже ничего не удается. Не понимаю, где дальше искать причину и что мне нужно подправить
Да, действительно. Удаление через проводник уничтожает все. Попробуйте для начала сделать один слой, без mlb.если все работает, тогда сделайте ещё один слой и создайте 2 новых mlb для них с привязкой к названиям слоев через координаты. То есть как на видео и показано
Привет, удалось решить проблему?(текстуры тоже черные при подключении MLB,но я не удялял MLB и не создавал по новой)
@@skyman1698 а в млб присутствует логика для передачи названий слоев через координаты?
@@skyman1698 можете написать в тг в группу. Там проще будет помочь с приложением скринов
@@svaretsky Как будет время, загляну, спасибо. Пока не разбирался с проблемкой
1:15:43 - применил текстуры к слою, но почему то ничего не изменилось. Ни превью материала, Ни собственно сам ландшафт(он остался тоже дефолтной тексутрой). (( Причем интересно, что LayerAsset где у нас наш BasicLayer наоборот изменился на песок. И самое странное, что сложность Шейдера Landsape Materiala и его Instance тоже не поменялась, даже наоборот тупо стала меньше.
UPD: меняется только если ставишь текстуры в самом верхнем слое.
Тоже столкнулась с этой проблемой. Подскажите пожалуйста, как-то решили ее?
@@user-pq5xl3wd3i Нет, я в принципе отказался от данной логики создания материала лэндскейпа.))
@@user-pq5xl3wd3i Не знаю почему, но в ноде где находится текстура Albedo пропадает нода ссылка Uvs, решение простое в ноде Input которая находится в связке нодов Albedo добавить пин (вход) и подключить его в ноде Switch (false), выйти в ML_Basic и там подключить ноду ссылку Uvs. Надеюсь понятно и помогло
Подключить nanite и производительность будет ещё выше.
К ландшафту? Эту технологию тестируют в версии UE 5.3
@@svaretsky в 5.2.1 к ландшафту тоже подключается нанит
@@Comandante_ но он не работает, как надо. И вместо прироста ФПС там наоборот лишняя нагрузка. Наниты это история не про оптимизацию, а про красоту. Если сравнивать с лодами, то лоды выигрывают по оптимизации. Если сравнивать с оригиналами, то наниты будут лучше. Вот такой порядок.
Наниты хорошая вещь, но в перспективе. Пока в рамках оптимизации их использовать смысла нет. Для единичных объектов - ок, а если их много, то сжирает все ресурсы. К тому же есть ограничение на их количество.
В версии 5.3 проделают большую работу с нанитами. Исправят тени и надеюсь, что по производительности будут не хуже лодов.
@@Comandante_ это было и в 5.1 и просто в 5 вроде.
@@Comandante_ но вот точно знаю, что сейчас ведутся работы по внедрению нанита в ландшафт. Есть видосики с внутренних тестах, а так же это указано в дорожной карте к версии UE 5.3
Всё показанное в первой половине данного видео является 100% глупостью, начиная с базовой концепции со слоями, которые не для ландшафта предназначены и заканчивая созданием логики мипмапинга, который работает и без этого, а вторую половину я не смотрел. Так что не страдайте хернёй, а делайте через ноду Landscape Layer Blend. По поводу названия: удачи "профессионалам" делающим подобное в поисках работы.
Да угомонись уже. Ты это пишешь под каждым роликом по этому материалу.
Это более совершенный способ, так как логика одна и все слои - это не самостоятельные слои, а инстансы базовой логики. Производительность выше, сложность шейдеров ниже, качество выше, возможностей больше. Устаревший метод остался в UE4. Сейчас уже на подходе UE5.3. 2023 год. Данный метод используют Эпики, в том числе и в своих демках, а так же игровые студии.
Поэтому глупость - это постоянно бухтеть и сеять негатив.
покажи как надо «правильно» 🤡
простых примеров в интернете полно, а универсального не существует, т.к. создаются под конкретный проект и соответсвующие задачи.@@assvia
А что поделаешь если ты одни и те-же глупости из ролика в ролик продвигаешь. И единственная причина моих комментариев что бы люди прежде чем повторять твои глупости догадались поискать альтернативные варианты.@@svaretsky
слуш а нахрена ты через текстурные координаты передаешь сэмпл в функцию блендинга? этож ебучий костыль. может есть какое то поизящнее решение?
также непонял нахрена ты мипмапы, по дистанции разбрасываешь. они и без этого работают.
А можно чуть подробнее? Я сам учусь, поэтому многое могу не понимать, особенно сленговые термины
Очередная шляпа
в конце запутался в слоях. как настроить их что бы можно было рисовать(
С помощью MLB функций, к которым подключали в основном материале информацию о названиях слоев
@@user-te5ef5iu8y я не понимаю, что значит «не работают как надо». А как тогда работают?
что то не так подключаю, рисует черным цветом.@@svaretsky
@@user-te5ef5iu8y значит в material instance не настроили слои, которые рисуют черным. Должны быть установлены обе функции и все настроено.
се нашел ошибку) в GetMaterialAtributes ошибка была