30 дек. 2013 г.

Продолжение истории с Хабрахабром

Первый пост об этом я удали и вот почему:
Я не ожидал спокойной и размеренной реакции "службы психологической поддержки Хабрахабра", которая заставила меня задумать о многих важных вещах.

В конечном итоге я почувствовал себя маленьким капризным ребенком, который решил сыграть в шахматы, но до этого играл только в шашки.
- Что еще за конь! Так нельзя ходить!!!

Это про меня.

В общем я поменял свое отношение к проблеме и решил научиться играть в новую игру.
Спасибо ребятам с Хабра за их терпимость.


Слава дверям - ура, свершилось!

После долгих переносов срока установки двери, это все-таки свершилось.
30 минут работы 1-го (!!!) бравого парня и все беды закончились.
Пробки, чрезмерная занятость, что-то еще... что только не выслушали за 2 недели.
Ну хотя бы не пропали с концами - это хорошо и хорошо, что все закончилось.

Теперь в офисе тихо, просто смертельно тихо.
Света во время установки двери просидела в наушниках, пытаясь отсечь себя от шума и заглушить его громкой музыкой.
Когда дверь установили, она сняла наушники:
- Что ЭТО!!!

А это тишина...

Света подходит к серверной принять работу, дергает за ручку двери и от туда мгновенно доносится страшный вой:
- Ай!!! Там ад!!!
И тут же захлопывает дверь.

Вот так )))

Теперь вот думаю...
Если кондиционеру придет пипец, то все закипит...
Надо поставить градусник и маленькую программку для экстренного отрубания всего лишнего и посылания "знойных" писем или SMS админу.

Дублировать кондиционер, как это рекомендовали ребята из LanKey не буду, это конечно правильно, но слишком роскошно.

25 дек. 2013 г.

Операция "Переехавший Сервер"

И так - LanKey.ru.
Бравые парни из LanKey.ru всё сделали как нельзя лучше.
Кондиционер установлен, установлен в срок и качественно. На площадке не было матов и прочей "рабочей" болтовни. Все к месту, все по делу. Ну вот не подал товарищ отвертку во время, ну что делать, берешь и говоришь:
- Коллега, я еще раз хочу просить отвертку из ваших рук.
- Пожалуйста!

После работы ребята убрали за собой всё, даже пыль.
Я в шоке... приятном шоке )))

На этом наше сотрудничество с LanKey.ru благополучно завершилось, но может иметь продолжение в самых разных формах.

И всё это было - ХОРОШО!

А теперь о трудном.

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

Сегодня запускаю ВСЕ сервера, все компьютеры и ...
Включаю чайник.

Последнее было слишком самоуверенным поступком....

Свет на этом заканчивается.

- Как так? Всё учли и все предусмотрели!!! Грёбаный чайник!

Всё, да не все...
В офисе всё в порядке с нагрузкой, но то место откуда эта нагрузка идет - не было рассмотрено. Хотя на объекте были "местные электрики", этот пункт прошлёпали. Надеялись, что как и всё на заводе, тут мощное... Неа... Оказалось, что всё - осознанное.

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

Время было уже давно не рабочее.
Пришел дежурный, всё включил. И сказал:
- А ребята уже завтра собрались менять пакетник.
- ?????????????????????????????

Ну всё хорошо слава богу.
Не знаю хвалить ребят или нет
Пара калорий переживаний укрепляют любую душу.
Что же. Будем и дальше прокачивать свою карму.



20 дек. 2013 г.

Познаем мир Little Pony

Для тех кто не в курсе, у меня есть 2 дочки.
Большая Алина (16 лет) и маленькая Алиса (4 года)
Иногда они меня удивляют.

Сегодня Алиса попросила называть себя исключительно как - Rainbow Dase, ну или просто "Радуга".

Ролики на ютюбе просматриваются один за другим, куча каналов, но выбор один - Little Pony.

Спрашиваю:
- А Смешарики нравятся?
- Да
А Фиксики?
- Да
И т.д.

А потом общаясь еще немного, понимаю что "Поняшки" просто рвут всех конкурентов.
И самое главное - не понимаю ЧЕМ.

Да. сделано хорошо, милые лошадки, интересные истории и пр.
Но завладеть мозгом ребенка на столько , чтобы тот мечтал перед сном, чтобы пони пришла живая?

"Баз Светик" плачет в сторонке, он сегодня узнал, что "Rainbow Dase" круче.

Пытаюсь анализировать.
А что вы думаете об этом?

19 дек. 2013 г.

Всякие прогрессы.

