Перейти к содержанию
News Ticker
  • News ticker sample
  • News ticker sample

Короткая лекция по материало ведению в Maxwell Studio


Vetalyga

Рекомендуемые сообщения

Очень полезный ликбез по организации материалов в Студии...(переведено с оффсайта...)

"Многие люди с проблемами продираются через систему настройки материалов Максвелла, какие параметры, за что отвечают и как их соотнести с привычными определениями 3D мира. Попробую описать имеющуюся концепцию, чтобы сделать настойку материалов более интуитивной.

Первое, попробуйте приблизить мат. систему к реальной жизни, забудте о том, что другие рендереры называют diffuse (рассеянным, отраженным цветом), specular reflections (зеркальным отражением), glossy reflections (глянцевым отражением)... Все это не имеет отношения к реальному распространению света. Перед тем как разобраться с мат. системой максвелла, посмотрим, что заставляет поверхность выглядеть как в реальности, как свет взаимодействует с ней.

Почему видимая поверхность имеет определенный цвет? Хорошо, сначала надо понять, что такое свет. Электромагнитное излучение, распространяющееся волнами. Волны излучения могут иметь разную длину (расстояние между "верхушками" волн). Длина волн может изменяться от ультракороткой (например, рентген) до очень широкой (радио-передачи).

То, что мы называем видимым светом это очень маленькое количество из этого разброса под названием спектр. Мы будем говорить о спектре видимого света. Небольшие различия в длинах волн спектра - то, из - за чего мы видим различные цвета. Например, синий свет имеет немного меньшую длину волны, чем красный свет. Хорошо, теперь вернемся к тому, почему мы видим материалы определенного цвета. Когда свет(электромагнитно

е изучение) касается предмета, какое-то количество излучения поглощается объектом и превращается, к примеру, в тепло, другая часть отражается и попадает в наши глаза. Некоторые материалы имеют тенденцию поглощать определенные длины волн меньше чем другие в спектре и большее количество этих волн отразится в глаза. Поэтому когда мы видим синий предмет это значит что его поверхность поглощает меньше всего тех волн, которые воспринимаются синим.

Данная информация, надеюсь, воспринимается однозначно, что видимый вами объект виден благодаря отраженному свету в ваши глаза, и ВЕСЬ свет - отраженный. В Максвелле вы можете установить цвет объекта в соответственно названном reflection color (отраженный цвет) параметре. И если вы хотите увидеть синий мячик, установите этот параметр на синий. Другое важное замечание о том, что поскольку некоторый свет (Э-М излучение) поглощен поверхностью, она никогда не отразит столько же света, сколько получено. Поэтому вы должны знать, устанавливая reflection color по RGB на 255, что поверхность вообще не поглотит свет, и в результате вы потеряете контрастность и получите намного больше шума, поскольку Максвелл продолжает высчитывать движение света взад-вперед между объектами. Количество света, отраженного, к примеру, белой бумагой в RGB означает что-то около 218.

То, что создает разницу между сильно отражающей поверхностью вроде зеркала и заметно не-отражающей поверхностью вроде паркета- это roughness(шероховато

сть) поверхности. Когда поверхность почти гладкая, световые лучи, отражаемые поверхностью, более-менее сохраняют направление отражения <...заданное углом падения...> и создают четкую "картинку" окружения, отраженного в наши глаза от поверхности. Но если поверхность более шероховатая, падающие лучи отразятся в случайных направлениях, давая очень грубую картину отраженного окружения.

Касательно Максвелла, как мы должны контролировать эту грубость и гладкость? Параметром roughness. Меньшая roughness означает, что свет отразится гладко и мы получим зеркальные отражения. Напротив, отжав Lambertian-галку, мы отразим весь свет абсолютно рассеяно.

Что делает предмет более-менее прозрачным? Э-М излучение даже видимая его часть не просто отскакивает от предмета, но также и проникает в него. Насколько оно может проникнуть внутрь предмета, зависит в основном от того насколько плотный это предмет. Большая плотность означает больше атомов, а когда световой луч проникает в предмет и задевает атом, он теряет энергию. Можно сказать, что луч исчезает по мере касания атомов. Некоторые лучи света могут пройти насквозь объекта. Если не хватает плотности поглотить их все, световой луч проходит насквозь. Объект становится прозрачным.

Некоторые длины волн поглощаются быстрее других, это зависит от других вещей в параметрах встреченного ими материала. По этому мы видим подкрашенное, например зеленое стекло - все длины волн кроме тех, что дают зеленый, поглощаются, и все, видимое сквозь объект будет зеленым.

Что касается Максвелла, attenuation distance(расстояние проникновения) определяет то, насколько световой луч пройдет сквозь предмет, перед тем как половина его энергии будет поглощена. Если ваш предмет имеет толщину 1см, и attenuation distance выставлен на 1см, это значит, что половина энергии пропущенного сквозь предмет луча будет поглощена, и на выходе свет будет вполовину менее ярким.

