<< к оглавлению...

Замена Scatter-а PFlow-ом

Вам когда-нибудь нужно было рассыпать много объектов по поверхности другого объекта, а Scatter Compound Object не потянул это задание? К сожалению, Scatter Compound Object не обновлялся примерно с 4-ой или 5-ой версий max-а, и если вам нужно сделать что-то наподобие множества разбросанных объектов, распределить объекты по определённой карте (distribution map), то вам не повезло. Но существует обходной путь. Можно использовать систему частиц ParticleFlow для распределения одних объектов на поверхности другого. Метод несколько трудоёмкий, но после его настройки, даёт некоторые дополнительные преимущества.
Вот результат того, чего я хочу добиться: куча булыжников, расположенных по всему ландшафту. Заметьте справа вверху экрана значок PFlow, для нашей готовой сцены, пока можно его спрятать.

Здесь файл примера в формате max 2009.

Чтобы смоделировать эту сцену, начнём с поверхности земли и одного камня. Теперь, где-нибудь в сцене создадим эмиттер PFlow. Вот как выглядит начальная диаграмма PFlow :

Итак, сначала воспроизведите диаграмму, подобную показанной выше, размещая и убирая необходимые операторы (оператор это, например: Birth Operator, A Speed By Surface Operator, итд). Затем идём и устанавливаем значения для каждого оператора, соответствующие приведённым ниже:

Создание частиц начинается и заканчивается в первом кадре. Amount – это количество камней, которые нужно раскидать.

Выбираем поверхность земли (Ground) как Emitter Object. Значение Location как Surface, чтобы частицы распределялись по поверхности.


Выбираем поверхность земли как Surface Geometry, с направлением (Direction) Surface Normals. Этот параметр направляет частицы по нормалям вашего объекта.


Теперь выберем для вращения (Rotation) вариант Speed Space. Это расположит ваши объекты по нормалям поверхности вашего emitter-объекта. Настройте величину Axis, чтобы камни были направленны так, как вам нужно.

Так как нам не нужны движущиеся частицы, зададим им скорость (Speed) равную 0, оставляя их бездвижными на поверхности.

В параметре Shape Instance указываем наш объект-камень. Если выбран переключатель "Acquire Material", у ваших камней будет тот же материал, что и у исходного камня.

pic08a

А если вы хотите расположить множество камней различного типа: создайте из ваших камней-объектов группу, и затем выберите для "Particle Geometry Object" укажите имя группы и включите галочку "Group Members", чтобы сделать случайную выборку одного из экземпляров группы для каждой частицы.

Чтобы задать для каждого камня небольшую разницу в размерах, установите масштаб (Scale Variation) как показано выше.

Этот оператор (Material Static) не обязательный, так как камням уже назначен материал, но если вам нужно что-то более разнообразное для некоторых камней, типа случайного ID материала, этот оператор позволит вам это сделать.

Наконец, устанавливаем тип Display как Geometry и значение Visible на 100%, чтобы можно было увидеть размещение всех булыжников. Спокойно можете уменьшить количество показываемых объектов, если их число достаточно велико и не обязательно видеть, где находится каждый из них.
Теперь у вас есть то, что может заменить Scatter Compound object, давая при этом некоторые дополнительные полезные свойства. Если потом вы захотите преобразовать частицы в объект (mesh), используйте Mesher Compound object, который создаёт из частиц геометрические объекты.

Спасибо Bobo за помощь по данной технике.


оригинал статьи : http://neilblevins.com/cg_education/pflow_scatter/pflow_scatter.htm
перевод и адаптация: Александр Ергашов /© 2009-2012/
<< оглавление