понедельник, 15 апреля 2013 г.

Krakatoa-frost isosurfaces



Необходимы:

1.       Thinkbox Frost.
2.       Thinkbox Krakatoa версии 1.6 или выше. Ниже – не ручаюсь.



Стартовая сцена:





В Create > Geometry > Krakatoa выбираем PRT Volume и размещаем в сцене:





Жмём на кнопку в свитке Source и выбираем нужную модель. Получаем массив частиц, повторяющий объём источника.





Жмём на маленькую кнопку справа от кнопки выбора источника:





В открывшемся меню выбираем Inherit Source Object Settings, а там – Align PRT Volume To Source Object, что уравняет положение массива частиц с положением источника.





Должно получиться вот так:





После этого исходную модель можно скрыть или перевести в Box Mode.

Дальше вешаем на PRTVolume модификатор Krakatoa Channels:





Нажимаем на Open MagmaFlow Editor. Открывается окно магмафлоу.





Щёлкаем на выходную ноду (правый верхний угол) и задаём ей канал Density.





После этого удаляем ноду IN:Channel:Color.  Дальше открываем свиток Input (внизу окна), подхватываем там ноду TexMap и перетаскиваем на грид:







В Texture Output Type меняем значение на Mono (Float). Это нужно для того, чтобы нода текстуры конвертировала яркость текстуры во float-переменную, которая потом отдаётся ноде Density, контролируя плотность массива частиц. Дальше соединяем ноды:







Жмём на Get Texture Map и выбираем текстуру. Потом, нажав на Put To Active MEditor Slot, можно заинстансить выбранную текстуру в активный слот матэдитора и настраивать её там.

В итоге получаем конструкцию, задающую плотность массива частиц по текстуре:







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





А входной – на Density.







Полученная конструкция делает выборку частиц в зависимости от плотности облака. Для полноты картины выбранные частицы теперь нужно удалить. Для этого вешаем на PRT Volume модификатор Krakatoa Delete.

СубханАллаh, теперь переменная плотность массива видна и во вьюпорте! Настройку целлулара (по умолчанию у него очень мелкий размер) я оставляю за кадром.





Теперь можно вернуться к параметрам самого PRT Volume и увеличить количество частиц в нём, уменьшив размер ячейки воксельной сетки (Spacing и Viewp.Spacing; первое значение действует при рендеринге, второе – во вьюпорте):





Меняем Viewp. Spacing на 1.  Становится нагляднее:





Можно уменьшать спейсинг по вкусу, ориентируясь на мощности компа. Я поставил 0,5. Можно ещё отключить лимит на количество частиц во вьюпорте:







На этом возня с кракатау закончена. Переходим ко фросту. Create > Geometry > Thinkbox, создаём Frost, размещаем его в сцене.







В свитке Particle Objects жмём на Pick и выбираем частицы. Получаем жирную хуйню:







Дальше уже дело подбора параметров. Их там слишком много, чтобы объяснять в этом уроке. На сайте Thinkbox есть хорошие хелпы  и по кракатауи по фросту  – лучше читать именно их.

Вот параметры, которые использовал я сам:



Можно скачать этот пресет тут. Финальную сцену – тут Во избежание подвисаний при открытии в настройках фроста отключены Viewport Update, Enable in render и Enable in Viewport, PRT Volume переключён в Box mode, а исходная модель стэнфордского кролика скрыта.



Напоследок:

1. «Чистота» геометрии также сильно зависит от количества частиц в RPT Volume, т.е. от плотности его сетки. Это нужно учитывать.

2. В свитке Miscellaneous параметров PRT Volume можно распределить частицы по поверхности источника, а не по его объёму, и настроить толщину «оболочки»:







Вот примеры того, что можно сделать по описанной схеме.





















Комментариев нет:

Отправить комментарий