Цвет, выбранный в параметре transmittance, определит окраску пропущенного через материал предмета света.

Attenuation distance и transmittance связаны и влияют друг на друга. Например, если вы установите attenuation distance 10см для предмета толщиной 1см (очень легкий материал очень низкой плотности), но оставите значение transmittance 0 по RGB, материал останется матовым. Необходимо будет поставить, как минимум на 1, чтобы attenuation distance начал браться во внимание при просчете.

При этом если цвет transmittance зеленый для того же предмета 1см толщины, но attenuation distance 10m, большинство волн спектра пройдет сквозь объект, неважно, зеленых или синих или еще каких. Мы не увидим подкрашенное стекло, увидим чистое стекло. Простое решение - уменьшить attenuation distance, сделав предмет слегка плотнее.

Что такое ND? Максимальная скорость света достигается при распространении в пустоте, в воздухе же свет замедляется. Чем плотнее для света материал, тем медленнее скорость света. Когда свет путешествует сквозь материалы разной плотности, это замедление приводит к его искажениям. Опустите свои пальцы в стакан воды и увидите, насколько они стали толще. Этот эффект называется рефракцией. Поскольку значение рефракции зависит от разницы между двумя соприкасающимися средами, нам нужна база, с которой мы соотносим все другие материалы. Было решено что этот "материал" - пустота. Значение рефракции материала или индекс рефракции определяет искажение света при его переходе в материал из пустоты. Индекс рефракции пустоты -1, и все другие вещества плотнее пустоты имеют более высокое значение и сильнее искажают свет.

IOR - index-of-refraction-индекс рефракции в ND - это N.

Другой эффект вызван тем фактом, что лучи других длин волн не рефрактируясь, замедляются. Чуть расходясь под небольшими углами, видимый свет распадается на компоненты. Когда вы видите радужную палитру, этот эффект называется dispersion(дисперсие

й). Возникает он в небольшом количестве случаев, и в Максвелле можно его выключить и рендерить быстрее.

В ND дисперсия это "D". Зная что все длины волн рефрактируют по-разному, вы решаете какую длину волны вы определяете для IOR материала. D в ND просто значит что длина волны 589.29nm используется для установки индекса рефракции материала. Значение ND также применимо к матовым материалом вроде металлов и пластиков, оно выше чем ND воды например, потому что они поглощают больше света. Поэтому для них лучше ставить 3 или больше для конкретных пластиков, а у металлов nd еще выше.

Все измерения рефракции на самом деле состоят из двух частей, одна- это рефракционный индекс, а вторая указывает сколько Э-М излучения поглощено материалом. Это значение поглощения определяет коэффициент k. Для большинства прозрачных диэлектриков поглощение настолько мало что k можно игнорировать. Но для металлов его нельзя игнорировать, так как это сильно влияет на визуальное качество отображения материала. Здесь приходит на помощь complex IOR, берущий в расчет значение k и указывающий это значение не для одной, а для многих длин световых волн."

Ссылка на комментарий
Поделиться на другие сайты

да очень интересно, я думаю каждое изучение какой либо визуальной проги должно начинаться именно с этого потому, что я уверен многие крутят параметры матов не всегда понимая почему они это делают и зачем и насколько это верно а опотом удивляются а опчему стекло не отличается от асфальта.

а приятнее всего в подтверждении сказанного выкладывать и маты

Ссылка на комментарий
Поделиться на другие сайты

Dane4ka Создание материала - рассказка от Mihai

Перевожу дальнейшую дискуссию (тут примерно половина всего полезного):

Вопрос: Отлично, Mihai. Только один вопрос. В пример дву - bdsf- слойной поверхности был приведен полу – глянцевый пластик. Я считаю пластик однородным, и не требующим coating(покрытия, bdsf в т.ч.) Для пластика достаточно имитировать его взаимодействие со светом цветом и roughness.

Поэтому, возможно, перед тем как разбираться с ND значениями, вам следовало подробно объяснить теорию о слоях BSDF, как они относятся к Максвеллу и к реальности?

Ответ: Пластики на самом деле комбинация разных материалов с разной отражательной способностью, но их «части» так малы, что они выглядят как один материал. Чтобы изобразить похожий материал, вам нужно два bsdf с разным значением roughness. Другой пример – грубый пластик с гладкой покрывающей пленкой. Для таково нужно просто применить coating, или снова два bsdf. Зависит от того что нужно получить.

Другой фактор для определенных пластиков, это эффект под-поверхностного рассеивания которое подсвечивает границы. Это достигается с SSS(sub-surface scattering), которое иногда затягивает время рендера, но тот же эффект достигается комбинацией bsdf разной roughness, быстрее, и с практически тем же результатом.