Серверная кипит.
Температура на пределе возможности. В 1 метре от стойки можно раздеваться и смело обливаться потом. Это огромный риск для железа.
40% серверов пришлось отключить.
На пару со Светой бегаем вокруг стойки по очереди у обмахиваем её большими красивыми перьями.
Шум тоже здорово поднадоел.
Бравые парни из Lankey (да, это я им шапочку на сайте придумал лет сто назад) обещают помочь буквально на днях.
Если все сложится хорошо, то уже в понедельник будет прохладно и тихо.

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

А будет еще интереснее ;-)

Ребята из e-one software наконец-то ответили на мои запросы.
Теперь я могу смело дописывать плагин синхронизации с Блендером. Они даже обещают помогать. Это очень круто.

Если подружить их с Изранцевым, то будет вообще пипецки круто.

15 дек. 2013 г.

Система Управления - немного скриншотов

Наконец-то покончено с пилением всяких отдельных модулей.
Понемногу вкрячиваем всё во Flask и начинаем связывать данные.
Понемногу что-то начинает вырисовываться.
Директор сказал, что через неделю надо сдать первую версию.
Придется сдать )))






Главное на чем остановился в долгих поисках:
  • Минимализм
    Это значит что интерфейс каждой страницы должен быть предельно прост и понятен, ничего лишнего быть не должно. Это так же благо для мобильных устройств, а на них тоже целимся.
  • Микро-мудульность
    Весь APP на самом деле это набор микро программ. Каждая страница - отдельная программа. Одну маленькую программу легче довести до ума, а все вместе дадут нужный результат. Максимально уходим от глобальных решений и активно двигаемся в сторону системы плагинов и масштабирования.
Двигаемся далее...
Самое интересное начнется когда доползу до привязки к pipeline, которых будет несколько.





9 дек. 2013 г.

Dynamic Visible - интересные тесты

Тестирую свой аддон (Dynamic Visible)
Чуда не произошло, но результат интересный, есть о чем задуматься.
Главное открытие - Блендер в состоянии осилить сцену с 500 млн. полигонов.
Этого я не мог предположить.

Тестов было два.
В первом случае я копировал обычные кубы.
Далее делал рендеры для Internal и Cycles. Потом повторял тоже самое с включением Dynamic Visible (отключал лишние объекты). Время рендера и количество полигонов в сцене записывал в таблицу, по таблице строил графики.

Когда кол-во кубиков перевалило за 62 т., Блендер еле шевелился, не смотря на то, что полигонов было не так уж и много (чуть более 330 т.) в сцене. Я сделал вывод - критичнее не кол-во полигонов, а кол-во объектов.

Так родился тест номер два.
Во втором случае я взял за образец Сузанну, добавил ей сабсерф с параметром 3, применил модификатор. Получилась довольно плотная сетка.
Далее эту сетку дублировал так же как и в первом тесте, но кол-во полигонов в сцене резко стало увеличиваться. Это мне и было интересно.
Во вьюпорте включил режим отображения - Bounding Box

Вот табличка, тут оба теста.


Во втором тесте очень быстро из тестирования выпал Internal. Выпал из-за нехватки памяти и как следствие - краха. Постепенно были заняты 15ГБ оперативки, а затем и 10Гб свопа. Когда своп закончился, начались крахи. На этом эксперименты с Internal закончились и остался только Cycles.
Когда Cycles дошел до значения в 515899392 фейса, я понял, что дальше не смогу двигаться. Оперативная память была уже на приделе и сам Блендер еле двигался. Однако это количество фейсов было отрендерено и довольно быстро. Что меня очень удивило и порадовало. На этом эксперимент завершился.

Графики выглядят при этом так:
Это первый тест.

Это второй тест

Думаю есть над чем задуматься и продолжить поиски путей оптимизации. Идеи есть еще, следующим пунктом будет еще один полезный аддон.

Продолжаем работать ;-)


7 дек. 2013 г.

Dynamic Visible - Bug Fix

Ребята из студии "Propellers" нашли одну ошибку.
Ошибка исправлена.
Новую версию можно забрать по ссылке.
Алине спасибо за точный отчет.

3 дек. 2013 г.

Dynamic Visible - Final

Ну вот и всё.
Дружно тестим и исправляем баги, если найдутся.


Сам addon можно получить тут или тут

Ну или копируйте ниже:


1 дек. 2013 г.

Dynamic Visible + particles

Еще одна фича.
Теперь партиклы тоже могут быть обработаны.
Добавляю это к аддону.
А пока работает просто как тест.


