Render.ru

IES и Единицы измерения.

Рейтинг
82
#1
Изучая файл с примерами (файл не мой, и до этого случая "рендерился"без проблем) совершенно случайно не переключил (а если точнее не разрешил) единицы измерения на те,что указанны файле и в результате получилось вот,что (рис 1-2).При родных единицах измерения получалось (рис 3).
В результате выяснилось проблема заключается в работе multiplier (мультипликатора) (dimmer) (диммер) и IES файлах.Из рекомендаций Pierre-Felix Breton(а) ведущего специалиста Autodesk по физически корректной визуализации единицы измерения лучше использовать(рис.4- 5).
 

Вложения

Рейтинг
82
#3
Я не стал раскрывать эту тему более подробно,но если станет интересно я постараюсь это сделать в ближайшее время.Решать ВАМ.
 
Рейтинг
82
#5
Постараюсь доступным языком.
Начну с того,что речь идёт о реально существующих моделях светильников реально существующих производителей ,а точнее об их клонах в виде IES файлов для использования в физически корректных моделях освещения.
IES файлы(фотометрические светильники) созданные производителями использующие не метрическую систему единиц могут не корректно читаться "множителем"макса отсюда следует использовать "родные"единицы измерения МАКСА .Но если более подробно то: в теории IES файлы кроме специальных программ (IESGen, IES VIEWER) для их просмотра и редактирования можно открыть простым текстовым редактором.После их открытия будет видно,что текстовый файл состоит из дух частей это раздел описания светильника (красным цветом) и раздел базы данных (синим цветом)рис 1.В секции заголовка есть специальные "бит"-ы (зелёным цветом), которые инструктируют "множитель"программы (в данном случае 3ds MAX) о том каким образом пересчитывать данные .Ошибка заключается в том,что "инструктаж" в некоторых случаях игнорируется.В принципе ничего не мешает это сделать "вручную" но для этого необходимо досконально знать степень распространения света этого источника а здесь не всё так просто.До сегодняшнего дня нет чёткого определения двух значений это точка начала и точка завершения распространения света того или иного светильника .Нельзя просто увеличив значение (cd) например в 2 раза увеличить степень распространения света аналогичным образом. Берём (к примеру)100вт источник света со определённой формой распространения и умножаем в два раза, по идее степень распределения должна увеличиться на 2,но в реальной жизни это не совсем так.Из этого следует,что не следует изменять значения реально существующих светильников в большую сторону если требуется физически корректная модель освещения сцены.
Вопрос об использовании тех или иных единиц измерения в 3ds max довольно не нов и в первую очередь он возникал при работе с плагинами но так как явных артифактов не наблюдалось в виду того,что значения находились в основном империческим путём то и потребности следовать особым правилам не было.
Используя визуализатор Mental Ray этот вопрос возник вновь уже с точки зрения их физической корректности.В сущности ничего не мешает использовать "родные" единицы измерения подразумевая,что 1=1см.
 

Вложения

bair4ik

Активный участник
Рейтинг
16
#6
т.е. для физ., корректного освещения использовать пресет с картинки 4-5 да?
 
Рейтинг
82
#7
Для физическикорректного освещения нужно соблюдать целый ряд необходимых условий и одним из которых является использование освещения инженеров и электриков(IES) а для корректной работы "множителя" 3ds Max, а именно он управляет параметрами при их изменении,соблюдением баланса между распределением света и яркостью(например) а так же и с другими элементами сцены.И выбор "родных"(Inches) единиц измерения , это вполне уместный совет от Pierre-Felix Breton(а) специализирующегося именно на физически "правильной" визуализации в Autodesk.Да и про плагины не стоит забывать.

P.S.Вообще вопрос о физически "правильной" визуализации желательно рассматривать отдельно и скорей всего в отдельной "ветке".Информацию приходиться собирать "по нитке".При случае обязательно поделюсь.
 

eritikovarik

