Недавно на 3ddd было несколько покупок плагина GrowFx. Плагин замечательный, но информации по нему немного. Наткнувшись на эту статью, решил, что будет полезно поделится ей со всеми.

Это перевод. Оригинал: https://www.ronenbekerman.com/growfx-tree-archipelago-house/

Автор оригинальной статьи: Radek

Всем привет!

Сегодня я покажу вам как смоделировать дерево, которое вы могли увидеть в моей работе «Archipelago House». Для этой задачи я использовал замечательный плагин для 3ds Max. Вы его знаете. Это GrowFX.

0749c78f2001344be996157478fb0d78.jpg

Базовая структура дерева в GrowFx

Первый шаг — определиться с формой дерева и его представлением в GrowFx. Для этого я создал несколько путей (paths).

archipelago-path-layout.gif

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

a181ab1eb52da266cb5ad40618d1992b.jpg

Основной ствол дерева — один путь с добавленным к нему небольшим шумом (модификатор Noise).

c61d8a529e681c3eca727d188f89f9a0.jpg

Структура 3d дерева в GrowFX довольно сложная, но всегда основывается на одних и тех же правилах. Параметр Path position у главных веток (путь B_main) влияет на другие параметры, такие как: длина ветки (ветки расположенные выше будут короче), угол загиба, вариативность направления (нижние ветки более загнуты и скручены) и на плотность.

ee4120fa0a71a1e3d819fb8ea68f7246.jpg

a320f742f577150b58aae16322a34c47.jpg

Маленькие ветки хаотично направлены вверх.

553ce1dbde5b90e5e994a27376b2226e.jpg

Иголки сделаны из стандартных листьев GrowFX. Прямоугольник с разбивкой и настроенной картой непрозрачности (Opacity map) веточек с иголками. Я также применил модификатор скручивания (twist direction modifier).

94275e9d526cc041ef98db8becbfe839.jpg

В нижней части дерева я создал сломанные ветки, без иголок. Чтобы их обрезать, я использовал модификатор «slice_dir».

f2a46a22264396eed360a46a6270c1b3.jpg

Тоже я проделал с ветками, которые растут из основного ствола. Чтобы изменить длину, угол загиба и вариативность направления я использовал параметр Path Position. Они короче и более изогнуты в нижней части дерева.

e9096c58c2350bcbb79fb0d1efec13e0.jpg

Чтобы сымитировать эффект сломанных веток в нижней части веток, я создал 3 пути:

1.“Dead_down”

2.“Meta-“

3.“Meta+”

“Dead_down” — просто мелкие ветки. “Meta-“ и “Meta+” — создают пустоты и расщепленные ветки. Для этого я использовал meta-mesh с операциями «+» и «-».

2bfa2bb2bbd0c6a811e4ab9773dcafb0.jpg

Еще полезные советы по GrowFx

Чем больше фигур, тем дольше будет обновляться объект. Самый простой способ ускорить процесс — работать с одной веткой. Для этого нужно отключить Distributor, создающий основные ветки, а вместо него добавить Path Position Distributor, который создает одну. Такой метод дает больше контроля и помогает легче настраивать форму и деление веток.

archipelago-path-branch.gif

Интересный метод придавать деревьям форму используя модификатор векторного направления (vector direction modifier ) с выбранной опцией «другая точка цели»( “another target point”). Я использовал Exlevel Point helper (create panel / helpers / exlevel / point ). Так можно изменить всю форму дерева просто одним движением мыши.

50f6e5a2870c9ad1d2413be92f138798.gif

Когда я закончил моделировать дерево, я скопировал объект GrowFX и поменял параметр seed. Изменив длину путей, плотность и количество веток я получил разные деревья.

Сканирование текстур

Текстуры коры сосны, которые используются в проекте, я сделал сам. Главная задача – сделать карты diffuse; displacement; normal. Процесс создания текстур прост:

1. Делайте хорошие фотографии

Самый важный и затратный по времени шаг. Я пошел в ближайший парк и сделал очень много снимков. К примеру, чтобы отсканировать ствол одного дерева я сделал 140 фотографий. Может быть это слишком много, но лучше больше, чем меньше.

2. Постройте плотную сетку используя фотограмметрию

Есть много программ, которые можно использовать. Например 123D Catch от Autodesk — она бесплатная (на момент написания статьи, решение о закрытии проекта и переноса его в Remake Autodesk еще не приняла). Есть много обучающих видео этого процесса онлайн, но, если вам интересно, я возможно опишу весь процесс в следующей статье. Просто дайте мне знать об этом в комментариях.

3. Сделайте из сетки низкополигональную модель

Если вы хотите создать текстуры, вам нужно сделать low-poly версию вашего отсканированного объекта. Самый простой способ использовать ретопологию в Z-brush. В одно нажатие вы получите low-poly сетку. Следующий шаг — UV-развертка. В случае со стволом дерева все просто, потому, что его фигура цилиндрическая. Это означает, что, если вы разрежете сетку и сделаете ее плоской – она станет прямоугольной. Это очень помогает, если соберетесь создавать бесшовные текстуры в фотошопе.

4. Запекайте текстуры

Когда у вас есть отсканированная high-poly сетка и ее low-poly, развернутая версия, вы можете еще запечь текстуры. Самые важные для нас текстуры: diffuse, normals and height map (displacement). До того, как вы начнете процесс запекания текстур, давайте я покажу как быстро и правильно настраивать карту высот. Перетащите ваш low-poly объект в high-poly, чтобы они располагались в одних координатах. Добавьте модификатор Shell и начинайте увеличивать внешний параметр (outer amount). Когда он закроет почти весь high-poly объект, скопируйте внешнее значение (outer amount) и вставьте в параметр «max height» в Projection Options. Проделайте тоже самое с внутренним параметром (inner amount). Так вы получите отличную карту высот. Когда она будет запечена, лучше сохраните ее в формате 16 или 32 bits (tiff или exr).

archipelago-render-to-texture-height-map.gif

На одном дереве на переднем плане, которое смотрит прямо в камеру, я использовал отсканированный ствол дерева, чтобы передать натуральность формы и детализацию. Чтобы это сделать, я использовал модификатор “spline direction”, повесив его на путь “Trunk” в GrowFX объекте. Создал сплайн, и важно задать правильную точку привязки, для него.

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

8fcc3af6fae79aeb9ee973b575edf446.jpg

Другие отсканированные элементы, использованные в сцене Archipelago House

archipelago-scanned-elements.gif

Вот и все. Надеюсь вам понравилась статья. И я буду очень рад, если она пригодится.