Вопрос: разве все пластики – смесь материалов и что это дает качеству их отрисовки? Объем глянца и шероховатости зависит от пропорций смешивания разных материалов?

Ответ: нет, не все. Можно сделать пластик с одним bsdf и накрыть сверху coating, если хочется, чтобы изобразить гладкое завершение. Два bsdf дадут больше контроля так как завершение не будет достаточно хорошим, или необходимо добавить царапины, или карту roughness и т.д.

Ответ: что-то вроде, только материалы не наслаиваются один на другой, а смешиваются друг с другом.

Пластики принципиально создаются из связки и смеси plasticizers, наполнителей, пигментов и др.

Связующее вещество (binder) как правило дает пластику основные характеристики ит его имя. Поливинилхлорид это название связующего вещества и пластика в состав которого оно входит. Таким веществом может быть природный компонент (целлюлоза, казеин, или протеин, белок) но чаще искусственные резины. В таком случае связующий материал состоит из очень длинных похожих на цепи молекул, полимеров. Производные целлюлозы состоят из природных полимеров, казеин то же самое, а синтетическая резина полимеризована, т.е. состоит из маленьких простых молекул – мономеров. Plasticizers добавляются в связующее вещество чтобы повысить эластичность и жесткость. Наполнители добавляют чтобы повысить конкретно качества твердости и сопротивления внешним воздействиям. Пигменты - для придания различной окраски. Теоретически, любые желаемые цвета и формы во всех комбинациях твердости, прочности, эластичности и сопротивления нагреву, охлаждению, растворителям могут относиться к пластику.

Вопрос: Почему Максвелл не может имитировать простой однородный пластик и его блеск одной отражательной способностью и шероховатостью? Затронув слои, нужно было рассказать в деталях отношения между первым bsdf и вторым, и почему roughness поверхности должна быть задана в отдельном слое если блеск есть только результат этой roughness?

Ответ: Вообразите, у вас есть шероховатый пластик, без признаков зеркальных отражений. И вот вы полируете его поверхность, выравнивая очень тонкий слой который дает вам зеркальные отражения, но много света проходит сквозь этот тонкий первый слой и отражается от нижней поверхности, которая более пористая и свет отражается назад более рассеяно.

В любом случае, я не нахожу систему максвелла абсолютно законченной, но те же самые вопросы можно задать разработчика любого рендерера. Зачем мне нужно отдельно задавать diffuse(рассеянный) цвет и цвет глянца? Чтобы контролировать корректное отображение материала, чем больше отражая свет глянцем, тем меньше собственным светом. В максвелле это так же предусмотрено. Система материалов не совершенна, просто другая.

Существует огромное количество материалов, которое невозможно создать старыми системами.

Вопрос: Максвелл делает ударение на физическую корректность, что восхищает, и что в первую очередь хочется получать в рендеринге.

-Маквелл рендерит свет спектрально, что, без вопросов, физически корректно.

-Камера дает опции настройки выдержки\оптики и стандарта пленки, аналогично

-Источники света имеют собственный обьем и определяются единицами реального мира, что так-же корректно.

Но материалы. Если я хочу создать белую покраску с 30% глянцем и общей отражательной способностью 70%, я буду ошибаться и пробовать снова, пока не добьюсь корректного результата. Где же в этом физическая точность? Как вы представляете себе физически корректный материал, если такое основное качество как общая отражательная способность(total material reflectance) опущено? Ведь это весь свет, ОТРАЖЕННЫЙ материалами, это то, как мы видим мир. В мире максвелла все может быть физически определено, кроме этой важной мелочи.

Ответ: Конечно, еще много остается возможностей для улучшения системы настройки материалов, это то в чем суть разработки программы. Вспомните систему XSI до версии 3.5 – думаю, у людей были проблемы с тем, как корректно применить bumpmap, находя нужные узлы – ноды -nodes- и правильно их соединяя. Но как только проходил первый шок от освоения элементарных принципов, вы понимали что это за вещь и наколько она гибкая. Максвелл-система куда легче той. Вспомните бету- могли ли вы получить стекло с золотыми декоративными вставками? Как насчет шероховатого пластика с глянцевой окантовкой? – тоже нет. Многоцветное стекло? Окрашенный фарфор? Теперь же есть возможность изящно смешать два разных типа материала, через weightmap –карту влияния.

Как вы получали эти материалы в других механизмах? Там не было проблем с пониманием принципов, зато часто бывало сложнее что-то из них выжать.

Как вы определяете, какая часть вашей белой покраски глянцевая, а какая просто рассеяно отражает? Мне кажется, на самом деле это сложнее чем вы думаете. Думаю, что total reflectance – это слот настройки reflection color. Но видя насколько много материалов в природе, выглядя однородными, являются смесью, нужно использовать разные bsdf. У вас не получится создать абсолютно аккуратный материал, но теперь мы куда ближе к этой возможности чем во времена беты! Если нам нужна абсолютная точность мы должны измерить bdsf измерения поверхности с измерителем углов отражений (gonioreflectometer)