Колбасим дальше ;-)

CG Event - мысли после

Вчера (в субботу) посетил "Блендер блок" на CG-Event
Рассказал немного про всякие штуки.
После чего наконец-то досыта на общался с Андреем Изранцевым (Chaosgroup)
Общение было очень увлекательным и интенсивным, обсудили планы на ближайшие несколько лет вперед )))

Сейчас уже очень интересно получается, но будет еще интереснее.

Мне понравились все выступления в блоке Блендера.
Я был удивлен многим из них.

Так же интересным было закрытое заседание.
Обсуждали как и куда двигаться в Блендер-сообществе.
Я был уставшим и не выспавшимся, поэтому было с моей стороны немного скепсиса и амебности. Но сейчас я очень четко вижу куда двигаться и главное - как.
Будем работать дальше.
Через год обсудим еще раз )))



27 нояб. 2013 г.

Dynamic Visible - прогресс аддоностроительства.

Кое-что добавилось.
Кое-что еще добавиться.

Сейчас уже стало намного веселее, в общем-то уже можно пользоваться, но лучше ещё немного дописать.

Смотрим


Колбасим дальше )))


24 нояб. 2013 г.

Ещё один шаг к оптимизации рендера

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

Смотрим


В общем-то сама идея не нова, но в Блендере я не встречал ее реализации, поэтому пишу сам.

Для "райдостроения" пипецки незаменимая вещь, особенно в связке с 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 материалов. Скрипт со всеми разобрался и всё обработал корректно.
Завтра правлю, добавляю пару мелочей, тюнингую и можно пользоваться ;-)

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

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






23 окт. 2013 г.

Всякие микро-прогрессы

Работа над 3-ей сценой можно сказать - завершена.
Я уже думал, что это не случится никогда.
Рендер на отдельных кадрах уходил от 2-часов до бесконечности.
Но как обычно, ситуацию спас Андрей.
Итог - 15-20 минут на кадр. Оба канала посчитаны за 2-суток.
Такой скорости у нас еще не было, ни в одной из многократных итераций.

Еще одна довольно интересная новость. Опять не без участия Андрея. Нас допустили к закрытому тестированию Vray 3.0 (Standalone).
Пока не успел изучить все новинки, но самое основное оценить успел.
Скорость рендера действительно значительно возросла.
Тест на 3-ей сцене: прирост составил 80-90%, то есть почти в два раза быстрее.
Что это значит?
Это значит, что и без того весьма успешный V-Ray закрепит свои позиции на рынке еще сильнее, и на долгие годы станет стандартом в индустрии.
Это значит, что если бы 3-я версия участвовала в окончательном рендере, то время потрачено было бы - сутки с небольшим.

Я пока отложил работу над синхронизатором Vue xStream<->Blender, задумался о EULA.
Задал вопрос "e-on", они тоже призадумались. Пауза...
В крайнем случае сделаю для себя, без распространения.

Так что теперь на очереди сцена №4, а дома продолжаю работу над Системой Управления Проектами.
В "СУП"-е новостей не много. Переключился на организацию многопользовательского режима. Добавляю всякие формы регистрации, пользователя как класс со всеми вытекающими таблицами в BD, методами и прочими фиговинами. Скукотень...
Нравится работать с DHTMLX, очень сложные формы собираются за пару часов. Голым HTML на это бы уходили недели.

18 окт. 2013 г.

Я ребус! Разгааадайте меня!

Вспомнилось что у Vue xStream есть такой формат для 3DS MAX (и вроде не только для него) - SyncData

Этот формат был придуман для синхронизации объектов, анимации и настроек сцен между 3D редакторами и Vue xStream. Ну и как всегда для всех сделали, а про Blender конечно забыли.

Мануалов или SDK по этому формату я не нашол, даже намеков на их существование не попалось.

Попробовал открыть файл SyncData в FAR

Это же просто пипецкие крокозяблы....

Пытаемся открыть это дело в Sublime Text 2
Вид HEX-ов успокаивает, а наличие
регулярности вселяет надежду...

Немного мухляжа с Python в Blender
И всё тайное становится явным, ну или почти всё.

А с этим уже можно вполне себе работать. )))


14 окт. 2013 г.

Небольшой прогресс

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

Однако немного для системы управления тоже успел сделать, пока новости только относительно раскадровки.


Работаем дальше.


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 будет иначе.



7 окт. 2013 г.

Текучка

Пока идет завершение всяких разных рендеров, я переключился на то, к чему приступал много раз - система управления проектами.

