воскресенье, 25 августа 2013 г.

PF Toolbox 3 (Data Operator) - Particles Backface Cull

Задача - сидят партиклы на объекте. Как удалить партиклы которые сидят на задней стороне объекта (задана камера). Решение

Пару слов о самом принципе.
Берем два вектора - нормаль поверхности в том месте где лежит партикл и вектор из партикла на камеру (Ну или любой другой объект) и вычисляем скалярное произведение векторов. Если вектора нормализированны (длина вектора = 1), то скалярное произведение (оно же dot product) равно косинусу угла между векторами. Т.к. если вектора полностью совпадают (направлены в одну сторону) скалярное произведение =1, если вектора перпендикулярны то 0, если вектора направленны в разные стороны то -1. И потом проверяем (нода Condition - условие) по порогу.

Скалярное произведение векторов обозначается точкой, отсюда и название - dot product
Направление из точки (P) на камеру обычно везде обозначается I (Incident vector - вектор падения, т.е вектор падающий из глаза наблюдателя на точку). Собственно в моем нетворке я вектор I получил вычитанием позиций точки (партикла) и камеры.

PF Toolbox 3 (Data Operator) - Particle Size By Texture

Как сделать размер частицы по текстуре в PF Toolbox 3 (с 2014 уже встроен по дефолту)
Сердцем нетворка, да по сути и всего тулбокса 3 является могучая нода Geometry которая может семплить геометрию в окрестностях партикла на предмет разных аттрибутов этой самой геометрии - цвета, нормалей и т.п. Соответственно в ноде Geometry надо указать что запрашиваем point color. После этого ноде надо собственно указать какой объект мы семплим и партиклы как точки в которых он будет замерять колор. Объект заводится в систему нодой Select Object.  Партиклы заводятся в систему как ни странно тоже нодой Geometry, только уже в режиме Clothest Point By Surface. На первый взгляд это не имеет никакого смысла и, если бы я думал логически, то я бы пытался завести партиклы в систему каким нибудь Input Standart (и безуспешно, т.к. он может заводить только конкретные аттирбуты партиклов - велосити, скейл, позишен и тп., а вот сами партиклы как тип данных - нет).  Поэтому партиклы заводятся именно так - это я в примерах видел. Случай, когда мы рождаем партиклы на поверхности и потом ищем ближайшие к этой же самой поверхности партиклы, выглядит странно типа масло маслянное, НО! Мы ведь можем рождать на одном объекте, а семплить аттрибуты с совершенно другого. Это открывает массу возможностей (тут должен быть линк на видео с примером возможностей но линк проебан в пучине веков).
Далее все просто. Мы получили колор, а это тип вектор (RGB в случае колора). А на выход надо подать размер (в PF это scale), который тип флоат (тип real по понятиям тулбокса). Соответственно можно просто вычислить длину этого вектора (в случае ргб вектора длина это что то типа яркости - luminance), это делается через function\length. Либо можно выбрать конкретный цвет - взять ноду Convert\Vector-->Real и пикнуть нужную компоненту (R, G или B).
В ноде Function усть удобная фича - post factor - это просто умножение текущего значения. Иногда надо просто умножить текущее значение, тогда берешь function, снимаешь галку Использовать второй операнд, в операциях выбираешь Identity (типа не делать ничего), и просто крутишь пост фактор. В конце полученное значение просто выводится через Output Standart\ Average Scale
Кстати Frost принимает Scale как Radius Channel - и если включить соответствующую опцию то получим корректный меш.

вторник, 6 августа 2013 г.

Сайты с халявными текстурами разного качества