Активный участник
Рейтинг
12
#8
Тема очень интересная и познавательная, я за продолжение :)...!!!!то есть я правильно понимаю, что нужно оставлять те единицы измерения, которые у самого макса, но тогда встает вопрос...почему пишут , что нужно выставлять везде метрические единицы?И я заметила, что когда я забываю переставить на метрические единицы измерения у меня потолок рендерится серым, а в тех сценах, где единицы метрические такого нет..
 
Рейтинг
82
#9
Работать можно в любых ед.изм. но в таком случае нет полной гарантии того,что фотометрические светильники будут "работать"правильно(имеется в виду распространение света)!Создавать сцену необходимо с "нуля" а не переключаться с метрических единиц на Inches и обратно в процессе проектирования.И опять таки работа установленных плагинов будет более корректной.
 

Сергей Киситин (KISITIN)

Активный участник
Рейтинг
14
#10
Большой вопрос к diwian diwian)))
Делаю фонтан в Real flow по реальным размерам. Да только никак не мог разобраться с масштабом для экспорта модельки. Объекты в RF огромными эспортируются. В хелпе RF написанно что их ячейка сетки равна 1метр (pic_1) В максе делаем кубик 1x1x1 м с настройками Unite scale как рекомендует нам тот самый чувак из автодеск (Pierre-Felix Breton)! (pic_2)
результат - гигантский кубик в RF!! да и не только в RF! XSI MAYA и др тож самое!
а потом я после поисков как лечить нашел вот такую статью! http://blog.duber.cz/3ds-max/system-units-setup-in-3ds-max
и там совсем противоположное мнение!! Причем оно работает!!!!!!!!!!!
новый кубик с новыми параметрами scale! (pic_3) и вот результат!(pic4) идеально!
Я конечно не профи но не думаю что нужно моделить в одних единицах потом для рендера ставить другие......
Как же все таки верно? (кстати про ссылку на статью не забываем))))))!!!
 

Вложения

Рейтинг
82
#11
Статью посмотрел .Ничего нового в ней нет.Всё это давно известно.
К сожалению не могу сказать про RF(всё нет времени ей заняться, хотя и установлена) но по всей видимости дело не в максе а именно в методе конвертации RF.По мимо макса (при конвертировании в другую программу) необходимо учитывать и системные ед. этой программы.А пример в первом сообщении, лишь предупреждение о возможных неудобствах связанных с IES файлами созданными в другой системе ед. изм.И не более того.
Я в основном работаю в "см" и стараюсь использовать те файлы ед.изм которых соответствуют метрическим.


P.S.Попробуй использовать и там и там "мм".Возможно результат будет более предсказуем. Не знаю.Отпишись ели получится.
 

Сергей Киситин (KISITIN)

Активный участник
Рейтинг
14
#12
наверное ты и прав(( Проблема в максе. Из Maya и XSI "улетают" на ура. и все в масштабе. а эта проблема вообще не для этой ветке.
Просто если что то моделить для постоянного обмена между пакетами то неудобно конечно....
P.S. миллиметры не помогли) Еще больше размер стал)))
Спасибо!
 
Рейтинг
82
#13
Да не за, что эта, проблема существует и говорить о ней нужно, хотя бы для того,что бы найти наиболее оптимальные решения.А если ещё и затронуть тему работы плагинов, так тут вообще полный "туман".Но вообще ищи в настройках множителя той программы куда планируется экспортировать, да и проверить бы не мешало работает "он"(множитель имеется в виду) с этими ед.измерения точнее работает ли сам его алгоритм.
 
Рейтинг
318
#14
Через что экспортируем модель в RF? надеюсь, не через 3ds?
При экспорте через OBJ ставим нужный скейл фактор. Например, макс в см (имеется ввиду системные единицы, и только они!), при перегоне в RF ставим коэфф. 0.1. Все просто.