, но такое устройство не все могут себе позволить, и кое-какие параметры действительно отсутствуют, но кто знает что ждет нас в будущем...

Далее интересно: Mihai не сомневается, что в планах разработчиков процедурные текстуры!

Общий вывод из дискуссии – рассматривать bsdf не как слои друг поверх друга, а как слияние двух разных по характеристикам материалов в однородную субстанцию.

Далее.

Вопрос: Я заметил что некоторые материалы a-team (типа jdhill's AE_Butterscotch) не следуют правилу версии ReleaseCandidate-5 “никогда не ставьте 100% используя карты влияния» Это ошибка руководства или я что-то пропустил?

Ответ(не Mihai):

Думаю что если такое число превышает 100%, Максвелл использует пропорцию, т.е. 60 и 240 то же смое что 20 и 80. Уверен, что если это не так, меня поправят J

Ответ (далее)

Это так если система смешивания “normal” Если «adaptive”, то вы получите нереалистичные значения путем их простого складывания.

Ответ:

Да, так и происходит(значения нормализуются автоматически) И если влияние обоих слоев 100/200 то они соотносятся как 100/200 (или 50%)

Ответ: значения ND очень важны при создании пластика, поставьте в bsdf отвечающем за отражения на что-то вроде 3-х. Для металлических поверхностей не забывайте использовать complex ior - файлы (из одноименной папки в корне программы). Приятная особенность файлов metallic ior - они рендерятся быстро, в отличие от transparent ior, который вызывает эффект дисперсии. Если вы хотите получить красивую гладкую алюминиево-подобную поверхность, загрузите al. Ior и настройте roughness. А еще конечно-же можно загрузить тот-же набор индексов в два bsdf и поставить их roughness на разные значения. Это даст отличную шероховатую по сути, полированную снаружи поверхность…

Ссылка на комментарий
Поделиться на другие сайты

И еще чуть чуть:

Вопрос: Mihai высказал мнение что сложно точно определить соотношение отраженного цвета и цвета глянца. Советую ему пересмотреть свое мнение:

далее ссылки:

http://www.alanod.com/opencms/sites/alanod...ften/index.html

http://www.coleparmer.com/techinfo/techinf...Measuremen

t.htm

К примеру, я разрабатываю материал (не могу перевести: epoxy powder coated white: Эпоксидный? Белый порошок? какая- то краска...) я знаю из спецификаций краски что ее общая отражательная способность 80% и сказано что 10% от нее блестит глянцем. Давайте оставим пока roughness и попробуем выстроить параметры как в бете: пластик, diffuse 0,0,184. specular 0,0,20. Как я к этому пришел? 80% от 255 это 204, а 10% это 20. Слагаемое рассеяный свет+глянец не должно превышать 204 поэтому компонент рассеянивания эквивалентен общей сумме минус глянец: 204-20=184.

Теперь то же самое в V1. Создаю два слоя bsdf, —тавлю первый на †Lambertian, reflection<color> 0,0,184, weight 90, ставлю другой bsdf на 0 roughness(мы игнорируем roughness, помните), reflection 0,0,20, weight 10. Нет, неправильно, глянец не видно... попробуем поставить матовый (с lambert) слой на 0,0,255, weight 72 (90% of 80%), а на другом bdsf - 0,0,72 (255/(28 / 8 ) weight 28. Сильно ближе...а что если я... и так далее, и тому подобное.

Видите: я не могу понять сразу, как установки редактора материалов соотносятся с реальными параметрами... я на правильном пути?

Недавно были разговоры о том, что максвелл может использоваться как инструмент светового анализа; это было отложено в долгий ящик? Тем более что это требует сопоставления настроек материала с реальными. может быть, кнопка material info сыграет роль?

Ответ: Хороший вопрос, но я хочу пойти дальше, чем те таблицы, на которые вы дали ссылки, потому что не могу согласиться со столь простым описанием материала. Много материалов не имеют 80%-го рассеивания и 20%-го глянца с каждого из углов, под которыми мы их рассматриваем. Многие при повороте меняют собственно цвет.

И именно в таких случаях установки bsdf играют роль, я думаю, в них мы куда гибче и корректней можем настроить отображение поверхности. Они сориентированы на огромное количество света, рассеивающегос? под разными углами.

Поскольку Максвелл закладывает твердую основу в настройке материалов "как в жизни", лучше сейчас начинать использовать такие вещи как complex ior, например и так далее - мы получим готовые образцы измерений bdsf разных пластиков и составных материалов в будущем именно на маквелловской основе!

_____

конец.

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...

Важная информация

Прочитайте