На этот раз всё довольно серьезно. Работа над проектом вынесена на рабочее, после рабочее время и выходные. Впереди 2 сложных проекта в которых без "управлялки" мы просто завалимся. Приходится поторапливаться и думать о будущем.

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

На этот раз за основу берем Flaks + jQuery + DHTMLX
Это значит, что многие компоненты используются уже готовые, например диаграмма Ганта.
Но кое-что дописываю сам - раскадровка.

Flaks выбран по рекомендации Андрея Изранцева и пока этот выбор меня радует, особенно понравилось как реализована работа с DB, но не только.
Для меня использование Python в WWW дело новое, но то что я успел изучить, очень и очень нравится.

jQuery в представлении не нуждается, сегодня это уже почти стандарт.
DHTMLX - набор очень мощных GUI решений для бизнеса.
Flaks - python фреймворк, отличается минимализмом.

Не все получается легко и просто. От части приходится вспоминать то, что не делал очень давно (JS последний раз "трогал" лет 10 назад) и изучать то, что появилось нового в этой среде. Чувствую себя проснувшимся после летаргического сна. Проснулся - ой... привет будущее...

Пока результат такой:


Еще создана предварительная DB, создана при помощи Flaks и меня очень порадовало, как реализована работа с базами в этом фреймворке.

Продолжаем двигаться дальше.
На этой неделе нужно добить версию до полу-рабочего вида, чтобы начать вколачивать раскадровку.
В планах обильные импорты\экспорты для монтажек и планировщиков вроде CeltX, будет еще куча всяких "фенечек".
В общем не вдаваясь в подробности.
Это не просто система управления, это часть конвейера. Система очень многие процессы возьмет на себя.
И главное отличие от подобных - узкая при узкая специализация.
ТОЛЬКО фильмы основанные на Blender... Ну максимум из разнообразия - презентация, и то, если презентация - фильм.
Это значит, что поддержка Blender формата на стороне сервера тоже будет ;-) Это даст нам немного бонусов...

P.S.
Всё что связано с электроникой, разработками для Vray\Blender и прочими "перспективными" штуками, пока замораживаем на неопределенный срок.



24 сент. 2013 г.

Blender - Cycles vs V-Ray

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

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

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

16 сент. 2013 г.

Итоги выходных

Почти определился с элементной базой.
От 13-х тинек пришлось все же отказаться в пользу ATtiny2313, чуть дороже на первый взгляд, но заменяет две 13-х + легче приделать SPI (что весьма важно). Так что можно считать, что экономика не пострадала.

Собрал схему.


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

В итоге получилась 2-х координатная электромагнитная матрица 4х4, каждый электромагнит в которой имеет независимое управление с возможностью изменения напряжения в 256 шагов в отрицательном диапазоне и столько же в положительном, то есть в общей сложности 512 шагов.

В качестве управляющего процессора пока взял ATmega2560, но сомневаюсь нужна ли там такая мощь.
Может подберу что-то попроще.
На процессор ляжет 2 основные функции: расчет математических матриц и рассылка заданий по SPI.
Второе она уже научилась делать. Насчет математики я сам пока в раздумьях. Возможно потребуются эксперименты и теоретизация.

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




13 сент. 2013 г.

Планы на выходные

Андрей решил дописать к Vray/Blender систему нодов для создания качественных и сложный V-Ray материалов. Это изменение повлечет довольно много изменений в коде, поэтому я решил пока сложить оружие и дождаться окончания глобальных переделок (то есть пока не имеет смысла что-то программировать, но можно рисовать ;-) ).

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

Железки все готовы и худо-бедно подходят для исследований, но я еще не начинал городить контроллер.
Изначально планировал делать это на базе PIC от Microchip, но вот почти случайно наткнулся на ATtiny13A и впал в ступор.



Что поразило:
  • Всего 6 ног и при этом 2 ШИМ 
  • Цена - около 32 руб за таракашку...
  • Скорость работы
Я и ранее часто натыкался в форумах на фразы вроде: "Ребята, плюньте на PIC, переходите на Atmel, это проще, дешевле, производительнее".
Но поскольку на форумах часто пишут что-попало, я относился к личным суждениям скептически, пока не пришлось сравнить две модели одного класса от разных производителей. Среди PIC изначально планировалось - PIC16C62B, и это:
  • гораздо медленнее работает
  • один ШИМ
  • Цена 70-150 руб
Что еще порадовало относительно Atmel - бесплатный С++ компилятор, какое-то безумное количество готовых решений в сети, исходных кодов, документации и уроков.

