Показаны сообщения с ярлыком V-ray. Показать все сообщения
Показаны сообщения с ярлыком V-ray. Показать все сообщения

11 нояб. 2013 г.

Vray\Blender + Unity3D

Тестируем бейкинг



Бейкинг у Vray/Blender довольно занятная штука, хотя многое не до конца понял.
Я так и не понял, как Unity смешивает цвета диффуза и лайтмапа.

Получилось слишком много красного и пока не получается использовать тайлы, точнее получается, но мне не нравится результат, поэтому здесь использована текстура целиком. То есть полный бейк + лайтмап.

Может оно и ничего, не знаю...


27 окт. 2013 г.

Новости Vray\Blender - импорт матов из MAX

Андрей довольно активно работает над новой версией Vray\Blender
На Git появилась тестовая версия, основное отличие которой заключается в поддержке нод.
Ноды теперь присутствуют во всем, в материалах, в источниках света, и даже в геометрии.
Кроме этого код подвергся глобальным изменениям, стал стройнее и структурнее, думаю, что это так же добавит больше возможностей в будущем.

Остается пожелать Андрею удачи в его начинаниях.
То что сейчас получается, очень впечатляет.

Разумеется после всего этого, выходные были посещены освоению нового.
В результате создан скрипт, который читает *.vrscene (экспортированной из 3DS MAX) и генерирует новый материал уже в Blender, в точности копируя дерево иерархии V-Ray материала из MAX.
Это означает, что внешний вид материала в MAX и Blender будут абсолютно идентичны.

Кроме этого появляется возможность пользоваться всеми библиотеками V-Ray материалов, которых сегодня существуют, а их не мало.

В моем тестовом файле было одновременно 5 материалов. Скрипт со всеми разобрался и всё обработал корректно.
Завтра правлю, добавляю пару мелочей, тюнингую и можно пользоваться ;-)

Пока результат выглядит так:

Двигаемся дальше ;-)






13 окт. 2013 г.

Vray - Немного тестов на тему оптимизации стерео

Проверяем стереорендер, так ли все работает, как обещано ;-)

Вот такая простая сцена:

Тест первый - считаем 2 камеры по старинке, без каких либо кешей, сначал одну, потом вторую.
Итог 23 сек + 23 сек = 46 секунд на стереопару

Теперь делаем тоже самое, но во время просчета первой камеры сохраняем кеш IM и LM, которые используем на второй камере.
Итог 23 сек + 5,8 сек = 28,8 сек на стереопару

Теперь включаем полноценный режим stereoscopic, считаем оба канала без всяких кешей
Итог 35,7 сек на стереопару.

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

Теперь попробуем посчитать Shademap. А потом стереопару.
Shademap - 23 сек
Стереопара - 9,6 сек 
Скорость просчета стереопары впечатляет - всего 9 сек. Да... но, перед этим мы тратим 23 сек на подготовку карты.
Итог 32.6 
Тем не менее экономия есть, но не большая.

Попробуем еще один тест.
На этот раз во время просчета Shademap сохраним LC и IM, а затем на просчете стереопары используем сразу все три карты.
Первый проход (Shademap + IM + LC) - 23 сек (тут ничего нового...)
Финальная стереопара - 4,4 сек
Итог 27,4 сек

И напоследок хулиганский тест.
Повторяем предыдущий тест, но на первом проходе схлопываем разрешение в 2 раза. Картинка нам не важна, важны только кэши.
Итог: 12,5 + 10,6 = 23,1 сек
Забавно, но даже на этом можно экономить ;-)

Если сравнить самый первый тест и самый последний, разница по времени почти в 2 раза.
Это весьма существенно.

А вот тест Vray + Vue xStream этого прироста не подтвердил.
Это огорчает немного.

Тест Vray + Blender так же не подтвердил прироста.

Пока Shademap доступен только в связке с MAX, так как не поддерживается полноценно в формате *.vrscene. Вроде как в 3-ей версии Vray будет иначе.



24 сент. 2013 г.

Blender - Cycles vs V-Ray

