Недавно на 3ddd было несколько покупок плагина GrowFx. Плагин замечательный, но информации по нему немного. Наткнувшись на эту статью, решил, что будет полезно поделится ей со всеми.
Это перевод. Оригинал: https://www.ronenbekerman.com/growfx-tree-archipelago-house/
Автор оригинальной статьи: Radek
Всем привет!
Сегодня я покажу вам как смоделировать дерево, которое вы могли увидеть в моей работе «Archipelago House». Для этой задачи я использовал замечательный плагин для 3ds Max. Вы его знаете. Это GrowFX.
Базовая структура дерева в GrowFx
Первый шаг — определиться с формой дерева и его представлением в GrowFx. Для этого я создал несколько путей (paths).
Корни направлены вниз, просто чтобы были. Даже не уверен, что они будут видны на конечных изображениях, но хорошо их иметь про запас.
Основной ствол дерева — один путь с добавленным к нему небольшим шумом (модификатор Noise).
Структура 3d дерева в GrowFX довольно сложная, но всегда основывается на одних и тех же правилах. Параметр Path position у главных веток (путь B_main) влияет на другие параметры, такие как: длина ветки (ветки расположенные выше будут короче), угол загиба, вариативность направления (нижние ветки более загнуты и скручены) и на плотность.
Маленькие ветки хаотично направлены вверх.
Иголки сделаны из стандартных листьев GrowFX. Прямоугольник с разбивкой и настроенной картой непрозрачности (Opacity map) веточек с иголками. Я также применил модификатор скручивания (twist direction modifier).
В нижней части дерева я создал сломанные ветки, без иголок. Чтобы их обрезать, я использовал модификатор «slice_dir».
Тоже я проделал с ветками, которые растут из основного ствола. Чтобы изменить длину, угол загиба и вариативность направления я использовал параметр Path Position. Они короче и более изогнуты в нижней части дерева.
Чтобы сымитировать эффект сломанных веток в нижней части веток, я создал 3 пути:
1.“Dead_down”
2.“Meta-“
3.“Meta+”
“Dead_down” — просто мелкие ветки. “Meta-“ и “Meta+” — создают пустоты и расщепленные ветки. Для этого я использовал meta-mesh с операциями «+» и «-».
Еще полезные советы по GrowFx
Чем больше фигур, тем дольше будет обновляться объект. Самый простой способ ускорить процесс — работать с одной веткой. Для этого нужно отключить Distributor, создающий основные ветки, а вместо него добавить Path Position Distributor, который создает одну. Такой метод дает больше контроля и помогает легче настраивать форму и деление веток.
Интересный метод придавать деревьям форму используя модификатор векторного направления (vector direction modifier ) с выбранной опцией «другая точка цели»( “another target point”). Я использовал Exlevel Point helper (create panel / helpers / exlevel / point ). Так можно изменить всю форму дерева просто одним движением мыши.
Когда я закончил моделировать дерево, я скопировал объект 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).
На одном дереве на переднем плане, которое смотрит прямо в камеру, я использовал отсканированный ствол дерева, чтобы передать натуральность формы и детализацию. Чтобы это сделать, я использовал модификатор “spline direction”, повесив его на путь “Trunk” в GrowFX объекте. Создал сплайн, и важно задать правильную точку привязки, для него.
Следующим шагом я конвертировал объект GrowFX в редактируемый поли и удалил часть полигонов ствола дерева. Вместо них разместил отсканированную сетку.
Другие отсканированные элементы, использованные в сцене Archipelago House
Вот и все. Надеюсь вам понравилась статья. И я буду очень рад, если она пригодится.