Так что выходные посвятим железкам и коду, но в офис тоже придется съездить, райды не простят забвения )))


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 отожгет не по детски.
Дружно вздыхаем и ждем этого волнуещего момента.
Я сам теряюсь в догадках, что там эти славные парни придумали на этот раз.
Пока могу только сказать, что проделки Октана их не смущают, даже наоборот - бодрят и веселят.
Дай бог... Аллилуйя?

15 авг. 2013 г.

Новое безумие - отговорите меня )))

Попытался продолжить работу над Crazy Balls
Столкнулся с тем, что многолетние наработки обросли таким количеством мусора, что разобраться в этом просто невозможно.
То как реализовано линкование в Blender - полный отстой.

Чего не хватает:

  • мониторинг ссылок (сейчас это доступно только в консоли, только чтение)
  • нет инструментов для изменения ссылок, их удаления, и других манипуляций.
  • нет общей схемы, что-то вроде нод-эдитора

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

Вспомнил про проект Blender-Aid
Это круто, но требует CVN и веб-сервера

А просто локально что-то в файлах поменять слабо?
Да, слабо...

Однако у Blender-Aid есть один замечательный модуль - blendfile.py
Это то, что читает формат блендер-файла и позволяет что-то понимать.

Начал его переписывать на С#, чтобы создать библиотеку, свободно работающую с форматом Блендера.

Устал я от всего этого за 5 лет с Блендером.
Очень устал.

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




Люди любят эмоции.

Наблюдаю за статистикой блога.
Появились некоторые выводы.

Если создать тему вроде "Мне печально" или "Я очень рад, какое счастье!" то трафик подпрыгивает в 2 раза.

Темы вроде "Я создал супер скрипт" почти никто не читает.

Темы вроде "Будда:НАХ" что-то между первым и вторым.

А вот коменты больше всего пишут, когда задеваешь социальные темы.
Ну типа: "Ненавижу чиновников" или "Долой несправедливость в России"

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

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



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 можно заниматься оптимизацией сцен... саму секвенцию в текстуре можно было сделать не сплошным перечнем, а выборочным, сделать что-то вроде монтажа, но текстом. Это бы экономило довольно много ресурсов. Ну или еще какие-нибудь финты с ушами вытворять, когда что-то не поддерживается интерфейсом.

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

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


11 авг. 2013 г.

Солдат спит - рендер идет!

Всё по первой сцене заслано на рендер-ферму.
Кадрики считаются довольно шустро.
В понедельник будем тюнинговать\завершать.
Во вторник будет финальная версия, и можно будет переключиться на следующую сцену.



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
Это нахожу удобными и гибким.


9 авг. 2013 г.

RNDI - новая микропрограмма

Сегодня добиваю сцену №00

Что-то вроде:



Пока занимался анимацией роботов, столкнулся с проблемой.
Мне пришлось на каждого робота повешать контроллер анимации Noise.
Чтобы движения не выглядели синхронными, нужно было в каждом контроллере изменить значение Phase.
Поскольку роботов более 30, а каналов анимации с нойзом на каждом роботе 4, то получилось около 120 значений Phase.
Не знаю у кого как, а у меня фантазия и терпение на 30-ом значении закончились.
Решил предоставить возможность думать компьютеру, пусть он сам придумывает случайные числа.

Быстро сделал такое приложение:

Генерирует случайное число в заданном диапазоне
и помещает его в буфер обмена

Работать с ним довольно просто:



Скачать программу можно отсюда.
Инсталляции не требует, в реестр ничего не пишет, но...
Как и всё, что я пишу, это требует библиотек GTK# и .NET 4.0



Новости iPiSoft

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

Смотрим


7 авг. 2013 г.

Доктор Вера - финал

Закончена работа над маленьким рекламным роликом


Над фильмом трудились:

  • Витали Додров - герои, анимация, в общем-то почти всё...
  • Юлия Хан - звук, менеджмент
  • Светлана Селивёрстова - директор проекта


Никого не забыл?

Я в это время тупо курил в сторонке.
Мой перекур закончился картинкой для уже другого ролика:

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

Виктор Струков занимается Кощеем, и это будет нечто, что заставит маленьких детей биться в истерике от страха. Мамы - простите...
Это страшно, но будет, что вспомнить )))
Ребенок месяца три будет просить не закрывать дверь и оставлять свет на ночь включенным.
Может даже будет писаться по ночам... Но "Гарри Поттера" нам не переплюнуть ;-)

Продолжаем курить ;-)



4 авг. 2013 г.

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

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

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

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

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

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

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

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

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