UE 5. Оптимизируем мегаскановский камешек.

  Рет қаралды 7,667

GMTechArt

GMTechArt

Ай бұрын

Наглядный пример оптимизации мегаскановского камешка с уменьшением веса материала почти в 800 раз. Optimizing Quixel Megascans asset the rock.
Сделано это следующим образом, просто зашил текстуру Base Color в цвета вершин полигональной сетки. Текстуру АО зашил так-же в цвета вершин в альфа-канал, а вместо карты нормалей 8к использовал повторяющийся фрагмент разрешением 512х512.
Поддержать можно тут boosty.to/valkyrie
С вопросами сюда / discord

Пікірлер: 72
@GMTechArt
@GMTechArt Ай бұрын
Поддержать можно тут boosty.to/valkyrie С вопросами сюда discord.gg/7swknc5yxa
@mike_8323
@mike_8323 Ай бұрын
Это видео должны посмотреть разработчики смуты
@protuberanecjk4704
@protuberanecjk4704 Ай бұрын
А им зачем) , они уже всё, сдали и отдыхают )
@shimoda47
@shimoda47 Ай бұрын
конечно. ведь игре которая весит 25 гигов оооочень сильно нужно оптимизировать размер текстур) да)
@protuberanecjk4704
@protuberanecjk4704 Ай бұрын
@@shimoda47 а ты наверное думаешь, что текстуры кешируются на другой компьютер, да ?
@shimoda47
@shimoda47 Ай бұрын
@@protuberanecjk4704 то есть ты хочешь сказать что смута так много видеопамяти занимает? если интересно, то буду дома могу замерить
@user-qb8lx2uq5j
@user-qb8lx2uq5j Ай бұрын
Качество картинки или неоптимизированность это не проблемы игры Смута. У нее другие проблемы.
@user-eq6vs7tl7r
@user-eq6vs7tl7r Ай бұрын
Большой вы молодец, спасибо. Очень вы внимательный
@user-yo7mw6oj4p
@user-yo7mw6oj4p Ай бұрын
Спасибо. Очень офигительно
@protuberanecjk4704
@protuberanecjk4704 Ай бұрын
Очень спасибо ) , сохранил в закладки для обязательного использования )
@electromonkey.artstation
@electromonkey.artstation Ай бұрын
Спасибо автору за полезный и интересный туторчик !
@tangentsmith2961
@tangentsmith2961 Ай бұрын
Благодарность за то, что делитесь техниками оптимизации проекта. Да, засилие 3д сканов с огромными тектурами - это современный бич индустрии. Если у вас есть опыт оптимизации или вы знаете какие-то наилучшие практики в других аспектах игровой разработки, будьте добры, поделитесь. Сделайте, если найдется время, серию коротких роликов или один большой ролик. Понимаю, что отдачи вы, скорее всего, не получите, но кто-то вам будет по-настоящему благодарен. Еще раз спасибо!🤗
@GMTechArt
@GMTechArt Ай бұрын
Весь мой опыт получен исключительно в процессе самообучения, т.к. в геймдеве я никогда не работал. Небольшое участие в некоторых инди проектах сложно назвать серьёзным опытом. Так что возможно есть и лучшие варианты, если узнаю или придумаю расскажу.
@tangentsmith2961
@tangentsmith2961 Ай бұрын
@@GMTechArt Как мы видим, в головах самоучек больше здравого смысла, чем в пустых головах специалистов ААА студий, которые вообще не парятся над оптимизацией проекта.
@user-ss6et8jt5l
@user-ss6et8jt5l Ай бұрын
@@tangentsmith2961 а вы участвовали в ААА продакшене, что бы так уверенно заявлять?
@tangentsmith2961
@tangentsmith2961 Ай бұрын
@@user-ss6et8jt5l А обязательно участвовать в ААА продакшене, что бы видить, что одна студия на 10 выпускает сегодня рабочую игру с нормальной оптимизацией? Может вы думаете, что нужно быть мишеленовским шефом, что бы понять, что вас накормили дерьмом? Уж извините за такое сравнение.
@Fosterushka
@Fosterushka Ай бұрын
@@user-ss6et8jt5l Тут не обязательно учвствовать ты как потребитель (Игрок) видишь на сколкьо ужасная оптимизация в текущем времени от разрабов. Видеокарты загружены под 40-60% а ЦПУ под 100%. В то время как в инди проектах соло разрабы загружают видюху под 90% . SOLO CARL SOLO
@user-bi2ww8bb4m
@user-bi2ww8bb4m Ай бұрын
Ля чел, огромное тебе спасибо, черезвычайно полезный ролик
@gosdym
@gosdym Ай бұрын
Отлично видео , подписался и лайк поставил , ждём ещё подобного контента
@shabutay
@shabutay Ай бұрын
Крутой метод, спасибо!
@Pavel-wt1wp
@Pavel-wt1wp Ай бұрын
Спасибо, очень полезно! Скажите, а в чем вы планируете моделировать геометрию зданий и сооружений для своей игры ?
@GMTechArt
@GMTechArt Ай бұрын
В Maya я другими 3D пакетами пользоваться не умею.
@NomadWESS
@NomadWESS Ай бұрын
Гениальный способ) лайк)
@IstyManame
@IstyManame Ай бұрын
в альфу мне кажется лучше Roughness запечь, да и на нормаль в целом пофиг полигонов хватает. А вообще тема огонь спасибо что показал
@GMTechArt
@GMTechArt Ай бұрын
Можно и рафнес было вместо АО запечь, тоже такой вариант рассматривал но АО показалось интересней, а нормалку всё же думаю стоит добавлять для мелкой детализации, такой совет даже в официальной документации есть. Хотя для каких-то моделей может и без неё можно обойтись, тут уж по ситуации как говорится.
@Cheebasmoker
@Cheebasmoker Ай бұрын
Мегагосовский просовский камешек)))
@FishMan1nsk
@FishMan1nsk Ай бұрын
Не знаю. Не уверен на счёт оптимизации честно говоря. Наниты так устроены, что они пытаются сохранить цвета вершин, хард еджи, силуэт и швы на UV. Посмотрите, пожалуйста, что у вас происходит с упрощением меша на расстоянии достаточно ли эффективно нанит их упрощает по сравнению с оригиналом, есть вероятность что такие плотные меши с запечёными в них вертекс колорами будут плохо упрощаться и приводить к квад овердро. Это один момент. Второй момент вы могли текстуру бейка уменьшить до 2048 и смешать её с дитейл нормалом и сделать дистанс фейд, чтобы на расстоянии дитейл текстура пропадала. Проблема вашего примера сейчас в том что карта нормалей не соответствует форме объекта и это хорошо заметно на среднем ракурсе. Ну и вы правильно заметили, что 8к не нужна. Она не нужна в принципе, поэтому вам следовало "оптимизировать" 4к изначально, потому что в здравом уме их всё равно никто в реальном примере бы не стал использовать.
@GMTechArt
@GMTechArt Ай бұрын
Не попадалось информации что цвета вершин сетки оказывают влияние на упрощение сетки. А то что карта нормалей не соответствует это понятно. В идеале я бы и юви развёртку переделал, а если бы задача была сделать очень качественно то сделал бы совсем по другому, хотя данные в цветах вершин сетки так же играли бы очень важную, просто использовались бы в качестве маски для смешивания текстур.
@FishMan1nsk
@FishMan1nsk Ай бұрын
@@GMTechArt это эксперементально можно установить. Возьмите кубик с сабдивом и покрасьте ему какую-то область, потом просто включите дебаг нанит трианглов и плавно меняте расстояние. Повторите то же самое для кубика без прокраса вертексов - увидите разницу. Когда прокраса нет первыми нанит срезает все полигоны на плоскостях, когда прокрас есть - он их пытается сохранить по максимуму, видимо анализируя разницу в значениях цветов вершин. Если бы этого не было, то прокрас мешей бы очень значительно менялся, что приводило бы к заметным скачкам различных пятен на текстурах в материалах с вертекс блендом, потому что нанит постоянно перестраивает сетку.
@GMTechArt
@GMTechArt Ай бұрын
@@FishMan1nsk нанит не учитывает цвета вершин, так было раньше так и сейчас. Ему важна только геометрия это я ещё в этом видео показывал kzbin.info/www/bejne/n3SXdmyNodqrr68
@GMTechArt
@GMTechArt Ай бұрын
@@FishMan1nsk Хотя вы правы действительно учитывает, но увы не достаточно к сожалению, всё равно сильно упрощает, интересно это можно как ни-будь настроить?
@FishMan1nsk
@FishMan1nsk Ай бұрын
​@@GMTechArt не знаю можно или нет, возможно где-то есть какие-то настройки. Он вроде точно сохраняет большую разницу в цвете. Типа контрастные переходы или как-то их усредняет. Я много тестов не делал честно говоря, чтобы понять конкретное его поведение. Вообще он учитывает несколько факторов, таких как УВ, вертекс колор и разницу в нормалях вершин и вероятно разницу в расстоянии вершин друг от друга. По сути работает так же как любой дециматор. Поэтому нужно следить переодически за тем как он сетку оптимайзит. По-моему, например, если сплющить в точку все вершины на одном или нескольких UV каналах, то он хуже начинает оптимайзить. По крайней мере у меня есть меш, где при прочих равных если у меня на одном из каналов экспортируются "пустые" UV - то это приводит к тому, что меш перестаёт эффективно упрощаться на расстоянии. Иногда плохие ув приводят к тому, что геометрия начинает портиться. Пару раз у нас такое было когда он на простых мешах начинал оконные проёмы ломать из-за того что УВ были некорректными. Но сам я не смотрёл в чём там дело было, это у коллег такое было.
@arsendy
@arsendy Ай бұрын
разработчикам Смуты надо скинутть))
@user-eq6vs7tl7r
@user-eq6vs7tl7r Ай бұрын
С каких видеокарт работает адекватно данный движок.
@GMTechArt
@GMTechArt Ай бұрын
В зависимости от решаемых задач условная адекватная видеокарта будет сильно разниться, у меня RTX 2070 для моих задач хватает, хотя желательно что ни-будь помощнее 3060 и выше. Для создание же серьёзных рендеров лучше что-то посерьёзней и с большим объёмом памяти. Тут нужно из конкретных задач исходить.
@MStanislav88
@MStanislav88 Ай бұрын
Смотря что для вас адекватно, минимум 40 фпс выдает rx580 ( 1060ti ) с нанитами и вкл. люменом при fullHD в густом лесу на небольшой карте.
@YACommunity
@YACommunity Ай бұрын
Тебе нужно устроиться в сайберию Нова и их научить оптимизировать модели 😂
@zergidrom4572
@zergidrom4572 Ай бұрын
9:19 да там небо и земля по факту разница, даже не присматриваясь лол Понятное дело что это вполне ок, учитывая размер текстуры, но тем не менее )
@GMTechArt
@GMTechArt Ай бұрын
Странно было бы, с учётом того что я вырезал фрагмент нормалки (1\256 от оригинала) и замостил ей весь камень. Но если бы вы не знали что на камне по сути нет текстур пришло бы вам в голову?
@zergidrom4572
@zergidrom4572 Ай бұрын
@@GMTechArt Не понял часть про "нет текстур"? лоуполи модель без нормала бы вообще смотрелся как уг. Без негатива. Просто я к тому написал, что разница очень заметна аш писец, даже через компрессию видео ютуба. А если бы я не знал что так было задумано и не с чем было бы сравнивать - то просто сразу бы встал вопрос "Это че за мыло в 2024 году?" Если бы размер объекта был раза в 4 меньше, тогда бы это не было столь заметно и смотрелось бы норм. Но чем больше объект - тем четче должна быть текстура :) Просто получилось "слишком урезано"
@GMTechArt
@GMTechArt Ай бұрын
@@zergidrom4572 на камне после переделок в материале осталась только нормалка 512х512, и всё, текстур в материале по сути нет, по сравнению с тем что было. Все данные остальные берутся из самого меша 8.5 мегабайт.
@SilverMLP
@SilverMLP Ай бұрын
Спасибо!
@volniy-hleb
@volniy-hleb Ай бұрын
Уменьшить геометрию камня тоже можно: kzbin.info/www/bejne/aHytgKmnl8hjiKssi=_EZ004yphuS1PH2T
@GMTechArt
@GMTechArt Ай бұрын
Можно, при сохранении текстур, в моём случае это привело-бы к существенному снижению качества, т.к. текстур по сути нету.
@FishMan1nsk
@FishMan1nsk Ай бұрын
Тут так не получится потому что автор текстуры в вертексы запекает, а вашем примере их слишком мало.
@GanginNegative
@GanginNegative Ай бұрын
640Kb should be enough for anyone
@GMTechArt
@GMTechArt Ай бұрын
Bill Gates
@electromonkey.artstation
@electromonkey.artstation Ай бұрын
Тут уже все успели пошутить про разработчиков смуты?
@GMTechArt
@GMTechArt Ай бұрын
И не только здесь в ВК первый же комментарий был про неё.)
@TigraPolosatiy
@TigraPolosatiy Ай бұрын
Я бы просто сресайзил карту нормалей до 512 а не "потрошил" её в фотошопе(русскоязычном..🤦‍♂). Результат будет куда лучше смотреться чем палёные тайловые швы каждую 1/16 текстуры... При желании к ужатой нормали можно было бы добавить долю процедурного шума, для резкости.
@GMTechArt
@GMTechArt Ай бұрын
Не будет лучше результата если вы нормалку до 512х512 уменьшите т.к. от мелкой детализации и следа не останется, а что касается швов в моём варианте, с учётом сложной геометрии объекта и особенностей юви развёртки эти швы и под микроскопом будет сложно найти, тем более что я их худо-бедно замазал.
@phoenexchannel7812
@phoenexchannel7812 Ай бұрын
Лучше так вообще сжать до 128, ещё лучше будет, правда же?
@surt5927
@surt5927 Ай бұрын
Русскоязычный фотошоп, потому что автор использует лицензию, а не пиратку ))
@TigraPolosatiy
@TigraPolosatiy Ай бұрын
@@surt5927 я надеюсь ты рофлишь. Не один уважающий себя 2D-3D артист не будет работать в локализованой версии PS.
@user-wg7ut1du9c
@user-wg7ut1du9c Ай бұрын
​@@TigraPolosatiyне надо возводить в культ то, что не влияет на работу инструментов, это сразу выдаёт в тебе профана. Многие топовые художники прекрасно работают на русскоязычной версии (так же как и китайские - на китайской, и т.д.) Локализацию для того и придумали
@hardway777
@hardway777 Ай бұрын
Потраченное время не стоит того, чтобы так заморачиваться. Оптимизировать отдельный камень не имеет смысла. 1. Там текстура с неповторяющимся узором. Это кандидат на виртуальную текстуру. 2. Геометрия специально сделана под наниты - стриминг геометрии, как и виртуальные текстуры. Оптимизировать нужно уже готовые сцены, где все ассеты уже стоят и смотреть в каких местах возникают затыки при стриминге. При вашем подходе в памяти будет сидеть куча таких 4k, 2k текстур, которые займут всю видеопамять, вместо того чтобы выгрузить те куски виртуальной текстуры, которые сейчас не нужны. Еще нужно в голове держать что прогресс идёт вперед а не назад. К тому моменту как проект будет закончен, актуальное железо будет совсем другим и уже на релизе графика в проекте будет заоптимизирована что весь потенциал железа не будет использован в полную силу, не говоря уже о том что страдать будет качество картинки. Но потраченного времени уже не вернешь, а урок так и не будет усвоен. Нужно оставлять возможность использовать Ultra-качество для топового железа, кому надо похуже - пусть в настройках выставляют под себя. Не нужно бороться с новыми технологиями и смотреть на них сквозь призму устаревшего опыта. Используйте технологии, которые даёт движок, научитесь их использовать.
@GMTechArt
@GMTechArt Ай бұрын
При моём подходе у меня в памяти и на диске будет камешек 8.5 мб и материал на 200 кБ, Делать Ultra настройки которые увидит в лучшем случае 1% игроков совершенно не рационально. Борьба с новыми технологиями? Это вы про что? Я как раз считаю что возможность использования высоко полигональных объектов даёт вторую жизнь материалам Vertex Paint, а в некоторых случая позволят практически полностью отказаться от текстур как в приведённом примере. Т.к. плотность данных на единицу площади объекта зашитых в цвета вершин сетки достаточно высокая.
@hardway777
@hardway777 Ай бұрын
@@GMTechArt арт-директор скажет что вы тратите слишком много времени на ненужную оптимизацию, когда все нужные автоматические средства оптимизации уже есть в движке - виртуальные текстуры и наниты, которые выгружают из памяти данные о не нужных частях текстуры и геометрии. При сильном отдалении всё равно подобные объекты будут запечены в HLOD. Посмотрите демку Matrix и поковыряйтесь в текстурах моделей транспорта. Например у автобуса там текстура 32k. Одна из. Это виртуальная текстура.
@GMTechArt
@GMTechArt Ай бұрын
@@hardway777 И сколько там фпс было в этой демке? Matrix это просто техническая демка, демонстрация технологий и только, кто будет в здравом уме в реальную игру пихать текстуру 32к для какого то несчастного автобуса. Вы размер проекта представляете с такими текстурами?
@hardway777
@hardway777 Ай бұрын
@@GMTechArt kzbin.info/www/bejne/e16ud52Pqptmbc0
@xephosbot
@xephosbot Ай бұрын
@@hardway777 при этом в скомпилированной демке Matrix на железе i5 13600K и RTX4060 выходит средние 40 фпс. Это тот уровень производительности к которому вы стремитесь?) Графика в играх стагнирует ещё с 2016 года. Но при этом на тот момент вполне себе хватало GTX 1060 и RAM 16 GB чтоб поиграть практически во что угодно на Ультра настройках. А сейчас благодаря новомодным технологиям которые компенсируют лень разрабов даже на RTX 4060 большинство игр выходящих на UE 5 работают с просадками))
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 18 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 27 МЛН
Follow @karina-kola please 🙏🥺
00:21
Andrey Grechka
Рет қаралды 26 МЛН
狼来了的故事你们听过吗?#天使 #小丑 #超人不会飞
00:42
超人不会飞
Рет қаралды 56 МЛН
I solved Unreal Engine's Package Size Problem...
14:35
Cobra Code
Рет қаралды 51 М.
Основы работы в Blender за 10 минут.
10:51
Klickten
Рет қаралды 1,2 МЛН
UE 5. Timeline.
10:44
GMTechArt
Рет қаралды 326
X-COM: UFO Defense 14 - Оборона базы.
56:02
Вселенная Ufoshnika
Рет қаралды 1,7 М.
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 18 МЛН