И смысл очень прост. Внутри есть только юниты. В рф юнит равен 1 метру. Навсегда. В максе он может варьироваться. Например, 1 см. При перегоне "один в один" 1см макса становится равен 1 м РФ. Вот и все.
 
Рейтинг
82
#17
А нет ли в максе "где поглубже" переключателя что бы после перетаскивания изображения из другой папки во вьюпорт(на объект) материал назначался не стандартный а какой либо другой(с уже подготовленными свойствами).Особо проблема не беспокоила пока не пришлось работать с продуктами питания (а их оказалось несколько сотен)?
 
Рейтинг
82
#19
Надо попробовать.Спасибо!
Я так понял, максовскими средствами ни как, или просто не знаем?
 

igorznag

Мастер
Рейтинг
103
#20
А нет ли в максе "где поглубже" переключателя что бы после перетаскивания изображения из другой папки во вьюпорт(на объект) материал назначался не стандартный а какой либо другой(с уже подготовленными свойствами).
Попробуйте такой вариант:
В первый слот обычного Material Editor-а создаем стандартный материал.
Назначаем любое растровое изображение в качестве Diffuse.
Нажимаем правую кнопку мыши на слот карты Diffuse и выбираем пункт Copy.
Во второй слот обычного Material Editor-а создаем нужный материал с нужными свойствами.
Нажимаем правую кнопку мыши на слот нужной карты и выбираем пункт Paste (Instance).
Нажимаем кнопку Show Map in Viewport.
Запускаем скрипт.
Перетаскиваем растровое изображения из папки во вьюпорт на объект.
--------
Обновляется карта материала из первого и второго слота Material Editor-а.
Материал из второго слота Material Editor-а назначается объекту автоматически.
Скрипт будет работать, если применить объекту любым способом стандарный материал с растровым изображением в качестве Diffuse.
Чтобы остановить, нажимаем кнопку Stop.
Код:
-- Functions 
fn igorznag_drop_bitmap_fn =
(
undo off
(
obj=callbacks.notificationParam()
if isValidNode obj then
(
mat=obj.material;mat_name=mat.name
if classof mat == standardmaterial then
(
mat_map=mat.diffuseMap
if classof mat_map==BitmapTexture then
(
slot1_mat=meditMaterials[1]
if classof slot1_mat == standardmaterial then
(
slot1_mat_map=slot1_mat.diffuseMap
if classof slot1_mat_map == BitmapTexture then
(
slot1_mat_map.filename=mat_map.filename
callbacks.removeScripts #nodePostMaterial id:#igorznag_drop_bitmap
obj.material=copy meditMaterials[2];obj.material.name=mat_name;
callbacks.addScript #nodePostMaterial "igorznag_drop_bitmap_fn()" id:#igorznag_drop_bitmap
)--if classof slot1_mat.diffuseMap==BitmapTexture then
)--if(classof slot1_mat== standardmaterial then
)--if classof mat_map==BitmapTexture then
)--if classof mat == standardmaterial then
)--if(isValidNode obj)then
)--undo off
)--fn
try (destroyDialog igorznag_drop_bitmap) catch() 
rollout igorznag_drop_bitmap "Drop Bitmap" width:130 height:30 
( 
-- GUI 
-------- 
button btn_start "Start" pos:[10,5] 
button btn_stop "Stop" pos:[80,5] 
-- Event Handlers 
on btn_start pressed do 
( 
callbacks.removeScripts #nodePostMaterial id:#igorznag_drop_bitmap
callbacks.addScript #nodePostMaterial "igorznag_drop_bitmap_fn()" id:#igorznag_drop_bitmap
)--on btn_start pressed do 
on igorznag_drop_bitmap open do igorznag_drop_bitmap.btn_start.pressed()
on btn_stop pressed do callbacks.removeScripts #nodePostMaterial id:#igorznag_drop_bitmap
); createDialog igorznag_drop_bitmap
P.S. Создаем копию сцены перед тем, как использовать скрипт.
 
Сверху