Render.ru

Исключение поверхности из фотонной карты

Vertex

Активный участник
Рейтинг
19
#1
В процесси генерации фотонной карты, фотоны сохраняются на всех объектах сцены, независимо от того, видны ли они в камеру или нет. Например, делая интерьер, значительная часть фотонов сохранится на потолке и стенах со стороны улицы, чего нам нифига не нужно, это, по идее, пустая трата оперативки.
И в мою светлую голову пришла идея :)-D) - а нет ли такого шейдера, который бы указывал, что для выбранной поверхности фотоны сохранять не нужно?
 

Vertex

Активный участник
Рейтинг
19
#2
Уточню: меня интересует исключение не всего объекта целиком, а только выбраных полигонов.
 

Puppet

Активный участник
Рейтинг
19
#3
Нужно отсоединить у объекта фотонный шейдер, тогда фотоны не сохранятся на нем.

Ну или возможно есть какие то галки на объекте типа Recieve GI и тп.

А вообще если у вас инетрьер, то источник света лучше направить точно в окно (spot), чтобы лишние фотоны никуда не летели.
 

Vertex

Активный участник
Рейтинг
19
#4
После Вашего ответа, Puppet, вопросов стало в два раза больше:
1) Как отсоединить фотонный шейдер у Arch&Design и ProMaterials?
2) Почему Вы советуете направить в окно Spot, когда солнце по отношению к Земле является скорее Direct'ом?
Уточню: я делаю комнату одним объектом, экструдируя план помещения, соответственно мне необходимо отключать сохранение фотонов выборочно для отдельных полигонов.
 

Puppet

Активный участник
Рейтинг
19
#5
Я так понимаю речь о максе.

1) У Arch&Design в самом низу в закладке 'mental ray Connection' убираем замок у 'Photon'.
Так же на каждом объекте в 'Object Properties' есть галка 'Receive Global Illumination'.

Не вижу приблемы в отсоединении наружных полигонов в отдельный объект.

2) Direct Light по отношению к испусканию фотонов очень не выгоден по причине не возможности его настроить. Тоесть нельзя его настроить так чтобы он испускал фотоны только в одном место. В итоге в случае интерьера директ лайт скорее всего будет испускать фотоны на всю сцену (а надо только в окно). Что не рационально.

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

А Spot Light и Direct Light отличаются только параллельности лучей. Если отодвинуть Spot чуть подальше, то будет практически тоже самое.
Но если вам все равно хочется использовать Direct Light, то можно на нем выключить фотоны, а для них создать Spot где выключить только фотоны без света и теней.
 

Vertex

Активный участник
Рейтинг
19
#6
Дело в том, что передняя стена моего помещения принимает на себя второй отскок фотона, так как под окно я кладу белый плэйн, который значительно уменьшает избыточный Color Bleeding. Второй-то отскок уже прописывается в карту по-любому.

Появилась идея, непровереная пока на практике (и время я найду ещё не скоро), но, на первый взгляд, безупречная в теории: сделав помещение одним объектом, нам нужно задать ему толщину модификатором Shell. Далее, в настройках модификатора мы задаём образовавшейся "толщине" новый идентификатор материала. Конвертируем получившийся объект в Editable Poly и выделяем у него внешние полигоны, по Material ID - это и будут поверхности, для которых фотоны не нужны, поэтому мы отделяем их командой Detach в новый объект, у которого в свойствах отключаем прием глобального освещения (Recieve GI). Так фотоны будут влетать только в окно и не оседать на улице, тратя оперативную память впустую.

Что скажите, коллеги?
 
Сверху