www.cgtextures.com
www.texturepilot.com
http://photoreferenceheaven.com/
http://texturer.com/
http://uvtextures.com
http://www.mayang.com/textures/
http://www.absolutecross.com/graphics/textures/
http://www.afflict.net/option_1/option_1.htm
http://amazingtextures.com/textures/
http://www.animax.it/animax/Textures.htm
http://www.backgroundcity.com/index.html
http://www.bencloward.com/resources_textures.shtml
http://tellim.com/texture_cd/html/menu1.html
http://citrusmoon.typepad.com/
http://www.freefoto.com/browse.jsp?id=33-0-0
http://www.gallerie1.de/html/texturen.shtml
http://imageafter.com/textures.php
http://lemog.free.fr/lemog_v5/index.php?cat=4
http://www.mayang.com/textures/
http://www.planit3d.com/source/texture_files/textures.htm
http://www.spiralgraphics.biz/packs/index.htm
http://www.2dvalley.com/gallery/Textures
http://www.squidfingers.com/patterns/
http://www.texturewarehouse.com/gallery/index.php
http://www.thelimelite.net/html/textures1.shtml
http://www.textureking.com/
http://textures.forrest.cz/
http://www.texturebin.com/textures.asp
http://tirad.com/textures.htm
http://www.feedfinder.net/webground/main.shtml
http://www.mega-tex.nl/highqualitytextures/
http://www.3dmd.net/gallery/index-22.html
http://texturelib.com/
http://stas-tyshkevych.io.ua/album399138_0
http://lostandtaken.com/gallery/tag/grunge
http://www.weiss-ag.info/gallerie/hdr-einzelbilder-shop/
http://www.hdrlabs.com/sibl/archive.html
http://powertextures.org.ua/freetextures-marble.html
http://www.admira.sg/catalogue/form-and-function/patterns/concrete/loft-concrete-please-refer-new-code

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

четверг, 1 августа 2013 г.

Deadline + Autodesk 2014 software + Arnold

Краткое руководство по установке:
1. Скачиваем Deadline 5.2.0.49424 от X-force
2. Устанавливаем repository (DeadlineRepository.exe) в расшаренную папку на сервере. Желательно дать ей имя вида Deadline_repository.
3. Скачиваем пак с поддержкой 2014 версий майи, макса и кси. Распаковываем содержимое в репозиторий с заменой.
4. Устанавливаем клиентов (DeadlineClient.exe) на сервера фермы. В файле thinkbox.lic прописываем HOSTID =  мак адрес сервера в ввиде HOSTID=50465DE3578C,  отредактированный файл кидаем в любую директорию, опять же, желательно дать ей адекватное имя и разместить в корне диска C. Этот путь прописывается в инсталляторе клиента, так же там указывается СЕТЕВОЙ путь репозитория.
5. Патчим файл C:\Program Files\Thinkbox\Deadline\bin\deadlineplugin_win64.dll с помощью thinkbox.software.generic.patcher-patch.exe из комплекта иксфорса.
6. Устанавливаем submission scripts через Deadline monitor - Scripts - Install integrated submission scripts. Это скрипты, которые позволят отсылать задачи прямо из софта.
Полная инструкция здесь . Внизу страницы линки на нужный софт.
7. Устанавливаем плагины через Deadline monitor - Tools (super user mode) - Configure plugins.
Версии 2014 должны быть доступны, если вы все правильно сделали. Нужно просто указать верные пути к исполняемым файлам.
8. В майе появится шелф Deadline. Жмакаем значок и ставим все как на картинке  (папка проекта майи должна быть, конечно же сетевая, как и путь к готовым кадрам):

Арнольд сам определится и будет считать замечательно.
P.S. Если вдруг у вас куча ошибок на серверах вида Stalled client - проверьте, синхронизировано ли время всех рабочих станций и серверов. Это важное условие.
P.P.S. Так же есть возможность отправлять Arnold задачи на сервера, на которых нет Maya (Softimage) и плагинов, используемых в сцене, только установленный Arnold. Достаточно сгенерить сиквенс *.ass файлов и отправить на просчет задачу через  Deadline monitor -Submit -Submit Arnold job to Deadline.

[1:42:05] Konstantin Belinskiy: ! на всякий случай про Deadline, важно помнить
Когда настраиваете ноды не пользуйтесь терминальным клиентом (любой клиент на основе RDP, например стандартный mstsc).
Кряк не активирует треминальный доступ в делайне! И при старте сервера на нодах выдается вот такая ошибка.
 



Пользуйте на нодах VNC или RAdmin (TeamViewer на крайняк, там вродя есть локальные подключения) они эмулируют прямое подключение моника с клавой и мышью, при этом не используют терминальный доступ.