Cycles GPU (GTX 590) - 2 минуты

V-Ray CPU (i7) - 8 минут

Время в пользу Cycles, но я выбираю V-Ray так как это надежнее (не шумит, не колбасится, всегда предсказуемый результат), да и сама картинка как-то больше нравится.

7 сент. 2013 г.

Vray/Blender - маленькие скрытые возможности

Сегодня закончил работу над SphereFadeGizmo
Интерфейс схож с тем как это реализовано в MAX, то есть всё что нужно, было помещено в атмосферные эффекты, получилось так:


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

Однако в процессе тестирования случайно обнаружил интересную штуку...

Так выглядит тестовая сцена в Blender

Так выглядит рендер всей сцены, с отключенными контейнерами
Считалось это 47 секунд

А это уже эффект в действии - 12 секунд

Ничего не замечаете? ;-)
Я создавал 3 Empty и это хорошо видно на скриншоте.
2 красные обезьянки не имеют Empty, но добавлены в группу как объекты, и это работает!
Это значит, что для того, чтобы создать вокруг персонажа "ореол", не обязательно создавать контейнер, объект САМ может быть этим контейнером, достаточно добавить его в группу эффекта.

Для сцены с шариками в Crazy Balls это просто незаменимый "глюк", там более 4000 анимированных шаров и вешать на каждый контейнер - убийственно.
А вот засунуть все шары в группу - легко.

Обнаружив это интересное свойство, я стал бродить по интерфейсу Vray/Blender, чтобы решить куда разместить параметр, управляющий радиусом Fade сферы и...

Нахожу вот это:


Оказывается Андрей давно разместил этот параметр, но не задействовал.
Это очень здорово, так как подключить его теперь не составит труда.
А "скрытая возможность" ничто иное, как естественная функция V-Ray.
Просто это я, столкнулся с ней близко впервые. )))





Vray/Blender - оптимизация рендера

Сегодня довольно много колдовал с кешами, но какого-то внятного результата достичь не удалось.
Решил пойти другим путем.
Дописываем к Блендеру SphereFadeGizmo

Выглядит как обычное гизмо (Empty)


В выключенном состоянии Empty ничего не дает и получаем такую картинку:

Этот кадр занял 5 сек.

Теперь переключаем Empty в режим SphereFadeGizmo и получаем такую картинку:
Этот кадр занял 2 сек.

Лайт кэш и IM может хорошо отработать в одном случае - рендер летающей камеры, где нет анимации объектов. В этом случае можно экономить на рендере, но что делать с анимацией объектов?

Анимацию можно считать вторым проходом, с использованием SphereFadeGizmo.
Это довольно занятный метод, так как в случае с использованием SphereFadeGizmo тени, и всякие световые трассировки - учитываются и сохраняются, в отличии от классического послойного рендера (тени отдельно, свет отдельно и т.д.), когда слоев слишком много и процесс слишком сложный.

Подробнее о методе см. в уроке для MAX. Суть для Блендер та же.




5 сент. 2013 г.

V-Ray proxy - проверка в бою

Сегодня довольно много пришлось работать с проксями.

Начало дня


Конец дня


Завтра добиваю этот кусок и двигаюсь дальше.
Очень хочется в понедельник закинуть эту сцену на рендер,
так как уже в субботу сервера начнут "отдыхать".

Итоги:
Благодаря дополнению которое появилось вчера, работать стало чрезвычайно удобно.
Более того - удобнее именно в Blender.
Одно нажатие и прокси готов, и автоматически заменяет исходный объект (а может и нет, как хотите...)
Еще один клик и вы разгружаете сцену от лишних полигонов, а созданная сетка вполне подходит для того, чтобы ориентироваться в пространстве..

В итоговой сцене получилось около 10 млн. поликов.
Скорость рендера упала не значительно, на вьюпорте вообще никак не сказывается, так как в нем чуть больше миллиона (пока... завтра будет меньше, значительно меньше)
Таким образом я не переживаю за анимацию.
Работать с ней будет легко и просто, будет реалтайм, долой тормоза ;-)


