0:24 Очень просто о том, что такое PBR 1:07 Все основные типы PBR текстур! (карт) 1:30 Что такое карта Albedo? 2:13 Что такое карта Roughness? 2:40 Что такое карта Glossiness? 3:08 Что такое карта Metalness? 3:47 Что такое карта Normals? 4:44 Что такое карта Occlusion? 5:01 Что такое карта Emissiveness? 5:25 Что такое карта Height? 6:28 Очень важная вещь! :)
@@Galaction585 Это карта кривизны - выпуклых (convex) и вогнутых (concave) участков модели. Нужна например для более точного распределения таких эффектов как грязь в разнообразных впадинах (щели, отверстия, линии соединений панелей и т.д.) или износа (потёртости) краски на выступающих краях модели.
Натик, браво! Я далеко не новичок в 3д, видел множество видео и читал статьи о PBR и везде огромное количество воды, заумных словечек и ни черта не понятно. А тут все очень просто! Молодец!
прошло 2 года с момента публикации видео, но оно до сих пор очень полезное! Спасибо вам большое, мало того что все объяснили, так еще и рассказали в каких программах это можно сделать! Поставил лайк)
Карта Height реально не деформирует. Её можно использовать и как для displacement (того самого реального деформирования), так и для bump (создание карты нормалей на основе карты высот). Альбедо применяется в specular workflow (грубо говоря альбедо это характеристика диффузного отражения, соостветственно металл будет там черным). А в metall workflow используется карта base color (цвет как зеркальных так и диффузных отражений). Поправьте, если ошибаюсь.
Natiq, спасибо большое за 6 минут 47 секунд классного объяснения. Никакой лапшы, никакой воды. Просто. Быстро. Понятно. Подписка, лайк и Колокольцев :)
Дружище, огромное тебе спасибо за подробное описание без лишней воды!! Сколько читал,нифига не понятно было, твоё видео глянул, всё чётко и ясно!! Красавчик!✌️💪
Так точно, roughness это просто glossiness наоборот. Разница только в том что глоссинесс описывает насколько поверхность гладкая, а рафнесс - нсколько она шероховатая.
Знал только что такое нормали и для чего их используют. Про другие услышал впервые (ну и что обычная текстура называется альбедо). Всё предельно понятно и возникает вопрос после видео, а как это всё можно было рассказать непонятно? оО Большое спасибо!
Спасибо большое за объяснения! Ни разу не использовал текстуру глянца в работах, только шероховатость (я новичок, простите)) Поэтому возникло пару вопросов: почему нужны и текстура roughtness и glossiness, если они отвечают за один и тот же параметр? И что будет, если 2 текстуры например сделать одновременно темными или наоборот светлыми? Какая шероховатость/матовость будет учитываться? И еще есть вопрос по карте height - Допустим у меня есть мэш 100 на 100 полигонов, а карта height 1000 на 1000 пикселей белого цвета, но линия 1000 на 1 пиксель будет черная. Как в таком случае будет происходить выдавливание в области черной линии, если принять тот факт, что на область 1 на 1 полигон приходится 10 на 10 пикселей, из которых одна линия 10 на 1 пикселей будет черная. Предположу, что вычисляется какое-то среднее значение по цвету и формируется белый цвет, но немного темнее обычного и полигон выдавливается чуть меньше чем остальные. Если поясните эти моменты, буду очень благодарен! Автору успехов!
Приветствую! Карты Roughness и Glossiness не используются вместе, они из разных PBR концепций. Карта Roughness используется в концепции Metalness/Roughness, карта Glossiness же, используется в концепции Specular/Glossiness. Выбор в пользу той или иной концепции зависит от конкретной студии, движка и других сопутствующих моментов. Касательно вопроса про карту height - зависит от того для чего эта height карта используется. Если для создания фейкового эффекта глубины Parallax Occlusion - тогда абсолютно незавимисо от количества полигонов черная линия будет в этом месте вдавливать поверхность внутрь точно по своему контуру (вернеее создавать иллюзию этого, так как параллакс на самом деле не изменяет топологию обьекта). Если же карта height используется для реального эффекта глубины вдавливаний - Tessellation - при котором на самом деле изменяется топология модели по нормалям - тогда если черная линия будет такой же толщины как и примерно один полигон на этой модели - вдавятся внутрь именно те полигоны которые попали на эту черную линию. Если же полигоны окажутся гораздо больше чем чёрная линия - тогда изза недостаточно плотной сетки полигонов в этом месте, разумеется, будет некая аппроксимация которая вдавит полигоны лишь чуть чуть. Именно поэтому height карты предназначенные для эффекта Тесселяции не используются на низкополигональных моделях. Тесселяция как правило предполагает плотную сетку. Параллакс в свою очередь, таких ограничений не имеет. Примерно так. Спасибо за пожелания!
Нет, карта высот именно для этого и нужна чтобы не использовать высокополигональную версию обьекта а имитировать реально выступающие детали на низкополиганальной версии с помощью карты высот. Как правило карта высот (heightmap) так же дополняется картой нормалей. Но есть один нюанс, хотя детали будут реально выступать (в высоту и в глубину) следует понимать что это всего лишь визуальный эффект, и если использовать карту высот например на какой то плоской поверхности в игровом движке, поставив на неё персонажа - ноги персонажа будут "утопать" в этих выступах или же он будет "парить" в воздухе над глубокими впадинами на ней, так как, ещё раз повторюсь, это фейковый эффект, не создающий реальных полигонов с которыми можно напрямую взаимодействовать.
Ну, пока что ещё не совсем понятно, на мой взгляд пока ещё рано говорить о том что мол всё - поликаунт не вопрос. К тому же, модели ведь всё ещё должны быть аккуратно анврапнуты, аккуратно заскинены, а это значит всё таки какой то контроль над топологией и поликаунтом разумеется останется. Вряд ли кому то захочется возится с UV разверткой на модели с парой миллионнов трианглов. Будем следить за развитием и мировым опытом.
Это скорее всего другой тип карты нормалей - то есть это не Tangent-Space карта где Верх это всегда по направлению нормалей от поверхности обьекта (то есть перпендикулярно), а World-Space, где Верх зависит от положения этого обьекта в пространстве (World). Почему именно такая карта нормалей у лица персонажа, затрудняюсь сказать не зная какой у этого персонажа функционал в игре. Обычно для персонажей используется стандартная tangent-space карта нормалей.
А на сколько возможен вариант использования карты высот как дополнение к карте нормалей ? То есть добавления рельефа и картой нормалей и картой высот, но при этом не усложняя геометрию
В принципе это стандартная практика, у карты высот как правило есть какой то предел детализации который напрямую зависит от степени тесселяции (плотности сетки) модели. Карта нормалей в таком случает отличное дополнение к карте высот.
Спасибо вам за полезное инфо, кратко и сердито. Только вот не пойму, как запихать все эти виды карт на одну модель? У вас есть видео, как создать на 3д модельке пбр текстуру? ... я пытаюсь моделить в блендере, обычно в кейшоте текстуры впихиваю. В блендере не получается материалы делать.. металл, пластик и тд.. хотя в блендере прикольно моделить, очень просто. Но текстуры жесть... блендер: чет там потыкался в свойствах материала, и все равно рендер хреновый. А в кейшоте тык тык и всё на автоматике без проблем.
Спасибо! Очень рад что понравилось. Такого видео пока нет, но может сделаю если появится время :) Про Блендер честно не знаю - я работаю в Максе и Мае. Но в принципе там всё должно быть достаточно просто - просто назначаешь все карты на нужные слоты в настройках шейдера и всё готово. На ютубе должно быть немало туторов на эту тему (например вот этот th-cam.com/video/mq4HMlefgDw/w-d-xo.html) Другой вопрос, насколько это нужно именно в Блендере или в том же Максе. Как правило, PBR текстуры на моделях нужны для игровых риалтайм движков типа Unity или Unreal, ну или для Marmoset Toolbag, где можно быстро создать материал и накидать в соотвествующие слоты все нужные PBR текстуры. В Marmoset Toolbag это кстати делать ещё проще - рекомендую скачать демку и попробовать. Тулбэг это такая классная штука типа Кишота только для Геймдев. В ней очень удобно просматривать и оценивать качество моделей и текстур прежде чем они будут импортированы в игровой движок. Там каждый слот в шейдере так и именуется - albedo, glossiness/roughness, metalness, ambient occlusion, normals, emissivity и так далее. Просто перетягиваешь соответствующие карты на эти слоты и вуаля - всё красиво :) Удачи!
Такой вопрос. Вся говорят, что PBR - это физически корректный рендеринг, но разве аббревиатура не расшифровывается как Основанный на Физике Рендеринг? Слышал ещё мнение, что PBR не физически корректный, а именно что правдоподобный. Просто похожие результаты, но физически корректными их назвать нельзя. Что вы думаете, по этому поводу?
PBR - физически корректный в том смысле, что весь свет, рассчитываемый движком удовлетворяет закону сохранения энергии. И соблюдение этого закона позволяет обеспечить одинаковость созданных материалов с текстурами в разных средах, движках и программах для моделирования. Только это. При этом разумеется симуляция сложных явлений и эффектов физики типа дифракции интерференции квантовых эффектов методом не заявляется. Поэтому да, он представляет разделенные на группы более точные костыли-апроксимации (по сравнению с предыдущим до него подходом дифуз-нормаль-спекуляр) геометрической оптики, потому как в натураху если делать - это вопрос о геометрии микроерльефа с огромным разрешением в микронах и нанометрах, квантовых эффектов и прочего, что не смогут потянуть все компьютеры мира вместе взятые еще сотню-другую лет в реальном времени (да и нереальном тоже, даже полный рейтрейсинг и радиосити в нерелтайм художке тоже аппроксимация). Он только про закон сохранения энергии и гарантию одинаковости результата.
Отличное видео! Я пробовал создавать свои текстуры для игры "Minecraft bedrock edition" для этого уже был готовый шейдер и нужно лишь было создавать pbr материалы, а вернее их скомбинировать base color, nomal map, specular map, и ещё просто серый цвет, как бы 4 текстуры в 1 изображении. В общем этот шейдер шейдер ещё поддерживает эффекты parallax Occlusion mapping, для того что бы этот эффект работал необходимо добавить некую непрозрачность картам нормалей(шейдер написан на glsl и все соответственно работает на OpenGL 3.0 версии. Не могли бы вы мне помочь решить этот вопрос?
Скажи тогда, куда подклчать АО в не реалтайм движках рендринга. Ибо слота под ао в материалХ нету. Усножать ао на альбедо? Єто как то глупо может біть, подключать ао в спекуляр?
МатериалХ никогда не использовал, но в нериалтайм движках (vray, octane и т.д.) АО нужно генерировать с помощью специального Ambient Occluson шейдера назначив его на всю сцену с обьектами целиком, и потом просто отренедерить это отдельным пассом (как tga или exr sequence например). Отредеренный результат затем накладывается поверх основного "beauty" слоя в композитинговых программах типа Nuke или AfterEffects. Я лично никогда запеченные (baked) готовые AO карты ни на каких обьектах не использовал. Так как АО всё время меняется в зависимости от того что происходит в сцене и давать обьектам какую то одну статичную карту АО не всегда подходящее решение. Другое дело конечно если сцена с обьектами статична. Там это может иметь смысл, но опять же я никогда с этим не заморачивался так как проще и быстрее всегда было просто назначить AO шейдер на всю сцену, поиграться с настройками шейдера чтобы получить желаемый результат и орендерить отдельный AO пасс готовый для импорта в любую композ программу.
Ну потому что лично для меня, тем более после Глосинесс карт, где светлое это гланец, а темное - мат, карты рафнесс слегка (всё ещё) непривычны для визуального "чтения".
Так обычный же Standard Shader и есть PBR. Для всех PBR текстур там есть соотвествующие слоты. Немного может быть неудобно с metalness, так как glossiness надо будет паковать отдельно в Альфу файла. Но это в принципе стандартная практика в движках.
Ну нет конечно :) Там всё просто на самом деле - Glossiness описывает насколько поверхность гладкая, в то время как Roughness наоборот - описывает насколько поверхность шероховатая, Metalness же просто описывает является ли предмет металлом (проводником электричества) или нет. Причем Glossiness и Roughness вместе не используются. Как правило, в зависимости от движка, используют или то или другое. Metalness, как правило бывает только или черного или белого цвета, например сталь, золото, хром это металл, и соответственно их карта металнесс должен быть чисто белого цвета. Пластик, камень или краска (даже если она нанесена на металл) это не металл, поэтому металнесс карты подобных материалов должны быть абсолютно черного цвета. Спрашивай если что неясно.
@@defonten так я про что и говорю, если опустить момент с электропроводностью, которая в контексте 3д не имеет никакого значения, то glossiness and roughness это вопрос того, на сколько материал отполирован. Может быть в зависимости от типа металла ещё могут быть разные оптические свойства, но скорее всего тоже можно описать полировкой) я не спорю, может быть придумывали эти технологии люди умнее меня, но сейчас вижу это так)
Карты Roughness и Glossiness не используются вместе, они из разных PBR концепций. Карта Roughness используется в концепции Metalness/Roughness, карта Glossiness же, используется в концепции Specular/Glossiness. Выбор в пользу той или иной концепции зависит от конкретной студии, движка и других сопутствующих моментов.
А где про недостатки пбр? Про прозрачность и преломления? А где про применение пбр? Ведь не везде он применим. Я уж молчу про SSS... Почему не рассказал про кучу разных шейдеров и что в разных движках свои пбр?
Нет, ничего не пропустил :) Тут я рассказываю про метод Metalness Workflow которым всю свою геймдев жизнь и пользуюсь. Этот метод предполагает использование карт Metalness и Roughness для настройки метал\неметалл и рефлективных особенностей материала в отличии от Specular workflow, который для этих же целей предполагает использование карт Gloss и Specular. Последний способ почти никогда не использовал именно по причине неудобства (для себя) и главное отсутствия запроса - все студии с которыми работаю - предпочитают Metallness/Roughness с небольшими исключениями.
@@universeuniverse8685 Ну, да, волне возможно :) Пайплайны у всех разные, перестраиваться не всегда удобно, а иногда и довольно затратно (переобучение команды, перенастройка ин-хаус скриптов, конвертеров и т.д.) Всё это время и, разумеется, деньги.
Молодец! Но у меня несколько комментариев: 1. Normal map это не текстура, это карта. Карта нормали. Текстура это все карты вместе. 2. Я не понял а в чём визуальная разница между Glossiness и metalness картами?
1. Карта Нормалей это тоже текстура. Все текстуры вместе это PBR Texture Set - Набор PBR Текстур. 2. Glossiness определяет насколько материал гладкий (рефлективный). Metalness определяет яваляется ли материал металлом или нет, по аналогии с реальным миром - является ли проводником электричества или нет. Объяснить на словах будет непросто, лучше просто покрутить слайдер metalness в том же marmoset toolbag и увидеть вживую как визуально меняется материал в зависимости от этого параметра. Вот тут про металнесс написано подробно www.chaos.com/blog/understanding-metalness
@@defonten Спасибо за ответ!!! "Карта Нормалей это тоже текстура" Как то не очень согласен. В английской литературе же НЕ пишут "normal texture", а пишут "normal map", значит в этом есть какой то смысл. "PBR Texture Set " Да, но до PBR были обычные текстуры не физически корректные. и там тоже была карта нормали, а не текстура нормали. Я конечно не уверен, но как то не вериться что есть текстура нормали. "проводником электричества или нет." Проводит текстура электричество или нет в шутку выражаясь это вопрос для физики реальных вещей, а не для графики. Если материал проводит электричество то это возможно метал, а метал всегда блестит. А обе карты и glossiness и metalness блестят. Поэтому в вербальном плане я не вижу разницы. Проверить не могу потому что в моём subctance painter нету glossiness карты, вместо неё metalic map.
@@defonten По поводу карт и текстур. Есть текстура бетона, то есть наложив её на модель мы её увидим напрямую. Но если мы наложили карту нормали на объект то мы тупо увидим синий цвет, если вы понимаете о чём я говорю. normal поэтому и карта потому что она напрямую не выводиться в визуальный ряд как текстура кирпичей. То же самое и metallness map, она чёрно белая сградиентом, её никто напрямую не выводит в визуальный ряд в отличии от текстуры кирпича. Вот поэтому это карта а не текстура. Возможно
Согласный. Карта нормалей разумеется не используется сама как текстура :) Тем не менее карта Нормалей это тоже текстура - просто особый её тип :) Например вот что написано в доках Юнити - "Normal maps are a special kind of textures that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry".
@@defonten Да, что то в этом духе. Я не исключаю что нужно использовать понятие растровой карты. То есть и нормал и альбедо это растровая карта как массив пикселей. Можно так же сказать что нормал это модификатор. То есть альбедо выводиться напрямую во внешний вид, а нормал или металикнесс модифицируют этот внешний вид, но напрямую не выводяться. Растровая карта и модификатор. Чем точнее мы выражаем мысли в словах тем больше глубина мышления.
Правильно ли я понял?: -PBR материалы это набор PBR текстур -Процедурные материалы - материалы генерируемые в различных программах -Adobe Substance 3D Painter использует и те и другие материалы. Процедурные материалы для него создаются в программе Adobe Substance 3D Designer **************** Что означают цвета текстуры нормалей? Как по ним определяться? Какие ещё PBR текстуры существуют и для чего предназначены? Спасибо.
1. Проще: PBR материалы это просто набор текстур 2. Процедурные материалы (смарт материалы) это специальные материалы с определенным набором правил распределения этого материала или отдельных его элементов (например ржавчина, потертости, царапины и т.д.) на поверхности любой модели таким образом что кажется что этот материал был создан конкретно под эту модель. Например процедурные смарт материалы позволяют иметь ржавчину или сколы краски только на острых краях модели или например иметь грязь только во впадинах модели. 3. Так точно. Только материалы можно создавать и в Пейнтере конечно. Каждый цвет в карте нормалей означает ось проекции XYZ -> RGB но ориетироваться по ним абсолютно необязательно так как карта нормалей "читается" движком (или шейдером/рендерером 3д программы) и особо разбираться в ней не нужно так как генерируется она автоматом как правило в Сабстанс Дизайнере на основе карты высот (heightmaps) ну или же запекается с реальной хайрез геометрии на лоуполи модели в 3д программах (или в Marmoset Toolbag). Одним словом уметь "читать" её вообще на мой взгляд необязательно - ну разве что просто посмотреть правильно ли рельеф деталей в целом вырисовывается или нет. Те текстуры и карты которые я указал, в принципе, основные. Есть ещё альфа карты - маски для создания "дыр" - полностью прозрачных участков на модели, или для того чтобы каким то иным образом модифицировать определенные участки модели. Но они довольно редко используются (зависит, конечно, от продукта который вы разрабатываете) Удачи!
0:24 Очень просто о том, что такое PBR
1:07 Все основные типы PBR текстур! (карт)
1:30 Что такое карта Albedo?
2:13 Что такое карта Roughness?
2:40 Что такое карта Glossiness?
3:08 Что такое карта Metalness?
3:47 Что такое карта Normals?
4:44 Что такое карта Occlusion?
5:01 Что такое карта Emissiveness?
5:25 Что такое карта Height?
6:28 Очень важная вещь! :)
Что такое карта Curvature?
@@Galaction585 Это карта кривизны - выпуклых (convex) и вогнутых (concave) участков модели. Нужна например для более точного распределения таких эффектов как грязь в разнообразных впадинах (щели, отверстия, линии соединений панелей и т.д.) или износа (потёртости) краски на выступающих краях модели.
Натик, браво! Я далеко не новичок в 3д, видел множество видео и читал статьи о PBR и везде огромное количество воды, заумных словечек и ни черта не понятно. А тут все очень просто! Молодец!
Спасибо Игорь! Я очень рад!
Полностью подписываюсь под всеми словами. Видео 🔥
Многие специально хронометраж растягивают для попаданий алгоритмов
а у него нет воды? как для дошкольника рассказывает..
@@derxphoto привык тик токи смотреть? Там вообще нет воды
найкраще відео на тему pbr, дякую!
прошло 2 года с момента публикации видео, но оно до сих пор очень полезное! Спасибо вам большое, мало того что все объяснили, так еще и рассказали в каких программах это можно сделать! Поставил лайк)
И вам спасибо! 🙂
Самое адекватное объяснение без воды
Спасибо!
Божеее, без тоннны воды и прочей лабуды, спасибище огромное
И вам спасибо! :)
Большое спасибо. За несколько минут объяснили понятнее, чем в роликах на 2 часа
Спасибо. Узнал реально полезные для себя моменты.
Хорошее видео-памятка, если вдруг забудешь какая pbr за что отвечает. Спасибо за видео
отличное объяснение. после нескольких курсов дошел до текстурирования, и до сих пор ни в одном не объяснили альбедо и эмисивнес.
Супер!!!! Огромное спасибо, всё просто и понятно объяснили, а главное быстро! Лайк и подписка. 👍
И вам спасибо !
Класс! В качестве памятки в библиотеку!
Карта Height реально не деформирует. Её можно использовать и как для displacement (того самого реального деформирования), так и для bump (создание карты нормалей на основе карты высот). Альбедо применяется в specular workflow (грубо говоря альбедо это характеристика диффузного отражения, соостветственно металл будет там черным). А в metall workflow используется карта base color (цвет как зеркальных так и диффузных отражений). Поправьте, если ошибаюсь.
Я бы вырезал с 1:26 до 1:31 а то получается что нам 2 раза по быстрому все объяснили)))
Но во всем остальном супер видео 👍
Спасибо :)
молодчина, лукас за доступное обьяснение без воды
огромное вам спасибо, за такую ценную информацию
Очень классно объяснили! Спасибо за помощь в освоении 3д моделирования❤
И вам спасибо :)
Да, видео понравилось! Сжато и доступно. Класс!
И вам спасибо! :)
Большое спасибо вам! перечитал много информации, где всё заумно сложно и затянуто - а вы быстро всё объяснили, незаслуженно мало просмотров
Спасибо за видео. Просто, быстро, понятно.
Natiq, спасибо большое за 6 минут 47 секунд классного объяснения.
Никакой лапшы, никакой воды.
Просто. Быстро. Понятно.
Подписка, лайк и Колокольцев :)
Спасибо :)
Дружище, огромное тебе спасибо за подробное описание без лишней воды!! Сколько читал,нифига не понятно было, твоё видео глянул, всё чётко и ясно!! Красавчик!✌️💪
Большое спасибо! :)
столько лет почти всё это знал, но так здорово и структурировано подано. Класс.
Спасибо :)
давно в геймдеве?
@@sjdjjsjsjs3991 ни сколько, не был там и не стремлюсь
Супер, спасибо большое!
Не за что :)
Спасибо огромное!!! Окончательно дошло только после этого видео.
Очень рад! И вам спасибо!
Браво, все по делу!😮
Спасибо!
Спасибо вам большое
И вам спасибо!
можно добавить еще что height map используется для создания паралакса, эффекта детализации в модели без изменения ее геометрии
Так точно!
Спасибо, наконец-то что-то начала понимать 😅
и вам спасибо :)
Спасибо, отличный урок, внятно объяснили какая карта за что отвечает! Неплохое продвижение для новичка в этой области.
Спасибо!
нештяк, прям разжевал, однозначно-топ!
Очень круто! Спасибо
Лучшее пояснение, спасибо тебе человек.
Спасибо большое!
Информативно!
Прям спасибо. Браво. Все очень наглядно.
И вам спасибо!
Очень классное видео, все четко и без воды!
Так держать!
Спасибо!
автору огромное спасибо, все быстро и понятно))))
Интересно
Большое спасибо за хорошее объяснение
Супер обьяснение! Спасибо автору!)
Да не за что :)
Благодарю; отличное информативное видео!
И вам спасибо!
Спасибо!
Спасибо, всё круто рассказано 👍👍👍
И вам спасибо :)
Такого преподавателя, да в каждый дом бы
Спасибо
Спасибо шикарно!
Лайк за инициативу
Лучший! Все четко и понятно! Уважение, лайк и подписка!
взаимно спасибо!
Красава все четко и по существу
Было полезно)
spasiba
Огромное спасибо. Я подписалась)
Спасибо :)
Если я правильно понял, то glossines это Smoothnes в Unity (гладкость)(smoothness - это roughness только наоборот)?
Так точно, roughness это просто glossiness наоборот. Разница только в том что глоссинесс описывает насколько поверхность гладкая, а рафнесс - нсколько она шероховатая.
мужик, ты класчный!
Ай
Карты нормалей есть ещё двухканальные RG (X и Y) и в формате OpenGL (+Y) и DirectX (-Y).
Знал только что такое нормали и для чего их используют. Про другие услышал впервые (ну и что обычная текстура называется альбедо).
Всё предельно понятно и возникает вопрос после видео, а как это всё можно было рассказать непонятно? оО
Большое спасибо!
А как насчёт программы CrazyBump?
Никогда не пользовал, пардон
Спасибо большое за объяснения! Ни разу не использовал текстуру глянца в работах, только шероховатость (я новичок, простите)) Поэтому возникло пару вопросов: почему нужны и текстура roughtness и glossiness, если они отвечают за один и тот же параметр? И что будет, если 2 текстуры например сделать одновременно темными или наоборот светлыми? Какая шероховатость/матовость будет учитываться?
И еще есть вопрос по карте height - Допустим у меня есть мэш 100 на 100 полигонов, а карта height 1000 на 1000 пикселей белого цвета, но линия 1000 на 1 пиксель будет черная. Как в таком случае будет происходить выдавливание в области черной линии, если принять тот факт, что на область 1 на 1 полигон приходится 10 на 10 пикселей, из которых одна линия 10 на 1 пикселей будет черная. Предположу, что вычисляется какое-то среднее значение по цвету и формируется белый цвет, но немного темнее обычного и полигон выдавливается чуть меньше чем остальные. Если поясните эти моменты, буду очень благодарен! Автору успехов!
Приветствую! Карты Roughness и Glossiness не используются вместе, они из разных PBR концепций. Карта Roughness используется в концепции Metalness/Roughness, карта Glossiness же, используется в концепции Specular/Glossiness. Выбор в пользу той или иной концепции зависит от конкретной студии, движка и других сопутствующих моментов.
Касательно вопроса про карту height - зависит от того для чего эта height карта используется. Если для создания фейкового эффекта глубины Parallax Occlusion - тогда абсолютно незавимисо от количества полигонов черная линия будет в этом месте вдавливать поверхность внутрь точно по своему контуру (вернеее создавать иллюзию этого, так как параллакс на самом деле не изменяет топологию обьекта). Если же карта height используется для реального эффекта глубины вдавливаний - Tessellation - при котором на самом деле изменяется топология модели по нормалям - тогда если черная линия будет такой же толщины как и примерно один полигон на этой модели - вдавятся внутрь именно те полигоны которые попали на эту черную линию. Если же полигоны окажутся гораздо больше чем чёрная линия - тогда изза недостаточно плотной сетки полигонов в этом месте, разумеется, будет некая аппроксимация которая вдавит полигоны лишь чуть чуть. Именно поэтому height карты предназначенные для эффекта Тесселяции не используются на низкополигональных моделях. Тесселяция как правило предполагает плотную сетку. Параллакс в свою очередь, таких ограничений не имеет. Примерно так. Спасибо за пожелания!
Есть видео применения этих материалов на объекте:)
В смысле это вопрос? Или утверждение? 😊
Вопрос🙂
Тогда ясно :) К сожалению пока нет :)
Ну уже на 0:14 секунде воды налили не мало)))
Великолепное видел, а где новые видео ?
Будут :) Спасибо за отзыв!
height меняет геометрию поверхности реально? т.е. грузит движок как много полегональная сетка?
Нет, карта высот именно для этого и нужна чтобы не использовать высокополигональную версию обьекта а имитировать реально выступающие детали на низкополиганальной версии с помощью карты высот. Как правило карта высот (heightmap) так же дополняется картой нормалей. Но есть один нюанс, хотя детали будут реально выступать (в высоту и в глубину) следует понимать что это всего лишь визуальный эффект, и если использовать карту высот например на какой то плоской поверхности в игровом движке, поставив на неё персонажа - ноги персонажа будут "утопать" в этих выступах или же он будет "парить" в воздухе над глубокими впадинами на ней, так как, ещё раз повторюсь, это фейковый эффект, не создающий реальных полигонов с которыми можно напрямую взаимодействовать.
спасибо@@defonten
А вот вопрос, как теперь будет выгдядеть оптимизация моделей с технологией Nanite от Unreal Engine 5? Нужна ли она будет?
Ну, пока что ещё не совсем понятно, на мой взгляд пока ещё рано говорить о том что мол всё - поликаунт не вопрос. К тому же, модели ведь всё ещё должны быть аккуратно анврапнуты, аккуратно заскинены, а это значит всё таки какой то контроль над топологией и поликаунтом разумеется останется. Вряд ли кому то захочется возится с UV разверткой на модели с парой миллионнов трианглов. Будем следить за развитием и мировым опытом.
У меня в папке текстур лица персонажа есть развертка лица в желто-зеленом цвете. Что это такое?
Это скорее всего другой тип карты нормалей - то есть это не Tangent-Space карта где Верх это всегда по направлению нормалей от поверхности обьекта (то есть перпендикулярно), а World-Space, где Верх зависит от положения этого обьекта в пространстве (World). Почему именно такая карта нормалей у лица персонажа, затрудняюсь сказать не зная какой у этого персонажа функционал в игре. Обычно для персонажей используется стандартная tangent-space карта нормалей.
А на сколько возможен вариант использования карты высот как дополнение к карте нормалей ?
То есть добавления рельефа и картой нормалей и картой высот, но при этом не усложняя геометрию
В принципе это стандартная практика, у карты высот как правило есть какой то предел детализации который напрямую зависит от степени тесселяции (плотности сетки) модели. Карта нормалей в таком случает отличное дополнение к карте высот.
Спасибо вам за полезное инфо, кратко и сердито. Только вот не пойму, как запихать все эти виды карт на одну модель? У вас есть видео, как создать на 3д модельке пбр текстуру?
... я пытаюсь моделить в блендере, обычно в кейшоте текстуры впихиваю. В блендере не получается материалы делать.. металл, пластик и тд.. хотя в блендере прикольно моделить, очень просто. Но текстуры жесть... блендер: чет там потыкался в свойствах материала, и все равно рендер хреновый. А в кейшоте тык тык и всё на автоматике без проблем.
Спасибо! Очень рад что понравилось. Такого видео пока нет, но может сделаю если появится время :) Про Блендер честно не знаю - я работаю в Максе и Мае. Но в принципе там всё должно быть достаточно просто - просто назначаешь все карты на нужные слоты в настройках шейдера и всё готово. На ютубе должно быть немало туторов на эту тему (например вот этот th-cam.com/video/mq4HMlefgDw/w-d-xo.html) Другой вопрос, насколько это нужно именно в Блендере или в том же Максе. Как правило, PBR текстуры на моделях нужны для игровых риалтайм движков типа Unity или Unreal, ну или для Marmoset Toolbag, где можно быстро создать материал и накидать в соотвествующие слоты все нужные PBR текстуры. В Marmoset Toolbag это кстати делать ещё проще - рекомендую скачать демку и попробовать. Тулбэг это такая классная штука типа Кишота только для Геймдев. В ней очень удобно просматривать и оценивать качество моделей и текстур прежде чем они будут импортированы в игровой движок. Там каждый слот в шейдере так и именуется - albedo, glossiness/roughness, metalness, ambient occlusion, normals, emissivity и так далее. Просто перетягиваешь соответствующие карты на эти слоты и вуаля - всё красиво :) Удачи!
Такой вопрос. Вся говорят, что PBR - это физически корректный рендеринг, но разве аббревиатура не расшифровывается как Основанный на Физике Рендеринг? Слышал ещё мнение, что PBR не физически корректный, а именно что правдоподобный. Просто похожие результаты, но физически корректными их назвать нельзя. Что вы думаете, по этому поводу?
Суть одна - этот способ наиболее приближённый к реализму (основанному на физике). А как именно называется/интерпретируется не так уж важно.
PBR - физически корректный в том смысле, что весь свет, рассчитываемый движком удовлетворяет закону сохранения энергии. И соблюдение этого закона позволяет обеспечить одинаковость созданных материалов с текстурами в разных средах, движках и программах для моделирования. Только это.
При этом разумеется симуляция сложных явлений и эффектов физики типа дифракции интерференции квантовых эффектов методом не заявляется. Поэтому да, он представляет разделенные на группы более точные костыли-апроксимации (по сравнению с предыдущим до него подходом дифуз-нормаль-спекуляр) геометрической оптики, потому как в натураху если делать - это вопрос о геометрии микроерльефа с огромным разрешением в микронах и нанометрах, квантовых эффектов и прочего, что не смогут потянуть все компьютеры мира вместе взятые еще сотню-другую лет в реальном времени (да и нереальном тоже, даже полный рейтрейсинг и радиосити в нерелтайм художке тоже аппроксимация).
Он только про закон сохранения энергии и гарантию одинаковости результата.
А я не знал про height, я просто называл это параллакс или бамп
Отличное видео! Я пробовал создавать свои текстуры для игры "Minecraft bedrock edition" для этого уже был готовый шейдер и нужно лишь было создавать pbr материалы, а вернее их скомбинировать base color, nomal map, specular map, и ещё просто серый цвет, как бы 4 текстуры в 1 изображении. В общем этот шейдер шейдер ещё поддерживает эффекты parallax Occlusion mapping, для того что бы этот эффект работал необходимо добавить некую непрозрачность картам нормалей(шейдер написан на glsl и все соответственно работает на OpenGL 3.0 версии. Не могли бы вы мне помочь решить этот вопрос?
К сожалению с такими задачами никогда не сталкивался
а что такое карты можете сделать подробный урок ? спасибо
Так объясняю же как раз в ролике!
А карта которая желто зелено красная это что?
Это скорее всего World Space Normal map - карта нормалей в мировых координатах. Предназнaчена для определения где у модели "верх", "стороны" и "низ"
@@defonten Я видел ее в VFX часто применяют
Скажи тогда, куда подклчать АО в не реалтайм движках рендринга. Ибо слота под ао в материалХ нету. Усножать ао на альбедо? Єто как то глупо может біть, подключать ао в спекуляр?
МатериалХ никогда не использовал, но в нериалтайм движках (vray, octane и т.д.) АО нужно генерировать с помощью специального Ambient Occluson шейдера назначив его на всю сцену с обьектами целиком, и потом просто отренедерить это отдельным пассом (как tga или exr sequence например). Отредеренный результат затем накладывается поверх основного "beauty" слоя в композитинговых программах типа Nuke или AfterEffects. Я лично никогда запеченные (baked) готовые AO карты ни на каких обьектах не использовал. Так как АО всё время меняется в зависимости от того что происходит в сцене и давать обьектам какую то одну статичную карту АО не всегда подходящее решение. Другое дело конечно если сцена с обьектами статична. Там это может иметь смысл, но опять же я никогда с этим не заморачивался так как проще и быстрее всегда было просто назначить AO шейдер на всю сцену, поиграться с настройками шейдера чтобы получить желаемый результат и орендерить отдельный AO пасс готовый для импорта в любую композ программу.
Спасибо большое за ответ. Действительно логично все говоришь@@defonten
В какой проге видео с текстурами сделано
Marmoset Toolbag 4.0
Ну и молодчун.
Почему для вас белый цвет в рафнес дающий максимальную шероховатость это неожиданно?
Ну потому что лично для меня, тем более после Глосинесс карт, где светлое это гланец, а темное - мат, карты рафнесс слегка (всё ещё) непривычны для визуального "чтения".
Братик подскажи, уже нигде не смог найти информацию как создать PBR Sader в юнити. У меня нет такого. Что я делаю не так? Уже месяц вожусь с этим.
Так обычный же Standard Shader и есть PBR. Для всех PBR текстур там есть соотвествующие слоты. Немного может быть неудобно с metalness, так как glossiness надо будет паковать отдельно в Альфу файла. Но это в принципе стандартная практика в движках.
создалось впечатление что glossiness, rougthness и metalness буквально дублируют друг друга
Ну нет конечно :) Там всё просто на самом деле - Glossiness описывает насколько поверхность гладкая, в то время как Roughness наоборот - описывает насколько поверхность шероховатая, Metalness же просто описывает является ли предмет металлом (проводником электричества) или нет. Причем Glossiness и Roughness вместе не используются. Как правило, в зависимости от движка, используют или то или другое. Metalness, как правило бывает только или черного или белого цвета, например сталь, золото, хром это металл, и соответственно их карта металнесс должен быть чисто белого цвета. Пластик, камень или краска (даже если она нанесена на металл) это не металл, поэтому металнесс карты подобных материалов должны быть абсолютно черного цвета. Спрашивай если что неясно.
@@defonten так я про что и говорю, если опустить момент с электропроводностью, которая в контексте 3д не имеет никакого значения, то glossiness and roughness это вопрос того, на сколько материал отполирован. Может быть в зависимости от типа металла ещё могут быть разные оптические свойства, но скорее всего тоже можно описать полировкой) я не спорю, может быть придумывали эти технологии люди умнее меня, но сейчас вижу это так)
Не вводите людей в заблуждение. roughness - шероховатость, а не глянцевитость, как вы сказали. glossiness - глянцевитость.
2:17 "..которая указывает движку степень глянца или шероховатости поверхности модели".
Спасибо. Это и есть нормалии?
непонятно про рафнес и глоснес, зкчем нам использовать одно и тоже, только в инверсии? в видео звучит так, как будто это одно и тоже!
Карты Roughness и Glossiness не используются вместе, они из разных PBR концепций. Карта Roughness используется в концепции Metalness/Roughness, карта Glossiness же, используется в концепции Specular/Glossiness. Выбор в пользу той или иной концепции зависит от конкретной студии, движка и других сопутствующих моментов.
Зачем подписываться на канал, если это ни к чему не обязывает? Или это всё таки обязывает смотреть канал?
а альфа?
Вообще ничего непонятно, куда их применять? Как? Можно пример хотя бы
А где про недостатки пбр? Про прозрачность и преломления? А где про применение пбр? Ведь не везде он применим. Я уж молчу про SSS... Почему не рассказал про кучу разных шейдеров и что в разных движках свои пбр?
Карту спекулар пропустил)
Нет, ничего не пропустил :) Тут я рассказываю про метод Metalness Workflow которым всю свою геймдев жизнь и пользуюсь. Этот метод предполагает использование карт Metalness и Roughness для настройки метал\неметалл и рефлективных особенностей материала в отличии от Specular workflow, который для этих же целей предполагает использование карт Gloss и Specular. Последний способ почти никогда не использовал именно по причине неудобства (для себя) и главное отсутствия запроса - все студии с которыми работаю - предпочитают Metallness/Roughness с небольшими исключениями.
@@defonten кстати, оказывается,что до сих пор есть не мало студии через спекулар. Сам по этой причине облазил весь интернет в поисках инфы
@@universeuniverse8685 Ну, да, волне возможно :) Пайплайны у всех разные, перестраиваться не всегда удобно, а иногда и довольно затратно (переобучение команды, перенастройка ин-хаус скриптов, конвертеров и т.д.) Всё это время и, разумеется, деньги.
Для незнающего человека, этот уровень сложности - задница. Я как будто на матан пришла...
Прошу прощения :) В следующий раз постараюсь попроще :)
@@defonten всё отлично, шикарно обучаешь. Мне с нуля сложно)
Blender. Конечно же только Blender.
Молодец! Но у меня несколько комментариев:
1. Normal map это не текстура, это карта. Карта нормали. Текстура это все карты вместе.
2. Я не понял а в чём визуальная разница между Glossiness и metalness картами?
1. Карта Нормалей это тоже текстура. Все текстуры вместе это PBR Texture Set - Набор PBR Текстур.
2. Glossiness определяет насколько материал гладкий (рефлективный). Metalness определяет яваляется ли материал металлом или нет, по аналогии с реальным миром - является ли проводником электричества или нет. Объяснить на словах будет непросто, лучше просто покрутить слайдер metalness в том же marmoset toolbag и увидеть вживую как визуально меняется материал в зависимости от этого параметра. Вот тут про металнесс написано подробно www.chaos.com/blog/understanding-metalness
@@defonten Спасибо за ответ!!!
"Карта Нормалей это тоже текстура"
Как то не очень согласен. В английской литературе же НЕ пишут "normal texture", а пишут "normal map", значит в этом есть какой то смысл.
"PBR Texture Set "
Да, но до PBR были обычные текстуры не физически корректные. и там тоже была карта нормали, а не текстура нормали. Я конечно не уверен, но как то не вериться что есть текстура нормали.
"проводником электричества или нет."
Проводит текстура электричество или нет в шутку выражаясь это вопрос для физики реальных вещей, а не для графики. Если материал проводит электричество то это возможно метал, а метал всегда блестит. А обе карты и glossiness и metalness блестят. Поэтому в вербальном плане я не вижу разницы. Проверить не могу потому что в моём subctance painter нету glossiness карты, вместо неё metalic map.
@@defonten По поводу карт и текстур.
Есть текстура бетона, то есть наложив её на модель мы её увидим напрямую. Но если мы наложили карту нормали на объект то мы тупо увидим синий цвет, если вы понимаете о чём я говорю. normal поэтому и карта потому что она напрямую не выводиться в визуальный ряд как текстура кирпичей. То же самое и metallness map, она чёрно белая сградиентом, её никто напрямую не выводит в визуальный ряд в отличии от текстуры кирпича. Вот поэтому это карта а не текстура. Возможно
Согласный. Карта нормалей разумеется не используется сама как текстура :) Тем не менее карта Нормалей это тоже текстура - просто особый её тип :) Например вот что написано в доках Юнити - "Normal maps are a special kind of textures that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry".
@@defonten Да, что то в этом духе. Я не исключаю что нужно использовать понятие растровой карты. То есть и нормал и альбедо это растровая карта как массив пикселей. Можно так же сказать что нормал это модификатор. То есть альбедо выводиться напрямую во внешний вид, а нормал или металикнесс модифицируют этот внешний вид, но напрямую не выводяться. Растровая карта и модификатор. Чем точнее мы выражаем мысли в словах тем больше глубина мышления.
Уважаемый автор, ты не разобрался с картами глосинес и рафнес. Ошибаешься ты очень. Дезинфомируешь людей. Нехорошо это.
Укажи в чём именно?
Правильно ли я понял?:
-PBR материалы это набор PBR текстур
-Процедурные материалы - материалы генерируемые в различных программах
-Adobe Substance 3D Painter использует и те и другие материалы. Процедурные материалы для него создаются в программе Adobe Substance 3D Designer
****************
Что означают цвета текстуры нормалей? Как по ним определяться?
Какие ещё PBR текстуры существуют и для чего предназначены?
Спасибо.
1. Проще: PBR материалы это просто набор текстур
2. Процедурные материалы (смарт материалы) это специальные материалы с определенным набором правил распределения этого материала или отдельных его элементов (например ржавчина, потертости, царапины и т.д.) на поверхности любой модели таким образом что кажется что этот материал был создан конкретно под эту модель. Например процедурные смарт материалы позволяют иметь ржавчину или сколы краски только на острых краях модели или например иметь грязь только во впадинах модели.
3. Так точно. Только материалы можно создавать и в Пейнтере конечно.
Каждый цвет в карте нормалей означает ось проекции XYZ -> RGB но ориетироваться по ним абсолютно необязательно так как карта нормалей "читается" движком (или шейдером/рендерером 3д программы) и особо разбираться в ней не нужно так как генерируется она автоматом как правило в Сабстанс Дизайнере на основе карты высот (heightmaps) ну или же запекается с реальной хайрез геометрии на лоуполи модели в 3д программах (или в Marmoset Toolbag). Одним словом уметь "читать" её вообще на мой взгляд необязательно - ну разве что просто посмотреть правильно ли рельеф деталей в целом вырисовывается или нет.
Те текстуры и карты которые я указал, в принципе, основные. Есть ещё альфа карты - маски для создания "дыр" - полностью прозрачных участков на модели, или для того чтобы каким то иным образом модифицировать определенные участки модели. Но они довольно редко используются (зависит, конечно, от продукта который вы разрабатываете)
Удачи!
про опасити не сказал
о, норм. заибись
Спасибо!