Render.ru

Макс+Врей+анимация+Фюжен. Или как вытащить все каналы из EXR одним лоадером

Alexander Dvorovenko

Активный участник
Рейтинг
5
#1
Те кто работает с анимацией достаточной длительности в макс/врей с выводом картинки в слои на композ , думаю, так же как я и пришли к выводу
о сохранении файлов таким способом



То есть все слои в 1 exr с компресией.
В фюжене, если создать много лоадеров одного и того же Exr, чтобы вывести все слои - будут дикие тормоза изза десятков лоадеров.
Далее Григорий Чаленко предложил способ загрузить слои по максимуму в лоадер и вывести слои с помощью булеанов. Очень хорошо, лоадеров в простейшем случае для основных слоев всего 3.



Но тем не мнее это очень все усложняет, да и хотелось бы иметь 1 лоадер.

Теперь собстенно вопрос.

Как можно вывести все слои с промощью всего 1 лоадера?
Скрипт здесь может помочь?
 

Alexander Dvorovenko

Активный участник
Рейтинг
5
#2
если у скрипта есть достут к слоям лоадера exr, тогда наверное несложно было бы реализовать такой скрипт.
в наборе слоев врея всегда одни и те же названия, например

VRayGlobalIllumination
VRayDiffuseFilter

итд
 

iLuso

Знаток
Рейтинг
28
#3
Возможно удастся в ноде принимающей на текущий момент информацию из лоадера создать скрипт, который будет менять параметры лоадера перед забором кадра, а потом чтоб ошибок не возникало, менять параметры обратно, вот...
Тогда у вас просто будет заготовленные булины, каждый из которых будет заточен на забор своего паса...
 

Alexander Dvorovenko

Активный участник
Рейтинг
5
#5
iLuso -
то есть это заставит лоадер считывать файл много раз, если штатных каналов лоадера нехватит? (а их нехватает)
так я вобщем то и делал на предыдущей картинке. Вот один из 3-х лоадеров.


Хотелось бы как то найти способ, чтобы EXR с винта лоадером прочитался один раз и все слои записаные в нем(даже если их десятки) стали доступны в Фью ...

может это что-то прояснит, как получить доступ к слоям. жаль сам скрипты не пишу.
 

iLuso

Знаток
Рейтинг
28
#6
Да, согласен, предложенный мною метод просто сократит кол-во лоадеров, но скорость вряд ли увеличит.

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

Alexander Dvorovenko

Активный участник
Рейтинг
5
#7
заранее спасибо :)

кстати тут может и не нужно забивать все каналы лоадера, которых нехватит, а выводить слои файла EXR просто как r,g,b как то скриптом или как то через wireless link... если это возможно.
 

robocop

Активный участник
Рейтинг
5
#8
да.. соль на раны :)..
как только сел на фьюжен - столкнулся с этой проблемой.
тут дело в ядре того, как фьюжен работает с памятью... т.е ОЧЕНЬ серьёзно всё :) и не просто ((
Нюкерам в этом плане фантастически повезло :)
первое время меня это жутко напрягало..
даже родил концепт-тз для программера.. (хыы.. так смешно сейчас ...)
http://i112.photobucket.com/albums/n173/russiaman/fromWork/mumu_112008/fusion_node.jpg

со временем както стал привыкать..

к стати.. скриптом можно спокойно читать все каналы exr..
я сделал для себя скрипт, который позволяет быстро (повесил его на горячие клавишы) переключаться между пассами моего exr.
если интересно - то вот:
http://www.pigsfly.com/forums/index...=0&p=22742&hl=script&fromsearch=1&#entry22742

ПС:
уфф.. жара похолодела...
 

Alexander Dvorovenko

Активный участник
Рейтинг
5
#9
ну можно былобы переделать этот скрипт для вывода всего. но при переключении каналов таким образом, exr будет каждый раз считыватся с винта.
Нужно считать весь exr сразу и вывести все его каналы как rgb одним махом.

вобьщем говоря, наверное такое не зделаешь в фю без написания своего лоадера(
 

Compazavr

Пользователь сайта
Рейтинг
2
#10
Есть вот такой скрипт http://www.svenneve.com/?p=239
к сожалению не заработал в 6 fusion
 

Compazavr

Пользователь сайта
Рейтинг
2
#11
А, извиняюсь. Сrрипт работает, просто положил не туда. Ложить его надо в \Scripts\Tool\ и вызыват ПКМ по ноде с EXR.
 

Alexander Dvorovenko

Активный участник
Рейтинг
5
#12
только это совсем не то.
Нужно чтобы весь многослойный exr считался с винта сразу и Однократно,
и Сразу вывел все его слои как r,g,b ноды. А не считывал один и тот же файл 20 раз. тогда и будет максимальная скорость.
А пока такой возможности нет(
 

Gibson1980

Активный участник
Рейтинг
18
#13
Чуть не по теме но думаю поможите, вопрос простой, есть *.EXR с пассами, никак не могу вытащить канал VRayMltID, каким образом настроить "Format" чтобы поиметь маски?
Может ещё какую ноду прицепить надо?
 

Вложения

Gibson1980

Активный участник
Рейтинг
18
#15
Спасибо, с каналами Mat/Obj ID вроде разобрался, маски по ним хорошо делать с помощью ноды Bitmap.




Есть ещё канал VrayWireColor, цвет можно задавать какой угодно (береться из вьюпорта МАХа), но как по цвету наложить маску с помощью того же Bitmap никак не могу догнать, в нём есть пипетка которой прямо с картинки выбираеться ID мата или объекта, там же выбираеться и цвет. Ну ткнул я на цвет а что дальше? Как на этот цвет маску наложить, возможно и не пригодиться, но сильно хотелось бы разобраться.

 

Compazavr

Пользователь сайта
Рейтинг
2
#18
Чтобы выбрать непрерывную цветовую область - юзай Wand. Для разбросанных областей - Chroma keyer. Потом используй битмапную маску с фильтрацией по альфе.
 

Григорий Чаленко

Куратор форума
Команда форума
Рейтинг
948
#20
Сверху