4 сент. 2013 г.

Vray, Blender и атака клонов

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


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

Андрей сегодня выложил очень полезное дополнение для Vray/Blender.
Теперь появилась возможность предварительного просмотра у прокси (vrmesh)
Всё в точности как у МАХ или MAYA


Работает скрипт довольно быстро.
Это дополнение облегчает работу во многом, особенно важно для работы с vrmesh сгенерированное внешними приложениями.

И все это помогает нам перейти к рендеру сцены №2


Двигаемся далее...

25 авг. 2013 г.

Живы, есть новости.

Температурный режим в серверной по прежнему выше нормы.
Могу включить сервера на 1-2 часа не более, далее просто сауна начинается.
Найдено новое помещение, есть 3 фазы с почти неограниченным потреблением и очень мощная вытяжка, но на переезд уйдет в любом случае 1-2 недели (документы, ремонт и пр.).
Нам выделили шумную пром. зону, это и хорошо. Шум наших серверов просто ничтожен по сравнению с соседним цехом.
Это будет Нагорный проезд 44, институт им. Векшинского.

Эгоистичный плюс - это очень близко к дому. 5-10 минут на авто.

Пока работаем как можем.

Андрей добавил к Стерео-Камере несколько новых фишек, стало жить еще веселее.
Теперь параметры изменяются сразу в окне, это очень удобно и наглядно.
В конце этой недели была обнаружена изрядная промашка. Оказалось, что чем дальше я двигаю камеру от нулевого положения, тем сильнее из кадра уходят объекты.
Лабораторная работа выявила причину.
Пришлось весь мир поделить на 2. И тогда всё встало на свои места.

Это последнее дополнение позволило отрендерить сцену с роботами и новыми параметрами.
На этот раз у нас есть стерео камера, а стерео-параметры анимируются точно так, как я этого хотел.
Будут еще дополнения, но не очень быстро. Сейчас я основные силы перебрасываю на фильмы.

Результат:


Двигаемся дальше
Будет еще немного поста...




21 авг. 2013 г.

Vray\Blender - StereoCamera (финал)

Я болен и довольно сложно что-то писать.
Но скрипт закончен.
Всё работает как и планировалось.

Вот пример:


Пока ничего добавлять не буду.
Завтра доберусь до офиса и начну боевые испытания, тогда и выясниться, что лучше добавить а что убавить.

Изменения приняты в общую сборку.
Доступны на Git

19 авг. 2013 г.

Vray\Blender - stereoscopic camera

Почти готово.
Работает пока сама камера и всякие настройки.


Я скромен, но это решение лучшее из всех, что мне приходилось видеть.
Получилось очень круто.
После тюнинга будет само совершенство ;-)

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

17 авг. 2013 г.

Сегодня успехов не много.

Усовершенствовал стерео-камеру для Vray-Blender.
Разделил параметры, теперь каждая стерео-камера - самостоятельный объект и анимирует стерео-параметры индивидуально.

Добавил визуальных "плюшек", чтобы было легче ориентировать в пространстве.
Заблокировал все перемещения для вспомогательных объектов.

Сейчас думаю как создать ПРАВИЛЬНОЕ удаление объекта.
Это значит, что при нажатии на Delete должна удалиться не только камера, но и всё, что я на нее понавешал.
Пока не очень понимаю КАК я это сделаю.
Надеюсь, что в этом помогут Handlers (спасибо Андрею за совет)
Читаем, гуглим, изучаем.

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

Часть дня посвятил общению с Рамилем.
Это была важная и не простая беседа.


Печалька закончилась (Vray стерео-камера работает!!!)

Это можно считать продолжением поста про печальку.
Немного старания и упорства и всё тайное становится явным.

Оказалось что параметр eye_distance действительно не анимируется.
Но анимируются странные параметры:

  • left_camera
  • right_camera

Но не сами по себе на прямую, а через RenderView

Это значит что на сами параметры мы вешаем RenderView (а не камеру, как может показаться в начале), а RenderView анимируем.
Вот тогда все начинает работать.
Но эта оговорка требует создания стерео-камеры.

