Шейдер в 3д макс это
Собсно уже спросил. Да-да, три года в 3д, а до сих пор это слово для меня звучит как ругательство. В отношении графики в играх вроде уже понял - это микропрограммы для описания поведения материала в определенном окружении. А в отношении визуализации? Так понял, шо шейдинг - это так же поведение материала под действием освещения и окружения, т.е. цвет, текстура - это не шейдеры, а отражение, преломление, бамп - это шейдеры? Или по другому - шейдеринг - это приобретение материалом всех указанных ранее свойств при рендеринге?
Короче, поясните кто-то, но не давайте ссылку на Википедию, два раза уже прочел, но там больше по играм ии вообще как-то слабо разжевано.
Не нужно заморачиваться, врядли ты найдешь абсолютно точное значение этому термину. Shading в играх отличается тем что он интерактивный, а в Максе или в Мае например, этим занимаются Shaders, специальные скрипты для материалов, которые в последствии рендерит, например Мental Ray. Надеюсь тебе стало легче
Спасибо за ответы!
Но тогда зачем материал называть шейдером? какая разница между этими двумя словами?
Ну же , народ. если никто не знает точно, то хоть теории высказывайте. Может ща породим научное описание непонятного термина )).
Вот мое мнение: шейдинг - это поведение материала под влиянием на него окружения и освещения. То-есть это отражение, рефлексия и рефракция света, реакция на освещение, изменение параметров какого-либо канала при изменении угла зрения. Т.е. шейдинг проявляется при рендере и зависит от выбранного рендера. Звучит.
Наиль, Мрак, Моцарт! Профи, вы где? ))
Вот маленько порылся и еще кое что разжевал. Вообще понятие шейдинга (переводится с англ. как затенение) произошло из рисунка. По сути это затенение белой бумаги в нужных местах. Проще говоря, рисуя сферу мы ее шейдим в с противоположной к свету стороны. Но рисунок ведь чб., и при введении цвета шейдинг принимает более широкое понимание: это поведение света, который отразился от материала или прошел сквозь него. Выходит, что, как я и говорил, шейдинг - это проявление всех свойств материала при просчете сцены.
Когда болит зуб, можно ударить по колену и зуб перестанет болеть, но зато начнет болеть колено. Дай мне точное опрделение термину "ВИЗУАЛИЗАЦИЯ"
intero_ua
Просмотр профиля
Подскажите плиз, что есть по определению "ШЕЙДЕР"
Ато я раньше думал что так называют материалы в МАКСЕ ну или в других редакторах. А щас вижу что Материал и ШЕЙДЕР - разные вещи.
Расскажите пожалуйста популярно, что оно такое и в чём разница.
Действительно хоцца быть хоть немного образованным.
Dinoel44
Просмотр профиля
Секретный user reference:
"A shader is an algorithm that tells the program how to calculate surface rendering. Each shader has a unique set of characteristics in order to serve a particular purpose. Some are named for what they do well, such as the Metal shader. Others are named for the person who developed them, such as the Blinn and Strauss shaders. The default shader in 3ds max 5 is the Blinn Shader."
intero_ua
Просмотр профиля
Спасибо конечно за секретный референс, остроумно конечно.
Но всё-же хотелось-бы попроще, народным языком. (Русским)
Хотя, впринципе я получил то, что просил, определение ШЕЙДЕРА.
Сорри, буду впреть формулироваться конкретнее.
Ещё раз спасибо за сущ. и возм. дальнейшие пояснения по поводу ШЕЙДЕРОВ.
Karba
Просмотр профиля
Если я правильно понял, то материал - это то что в природе.
А щейдер - это его компьютерная математическая модель.
Все, с чем ты имеешь дело в максе - шейдеры. Просто слово дюже замутное, поэтому проще сказать, что материал.
iscander3D
Просмотр профиля
Там же вроде понятно все написано.
ШЕЙДЕР - это ЗАКОН (набор формул), который определяет поведение луча света (фотонов) на границе раздела двух сред.
То есть, грубо говоря, как свет отражается и как преломляется, под какими углами и с какой интенсивностью.
ВСЕ.
Dinoel44
Просмотр профиля
шейдер: как отражает-преломляет
материал: из чего состоит, как отображается, какие настройки и т.д.
Разделение искусственное, как и многое в максе.
hoknamahn
Просмотр профиля
Shader - это программа (функция, процедура), выполняющая закраску одного пикселя, координаты которого (s,t или u,v) передаются шейдеру как глобальные переменные движком рендеринга (будь то максовский сканлайн, ментал, рендерман или еще что). Шейдер красит один пиксель за вызов, а движок рендшнга вызывает шейдер сколь угодно нужное количество раз, необходимое для закраски всех поверхностей, на которые этот шейдер должен воздействовать.
Заморачиваться по поводу того, что такое шейдер в понимании макса, не стоит. Точно можно сказать, что шейдеры у макса есть (любой движок рендеринга их использует), точно можно сказать, что шейдером можно назвать модели освещения (блин, анизотропик и т.п.) И так же можно назвать шейдером собранный пользователем материал (кто, как не он, выбирает функцию закраски пикселя. конечно в купе с источниками света). Так что все это шейдеры. Другое дело, что саму функцию закраски в виде кода вы не видите, но сути дела это не меняет. Как не меняет и того, что такой подход к шейдерам имеет свои ограничения.
dimma2003
Просмотр профиля
Позволю себе тоже вопросик задать:
Что это за вершинные шейдеры, которые сейчас так модны в современных игрульках?
Shiva
Просмотр профиля
Красив как Бог, умен как Дъявол
2hoknamahn: молодец - толково! )
Вершинные шейдеры - по сути Тооже напор поцедур и функций..(все сводиться к ним) которые применяються к каждой отдельной вершине обьекта (вертексу). к примеру.. ты когда применыешь модификатор.. шум, сгиб, сплющивание.. это по сути оно и есть.
Так же есть полноэкранные шейдеры и т.п.
Слово по сути означает ТОлько алгоритм затенения.. но уже давно было перенесенно как понятике и на вершыны и на все остальное ))
Dinoel44
Просмотр профиля
vertex and pixel shaders на русском:
hoknamahn
Просмотр профиля
Shiva точно заметил, что вершинные шейдеры делают почти то же, что и пиксельные, только в применении к вершинам (а не пикселям) и координатам (а не цвету). Вообще разделение на типы шейдеров весьма условно и сильно зависит от языка шейдеров. Например, OpenGL SL (или MS HLSL) различают 2 типа шейдеров - вершинные и пиксельные. У Renderman SL шейдеры приобретают дополнительные специализации (контексты): surface, geometry, light, fog и т.п. Houdini же еще дальше идет, развивая контексты шейдинга до шейдеров композитинга (т.е. шейдер работает в пространстве экранной области композера) или до шейдеров 3d-текстур (т.е. по сути Renderman SL здесь как подмножество) и т.д. Так что по сути если придираться, многое из того, что называется шейдером, так называться не должно. Но с другой стороны, если абстрагироваться от деталей, все это шейдеры
З.Ы. Хотя насчет OpenGL SL я наверное неправ. Язык создавался с оглядкой на Renderman SL, потому дополнительные контексты, скорее всего, присутствуют. Но с уверенностью можно сказать, что разделение на пиксельные и вертексные шейдеры характерно для хардварных шейдеров.
Sparxx
Zeratul
Просмотр профиля
graver
Просмотр профиля
Ше́йдер (англ. Shader) — это программа, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Это может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки.
Т.е. более простым языком. Это полностью настроенный материал(texture, reflect, glossy и т.д.) перед визуализацией.
dentor2005
Просмотр профиля
Т.е. настариваемые нами материалы в готвом виде называются шейдерами? А что тогда различные схемы составления шейдеров и т.д. которые я видел на этом сайте?
Mikle'S
Просмотр профиля
Т.е. настариваемые нами материалы в готвом виде называются шейдерами? А что тогда различные схемы составления шейдеров и т.д. которые я видел на этом сайте?
А что тебя смутило? Материалы различные, вот и схемы различные. Бывают очень хитрые и остроумные.
Кроме того, шейдера часто задаются источникам света, и управляются из редактора материалов. Об этом в менталовской ветке.
То есть делают так. Назначают в кач-ве рендера ментал-рей. Берут источник света.
А потом вот что:
А чтоб выбранный шейдер можно было редактировать, его переносят мышкой в редактор материалов и там потрошат.
dentor2005
Просмотр профиля
Voron
Просмотр профиля
Вобще то шейдер это алгоритм визуализации поверхности. Не больше и не меньше (см. соответсвующие учебники по 3Д графики, к примеру "Алгоритмы 3Д графики", правда авторов не помню. ). Если несколько более простом языком, шейдер определяет как будут выглядеть материалы на поверхности объекта. Соответсвенно шейдер не может быть материалом, это две СОВЕРШЕННО РАЗНЫЕ вещи (примерно как сазать, что красный цвет определяет шероховатость объекта). Соответсвенно шейдер это не полностью настроенный материал. Есть шейдер визуализации по Фонгу или по Блину, но нет материала Фонга или Блина.
п.с. Пора клаву менять, нодоели пропуски букв.
Zeratul
Просмотр профиля
ммм. спасибо! мучает меня вопрос! вот есть например двд с арчшейдерами! тоесть то что в нем сделаные настроеные шейдера или все же это маты? и сопутсвующий вопрос, как их(шейдера) создавать, тоесть шейдер просто иное название глосси рефлекта и бампа или это какие то отдельные настройки типа GenerateGI и ReseveGI или еще чего то?
Mikle'S
Просмотр профиля
Voron
Просмотр профиля
ммм. спасибо! мучает меня вопрос! вот есть например двд с арчшейдерами! тоесть то что в нем сделаные настроеные шейдера или все же это маты? и сопутсвующий вопрос, как их(шейдера) создавать, тоесть шейдер просто иное название глосси рефлекта и бампа или это какие то отдельные настройки типа GenerateGI и ReseveGI или еще чего то?
Если брать определение по учебникам, то есть шейдеры, текстуры и материалы. Текстуры в принципе понятны. Это конкретные карты - процедурные или простые, которые отвечают за определенный параметр в материале - цвет, прозрачность, бамп и т.д. Шейдер отвечает за то, как конкретные текстуры будут выглядеть при визуализации (и будут ли они вобще). Как правило шейдеры описывают законы отражения света от объекта, а так же определяют в каких каналах шейдера и как могут применяться текстуры. Шейдер с конкретными текстурами как правило называется материалом. На ДВД обычно идут наборы текстур (простых, не процедурных, процедурные текстуры в Максе как правило добавляются через плугины). Для Ментала, рендермена и некоторых других визуализаторов вместе с текстурами на ДВД могут быть новые шейдеры. В максе, к примеру, есть ряд плугинов, которые добавляют в него свои шейдеры. Также дополнительные специализированные шейдеры идут и с конкретными визуализаторами. Иногда их можно использовать и с другим визуализатором, иногда нет. Менталовские шейдеры обычно работают только с менталом, а вот Бразиловские, к примеру, более-менее нормально работают в Финалрендере. Плюс часто на ДВД бывают конкретные материал. Т.е. , к примеру, текстуры с диска настроенные через стандартный максовский шейдер для отображения конкретного материала - "полированного красного дерева" или "зачищенной щеткой стали".
Вобще беда российской 3Д графики это путаницы с определениями, так в некоторых русских книгах шейдеры называют материалами, но там же материалами называют и текстуры и непосредственно сами материалы. В зарубежных книгах разделение более четкое.
Zeratul
Просмотр профиля
Спасибо! Начало положено)) разобрались вроде что такое шайдер, теперь меня интересует именно шейдеры под вирей! или например как работает менталовские или же другие шейдера с виреем! Возможно у кого то найдуться ссылочки интересные, имеенно на врай-шейдерс!
Пререлиз. тестирование. не знаю как назвать. Хочу представить вашему вниманию короткое видео демонстрации работы шейдерного плагина - Smart Shader System
Плагин рассчитан на применение в архвиз сфере. Задача плагина упростить создание и настройку простых материалов, сделать этот рутинный процесс быстрым и приятным за счет использования готовых библиотек и предустановок, которые отвечают базовым PBR принципам.
При разработке ставились следующие задачи:
➤ Готовые палитры для диффузного цвета (Ral, NCS и т.д.)
➤ Готовые пресеты материалов (Пластик, Краска, Металлы, Ткань и т.д.)
➤ Готовые персеты значений глосси
Пока это достаточно скромное решение и реализован только первоначальный, базовый функционал, не все палитры еще добавлены и настроены не все пресеты, а только тестовая группа материалов.
Данное решение это не новый шейдер, а просто измененный пользовательский интерфейс у стандартного материала VrayMtl, в котором скрыт базовый функционал, но при этом весь потенциал шейдера задействован по максимуму, например.
. меняя пресет глосси, меняются и другие взаимосвязанные с этой опцией тонкие настройки, на шлифовку которых в обычном архвиз пайплайне нет времени. Все это происходит по определенному алгоритму, заложенному в системе плагина.В релизе будет реализована опция конвертации в обычный материал с сохранением всех предустановок, поэтому никаких проблем при дистрибутивном рендере, передаче сцены у вас не возникнет, на выходе будет стандартный материал для вашей рендер системы.
Релиз для V-Ray состоится в ближайшее время, для Corona Renderer и его стандартного материала CoronaPhysicalMtl, чуть поздней, когда будут отшлифованы все шероховатости у V-Ray версии. Для других рендер систем плагин будет адаптироваться, по запросу.
Сейчас же мне бы хотелось получить от вас обратную связь - как вам идея. что бы вы хотели добавить. что не понятно и т.д.
Подписывайтесь на страницы в социальных сетях Facebook | Vkontakte что бы не пропустить релиз.
Daniel Bauer рассказал о создании реалистичной модели зубов и субдермальных шейдеров в ZBrush, Toolbag и Substance Painter.
Ресурсы
Свой проект я начал со сбора референсов в Google, Pinterest и Youtube.
Сегодня можно найти огромное изобилие ресурсов и проблема заключается в фильтрации такого объёма информации. Для упорядочивания своих ресурсов я пользуюсь PureRef. На таких досках можно хранить технические подробности, например, анатомические размеры, или значения отражаемости и изображения зубов. Сначала на моей доске не было CGI, потому что я стремился черпать вдохновение из реальных примеров.
Совет: сохраните несколько «кроссполяризованных» фотографий. Вы можете многому научится, наблюдая за чистым цветом.
Скульптинг
Для скульптинга основных объёмов я использовал ZBrush. Я не строго придерживался формы, потому что хотел, чтобы образ хорошо читался на расстоянии. Очень часто я сильно отдалял модель, чтобы проверить её. Для получения удовлетворительного результата мешу пришлось претерпеть множество итераций. Кстати, можно воспользоваться режимом ZBrush «see-through» и сравнить свой скульптинг с 3D-сканами на Sketchfab.
Обеспечьте правильный размер зубов и корней, потому что наблюдатель сразу заметит, что пропорции не соблюдены. Очень долго я работаю с низким уровнем subdivision. Чем дольше я работаю над личными проектами, тем больше понимаю, насколько важной стала эта привычка.
Совет: используйте контурный шейдер или чёрный материал, чтобы постоянно проверять силуэты модели.
Я использовал transpose line ZBrush, чтобы измерить каждый зуб и привести их все к верному размеру. Многие люди испытывают трудности с единицами измерения ZBrush, поэтому дам совет:
- Добавьте в сцену вспомогательный объект единичного размера, перенесите его с помощью GoZ в 3D-пакет, отмасштабируйте до 10мм и верните через GoZ обратно в ZBrush.
- Теперь перетащите Transpose Line с одной стороны куба на другую и задайте масштаб в 1 Unit. Так вы сможете использовать Transpose Line, которая считывает точные значения.
Я скульптил каждый зуб по отдельности и это даёт мне полный контроль над запеканием в Toolbag или в Substance Painter. Если каждый инструмент (subtool) будет храниться отдельно, то это обеспечивает гибкость при необходимости модифицирования зуба. Когда я понял, насколько сложны на самом деле человеческие зубы, этот метод позволил мне прислушиваться к отзывам других художников и без проблем устранять недостатки форм. В первом проходе некоторые детали преувеличены, а другие отсутствуют:
Совет: из-за особенностей реализации подразделений (subdivisions, SD), при возврате к уровню 1 SD меш может сжаться. Это приводило к нежелательному эффекту, ведь мои зубы, дёсны и blend mesh должны идеально сочетаться. Я написал макрос, сохранявший morphtarget меша перед каждой командой subdivide и восстанавливающий его исходный объём.
Я использовал этот макрос как мою основную команду subdivide, привязанную к CTRL+D. Скрипт можно скачать отсюда.
Закончив со скульптингом основы, надо подумать над топологией. Хорошая топология может поддерживать скульптинг, блеск и анимацию.
Плавность расположения полигонов зубов и дёсен помогает blendmesh сохранить все сложные формы.
Всегда нужно поддерживать равновесие между низкополигональностью и количеством опорных рёбер. С самого первого уровня SD я стремился к созданию чёткого силуэта зубов:
Вот пара хороших ресурсов по топологии:
Начинайте использовать Toolbag или Keyshot как можно раньше, чтобы находить области, пропущенные на этапе детализации. Кроме того, наблюдение за результатами помогает в движении в правильном направлении.
Я хотел представить модель в окружении реального времени, поэтому создал переходный меш
для реализации блендинга зубов с дёснами. В противном случае подподверхностное рассеяние в экранном пространстве приводит к резким переходам. Я расскажу о том, как повысил уровень детализации в этом blendmesh.
В ZBrush можно нарисовать тонкие трубочки в полостях, которые будут обозначать скопления слюны. Мы используем их только для запекания. Таким образом мы получим плотно прилегающий вогнутый blendmesh плюс нормальную карту, напоминающую выпуклую форму. Это пригодится в рендерере реального времени, потому что во впадинах мы получим красивые отражения, как показано на этом изображении:
UV-развёртка
Можно импортировать меши в 3ds Max или другое похожий пакет для создания развёртки и планировки текстуры. Мне хотелось сохранить UDIM-развёртку, чтобы иметь готовую к продакшену модель на разных платформах. Я перенёс через GoZ мои инструменты 3ds Max для указания швов разрезов, а затем выполнил «quick-Peel» и операцию упаковки. Затем вернул всё через GoZ обратно в ZBrush, чтобы воспользоваться его мощным инструментом создания развёрток («use existing seems»). Это очень важно, если вы хотите экспортировать карты смещений из ZBrush.
Совет: многое о развёртках можно узнать у Тима Бергхольца.
Раскрашивание текстур и смещение
После создания развёртки можно загрузить модель в Substance Painter, чтобы раскрасить её.
На раннем этапе у меня постоянно был запущен Toolbag со всеми моими шейдерами. Так как дёсны отражают много света, скрывая таким образом информацию альбедо, я преувеличил цвета:
Для большинства полостей я использовал чуть более сильное значение roughness, но исключил полости зубов, в которых значения шероховатости ниже. Я продолжал настраивать эту карту даже в процессе написания статьи, поэтому получил новые отзывы. Мне нравится завершать проекты, но для повышения своих навыков необходимо относиться к себе критически и быть открытым к новым идеям.
Совет: создайте тёмно-серый цвет во всех наборах текстур и переключайте режим смешивания на «replace», чтобы сразу же проверять поведение карты roughness при различных условиях освещения.
- Непрозрачность для blendmesh
Добавьте в «Texture Set Settings» канал opacity и создайте fill layer внизу стека слоёв с нейтральными нормалями и обнулённой информацией об opacity.
Теперь можно начинать рисовать поверх маску непрозрачности (для наглядности я использовал красный цвет).
Для получения идеального результата пришлось потрудиться, но спешка на этом этапе очень снизит общее качество рендеринга.
В нём есть удобная функция, анализирующая инструменты и выравнивающая карту смещений, чтобы покрыть все высокие и низкие значения. Я использовал Multi Map Exporter, чтобы объединить отдельные инструменты с относящимися к ним тайлам UV, использовав следующие параметры:
Шейдер
Для каждого набора текстур я создал в Marmoset Toolbag свой шейдер. Это позволило мне использовать разные параметры шейдеров для языка, зубов и дёсен.
Перед настройкой шейдеров SSS и смещения важно правильно задать масштаб сцены. В Toolbag есть ползунки «Scale» и «Scale-Center», и я воспользовался ими, чтобы подчеркнуть эффект смещения:
Вот параметры моего шейдера для зубов:
Модель затенения
Я считаю, что самое важное в шейдере зубов — это модель отражения, для которой я выбрал параметр «Refractive». Индекс преломления определяет, насколько путь луча искажается или преломляется при попадании в материал. Очень важно придать материалам правильный внешний вид. Изучив вопрос, я узнал, что IOR дентина равен 1.540.
Чтобы подчеркнуть сниженные значения отражаемости во впадинах, я добавил в шейдер карту полостей и передвинул ползунок «specular cavity» на 0.4. Ползунок Diffuse Cavity я оставил на нуле, потому что моя Albedo map уже содержала заливку полостей красным цветом.
Вот сравнение между моделями преломлённого и зеркального отражения:
Совет: посмотрите объяснения модели зеркального отражения в видео Джо Уилсона и Ли Деновалда:
Читайте также: