Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

Раздел: VRay, Скрипты

Привет. Думаю, стоит сделать перерыв между уроками по Craft Director Studio, вряд ли ими интересуется так уж много людей. Поэтому сегодня мы отведём время чему-то другому. На днях в комментариях была задана пара вопросов: 1) как в 3ds Max можно разбросать объекты по поверхности другого объекта; и 2) если сначала расположить лоуполи объекты, то как потом совершить подмену на их высокополигональные версии? Этот урок ответит сразу на все вопросы.

Способ заключается в использовании системы частиц Particle Flow, при помощи которой мы размножим объекты, в данном случае это будут деревья, по поверхности чего-либо. Однако распространять мы будем не сами деревья, и даже не их прокси (потому как с проксями много чего сделать не позволено), а обыкновенные Box'ы. Вместо них впоследствии можно будет подставить прокси хайполи деревьев. Звучать может непонятно, но вы сами всё поймёте, когда попробуете.

1. План следующий: есть планета, до боли напоминающая Землю. Но, судя по всему, она — лишь миниатюрный близнец нашей, так как она вся в снегу и карликовая. Уверен, что где-то в далёкой-далёкой галактике такая всё же существует.

В общем, запускайте 3ds Max и в новой сцене создайте геосферу радиусом 100 м с достаточным количеством сегментов. Тут я не стал церемониться и влупил сразу 100 сегментов. Так что если есть желание нагнуть свой компьютер, милости прошу повторить. А вообще, думаю, хватило бы и 50.

Геосфера 3ds MaxГеосфера 3ds Max

2. Идея заключается в том, чтобы на этой планете, мысленно про себя назовём её Вирея (всё же будет использоваться VRay!), виднелся наш земной рельеф, и деревья произрастали строго на суше, не залезая в океаны.

Вызовите Редактор материалов (клавиша M) и в канал Diffuse стандартного материала положите карту Bitmap (Растровое изображение). Для наших экспериментов предлагаю воспользоваться вот этой картой высот с сайта NASA, по которой произведём дисплейсмент материков и островов.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

3. Примените материал к геосфере и включите его отображение в окнах проекций.

Применение материала 3ds maxПрименение материала 3ds max

4. Добавьте в стек модификатор Displace (Смещение), установив Strength (Сила) на 2 м (вот тут, судя по всему, можно было бы поставить чуть больше, но лень переделывать заново). Тип проецирования установите на Spherical (Сферический). Перетащите то же самое изображение в слот Map (Карта) — как видим, появились какие-то острые шипы, которых быть не должно.

3ds max Displace3ds max Displace

5. Шипы можно убрать, добавив чуточку блюра (Blur) в настройках модификатора Displace. Однако есть ещё другая проблема: проецирование выдавливания континентов не совпадает с отображением материала на самой планете, дисплейсит не в том месте...

3ds max displace blur3ds max displace blur

6. Чтобы это исправить, добавим модификатор UVW Map со сферическим маппингом.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

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

8. Нет, не пальму:

Ёлка 3ds max

9. Это ёлка, если непонятно. Состоит она из нескольких частей, но поскольку мы будем делать из неё вирей прокси, то необходимо присоединить все эти части друг к другу с сохранением материалов. Для удобства изолируем модель от всего остального мира нажатием Alt+Q (полезная штука!). Разгруппируйте модель, если она у вас сгруппирована. Далее, поочерёдно нажимая ПКМ на какой-либо из частей, выбирайте из контекстного меню операцию Attach (Присоединить), и затем кликайте по всем остальным частям. Удобнее это делать из меню Select by Name (Выбор по имени), которое вызывается клавишей H

3ds max Attach3ds max Attach

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

3ds max Attach Options

11. Опорную точку, она же — pivot point, следует сначала отцентрировать по модели через команду Center to Object на вкладке Hierarchy (Иерархия), а затем сместить её почти в самый низ, но не доходя до края. Нужно оставить немного места снизу, чтобы потом не вышло так, что деревья висят в воздухе.

3ds Max Pivot Point3ds Max Pivot Point

12. В модели дерева полигонов слишком много, поэтому мы пойдём на некоторое ухищрение, о котором говорилось в самом начале. Создадим самый обыкновенный Box с габаритами, как у ёлки. Его мы в самом конце подменим на vray proxy.

3ds max Bounding box3ds max Bounding box

13. Аналогичным образом нужно привести в порядок расположение опорной точки и у бокса.

3ds max box pivot point3ds max box pivot point

14. Саму ель сейчас можно спрятать, поскольку её пока будет заменять бокс. Вызовите окно работы со слоями Manage Layers (Управление слоями) и в текущем слое активируйте Hide (Спрятать) напротив дерева. И да, сейчас уже можно выйти из режима изолирования.

3ds max Manage Layers3ds max Manage Layers

15. Теперь откроем окно работы с частицами, нажав клавишу 6 на клавиатуре, либо через меню Graph Editors > Particle View (Редакторы графоых представлений > Просмотр частиц). В рабочей области окна вы ничего не обнаружите, поэтому в качестве отправной точки перетащим стандартный рабочий набор событий Standard Flow из общей библиотеки.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

16. На скриншоте ниже красным цветом отмечены операторы, которые нам не понадобятся. ПКМ на них > Delete (Удалить). А операторы Rotation (Вращение) и Speed (Скорость) поменяйте местами. А вот если бы поверхность была плоскость, а не шарообразной, то можно было бы удалить и Speed. Почему мы его оставили, хоть анимации у нас никакой и не будет, узнаете ниже.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

17. Добавьте в событие Event 001 ещё несколько операторов: Position Object (Размещение объектов),  Speed By Surface (Скорость по поверхности), Shape Instance (Экземпляр формы) и Scale (Масштаб). Что это за операторы и с чем их едят, мы поговорим отдельно, когда будем их настраивать, а пока сделайте активным оператор Birth (Рождение) и в его параметр Emit Stop (Окончание испускания) впишите 0. Это означает, что завершение производства частиц произойдёт в нулевом кадре, что, в общем-то, логично. А ниже мы видим параметр Amount (Количество), но к нему вернёмся позднее: пока хватит и 200 частиц для общей картины.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

18. Кликните по оператору Position Object, затем — по кнопке Add (Добавить), и третий клик сделайте по планете, чтобы она добавилась в список Emitter Objects (Объекты эмиттера). Данный оператор задаёт объект, по которому будут распределяться частицы.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

19. Перейдём в оператор Shape Instance. Он предназначен для замены частиц любой другой геометрией. Кликните по кнопке None в его настройках, а затем — по боксу. Однако, как можно заметить, должного эффекта это не произвело, частицы так и остались отображаться в виде плюсиков.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

20. Переключиться на отображение частиц в виде указанного объекта можно в операторе Display (Отображение). В раскрывающемся списке Type (Тип) выберите Geometry (Геометрия). Результат очевиден, однако боксы валяются и в океанах тоже, а мы хотели, чтобы только на суше.

Particle Flow в 3ds Max: размножение объектов по поверхности c подменой на Proxy

21. Вернёмся в оператор Position Object. Отметьте галочкой параметр Density By Material (Плотность по материалу). Вариант Grayscale (Градация серого) должен быть установлен по умолчанию, он-то нам и нужен. Теперь там, где на текстуре цвет чёрный, боксов нет, а есть они только на более светлых её областях. Но, как видно, валяются они хаотично. Именно так валялись бы и деревья, если мы ничего не предпримем.

3ds max position object grayscale3ds max position object grayscale

22. Боксы нужно ориентировать строго вверх, причем таким образом, чтобы их ориентация совпадала с нормалями геосферы. В Particle Flow за это отвечает оператор Speed By Surface. Добавьте планету в его список Surface Geometry (Геометрия поверхности) при помощи кнопки Add.

PFlow Speed by SurfacePFlow Speed by Surface

23. Однако изменений не наблюдается. Это потому, что Speed By Surface необходимо согласовать с оператором Rotation. Выберите его и в Orientation Matrix (Матрица ориентирования) установите Speed Space (Пространство скорости). Боксы лягут на бок, но нам надо, чтобы они стояли. Поднять их можно коррекцией координаты Y на 90 градусов. Не пугайтесь, что они так и остались лежать, мы всё правильно сделали. Здесь же задайте Divergence (Разброс) равным 15градусам, чтобы разнообразить наклон елей в пределах плюс-минус 15 градусов.

PFlow Rotation Speed SpacePFlow Rotation Speed Space

24. Того, чего мы ожидали от боксов не произошло по той причине, что главному боксу следует сделать сброс XForm. Выберите его, перейдите на вкладку Utilities > Reset XForm > Reset Selected. Теперь всё должно стать на свои места.

3ds max reset xform3ds max reset xform

Продолжение — на следующей странице.

Назад Вперед

Другие материалы:

Здесь с 23.01.2013
47 комментариев
Откуда: Россия
Репутация: 0

        

#1 добавил KLICKSTOP

19 января 2014 13:59 | Комментариев: 47
Полезный урок, спасибо! good
Здесь с 23.08.2011
30 комментариев
Репутация: 0

   

#2 добавил harry

20 января 2014 20:31 | Комментариев: 30
Интересный урок, но ИМХО можно было сделать гораздо быстрее с помощью замечательного плагина multiscatter)
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#3 добавил DDT

20 января 2014 20:43 | Комментариев: 1288
Конечно, мультискаттером такое можно сделать :) Это всего лишь один из способов, как это можно сделать ещё. Плюс с частицами можно вытворять много чего такого, для чего мультискаттер просто не предназначен :) Например, на основе частиц можно построить интересную анимацию этого всего.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.