Этим я сегодня и занялся.

Вот первые результаты:

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

P.S.
"Тайный агент" в недрах Chaos Group авторитетно предупреждает - грядет убойная бомба... Vray отожгет не по детски.
Дружно вздыхаем и ждем этого волнуещего момента.
Я сам теряюсь в догадках, что там эти славные парни придумали на этот раз.
Пока могу только сказать, что проделки Октана их не смущают, даже наоборот - бодрят и веселят.
Дай бог... Аллилуйя?

14 авг. 2013 г.

Маленькая печалька....

Собрали то что планировалось, что-то вроде предпремьеры первого кадра получается )))
Правки еще будут, незначительные, но будут.


Что разпечалило...
Вывели картинку на 3D монитор, в целом впечатления очень хорошие, всем нравится, но я нахожу стереобазу роботов убитой.

Её нужно анимировать, постоянно менять.
Например в самом начале, когда робот ловит шарик, базу надо сильно увеличить, чтобы избавиться от "картона". Когда робот приближается, базу надо плавно вернуть на место.
Когда все падают в низ, нужно снова увеличить базу.

Сегодня бились весь день, но пока не нашли способа как это сделать во Vray...
Скрипт, то я написал и все меняется (в скрипте), но на рендере - 0.
Наверное проблема в вирейном плагине.
Вся надежда на Андрея как на великого повелителя вирейных вёкселей )))

Остальные "косяки" даже обсуждать не стоит, они исправимы.
Не хочется снова возвращаться к "старому-доброму" двухкамерному рендеру.
Но как страховочный вариант - да, конечно.




Неспиццо... изучаем V-ray...

Стал перечитывать страничку помощи, думаю, может я что-то еще не знаю про *.vrmesh.
Так и есть, не знаю.

Оказывается предыдущий пост можно было вообще не писать или писать о другом.
Сиквенции внутри *.vrscene обрабатываются очень и очень просто.
Не надо ничего плодить, есть маленькие микро-шаблоны, которые сами подставляют нужные значения.

Например:

GeomMeshFile OBSphere_proxyPRc__04d {
 file= "C:\Users\render\Desktop\proxy_test\proxy\c_%04d.vrmesh";
 anim_speed= 1;
 anim_type= 0;
 anim_offset= -1;
 anim_start = 0;
 anim_length = 4;
}

Значение %04d будет заменено на текущий номер кадра, и будет состоять из четырехзначной записи с нулями спереди.

Если вбить это в интерфейс Vray\Blender то получите анимированную текстуру, или подключите меш-сиквенс, что очень и очень ценно.

Для сиквенции из сеток не хватает только доп. параметров:
 anim_start = 0;
 anim_length = 4;
Их сейчас в интерфейсе нет, но и вручную добавить не сложно.

Изучаем дальше ;-)


12 авг. 2013 г.

Планы поменялись, но не разрушились

Всё запланированное сделал, но не так как планировал.

Облом первый:
- Vray\Blander пока не поддерживает анимированных текстур в случае если это текстура окружения.

Чтобы внести правки в Vray\Blender, пришлось бы ковырять движок программы, а в этом я пока не силен, а Андрей пока на пути в Софию, поэтому пришлось искать иное решение.

Эта проблема была решена через создание новой микропрограммы. Я в шутку назвал ее Multiplexor.



Суть программы в следующем: 
в одно поле вколачиваем шаблон с текстом, в моем случае это было описание текстуры окружения. Указываем диапазон кадров и жмем ОК, в результате в другом текстовом поле получаем перечень настроек под каждый кадр.
Дальше все это копируем в отдельный файл *.vrscene и инклюдами подключаем к основной сцене.

Это сработало.

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

Облом второй:
- Издох кондиционер в серверной, жара в помещении стояла как в сауне. Пришлось срочно выключить все рендер-ноды, а рендер перекинуть на рабочие станции. На перенастройку станций ушло какое-то время, но результат меня порадовал. Это конечно не рендер-ферма, но сцена с рОботами считается очень быстро.

Двигаемся дальше.
Завтра хочу переключиться на следующую сцену.


10 авг. 2013 г.

Vray\Blender + Vue xStream (прикручиваем облачка)

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



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

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

Работаем дальше ;-)



V-ray - стерео камера? Да легко!

Сегодня игрался с рендером *.vrscene из командной строки.
Это уже не совсем эксперимент, материал рабочий и близится к завершению.
Управлять рендером через командную строку оказалось удобно, увлекательно и просто.

Захотелось добавить 3D (стерео) и посмотреть что выходит.
Обычно я ставил и настраивал 2 камеры.
Но в случае с V-ray все намного проще, у него уже есть встроенная стереовизуализация, просто добавляем в файл (*.vrscene) c описанием настроек камеры следующее:

VRayStereoscopicSettings StereoSettings {
eye_distance=6.500000;
interocular_method=0;
}

Параметры рулим по вкусу, я например сбросил базу до 0.065, это специфика блендеровского масштаба.

Результат:




Если вам недостаточно параметров, можете дописать еще:
(параметр: тип данных = значение по умолчанию)

  • focus_distance: float = 200, 
  • focus_method: integer = 0, Specifies the focus method for the two views.
  • interocular_method: integer = 0, Specifies how the two virtual cameras will be placed in relation to the real camera in the scene.
  • view: integer = 0, Specifies which of the stereoscopic views will be rendered.
  • adjust_resolution: integer = 0, When on this option will automatically adjust the resolution for the final image rendered.
  • sm_mode: integer = 0, Allows us to specify the mode of operation for the shade map.
  • reuse_threshold: float = 1, Lower values will make V-Ray use less of the shade map and more real shading.
  • shademap_file: string = "", The name of the file in which the shade map information is stored.
  • deep_pixel_mode: integer = 0, Engage deep pixel shademap mode: save DOF & motion blur, weight, camera Z coordinate.

Самое интересное для меня в этом списке - shademap_file
Это позволяет делать супер-пупер экономию на рендере. Ибо трассируется кадр не полностью, а только с учётом недостающих (по причине параллакса) участков. Идентичные участки как-бы кэшируются.


Вот и всё...
Просто? Сам в шоке )))


P.S.
Чтобы получить полноценный Side-by-Side, не забудьте удвоить значение картинки по ширине.
Всё вышеперечисленное можно сделать через интерфейс MAX, Maya, Vray\Blender, но мне пока нравится так, через отдельный файл, который я могу подключать или отключать через #include
Это нахожу удобными и гибким.


4 авг. 2013 г.

Новости Vray\Blender и немного про "Саночки"

Решили переделать саночки.
До финала еще далеко, но результат довольно сильно отличается от первоначального

Было
Это хорошая работа, но хочется еще лучше.

Я выпустил из виду очевидные вещи:
Снег, лед
Впечатления

W.I.P (Work In Progress)
И это тоже будем улучшать.

Многое еще поменяется, но основные линии заданы.
Остается легкий тюнинг этих самых линий и цветов и конечно шейдеров. Сейчас коричневое кресло явно выбивается. Дизайн самих кресел тоже придется поменять.

Архаичный пулемет менять не хочется, это вроде - "наше всё"
А вообще по сценарию это снежкомет. Он стреляет снежками, поэтому присутствуют излучины как у арбалета и странный шланг из гофро-трубы снизу.

Хочется к этому относиться как к тюнингу "Запорожца". ))))
Чтобы было видно - да тюнинг есть... Есть нестыковка стилей, но и чтобы было видно, что тюнинг не так и плох.

Главная проблема с которой пришлось сегодня столкнуться: CarPaint в Blender\Vray не поддерживает текстур.
Благо есть маленький опыт в программировании. Текстуры подключил.
Теперь любую тачку можно хоть под Гжель, хоть под Хохлому расписывать (пока только в режиме Layered).
Изменения в CarPaint будут еще вноситься, но пока пользуемся тем что есть.
Текущий шейдер сегодня доступен в моей ветке.
Если Андрей одобрит, то доступ получат все.