Render.ru

Voxel или что это. как сделать?

Denis Belov

Пользователь сайта
Рейтинг
2
#1
подскажите как сделать такой эффект в максе. чтобы не анимировать каждый полигон/прямоугольник.. Например эффект волны или воздействие на плоский объект вдавливание выдавливание волной.



кусочек видео

Код:
http://yfrog.us/hqpixelz
спасибо
 

Chebu

Знаток
Рейтинг
59
#3
максскрипт..

самое простое - анимировать поверхность, а в максскрипт кастовать лучи на эту поверхность и по точкам столкновения двигать боксы
 

nanobes

Активный участник
Рейтинг
16
#4
классическая задачка для начинающего Гудиниста. Но коль скоро здесь не Houdini, а max:

1) создаём plane и box (плоскость и кубик). плоскость с нужным количеством сегментов. у кубика сегментов по единичке.
2) из кубика делаем объект типа Scatter (Compound object / Scatter), в качестве Distribution Object берём плоскость. в режиме Instance, само собой. Распределяем кубик на каждую точку - Distribute Using / All Vertices и снимаем галку Perpendicular. В Display Options прячем плоскость (в рамках объекта scatter, сама оригинальная плоскость в сцене) Hide Distribution Object.
3) исходную плоскость отодвигаем вниз (чисто для удобства)
4) анимируем плоскость с помощью какого-либо модификатора. в моём случае простейший Ripple. Можно воспользоваться
модификатором Displace или ещё чем.

на этом этапе, мы уже получили кубики перемещающиеся согласно анимации поверхности. можно пойти дальше.

далее внимательно, чуть не так и ... - это вам не Houdini :)
5) временно отключаем модификаторы, отвечающие за анимацию плоскости (так будет удобнее)
5) создаём копию объекта scatter (кубиков). в режиме Copy. Сдвигаем её вниз, под исходный объект.
6) на исходный scatter (верхний) кидаем сверху модификатор Editable Poly. Работаем с этим модификатором.
Attaсh - присоединяем к нему нижний объект scatter (нижний массив кубиков) - теперь это один объект.
выделяем у верхних кубиков нижние полигоны, у нижних кубиков - верхние. Bridge - соединяем их. здесь всё.
7) у плоскости включаем обратно модификаторы анимации.

проигрываем анимацию. не перестарайтесь количеством кубиков - может тормозить :)

картинки, видео

http://www.youtube.com/watch?v=mpnNPH9Mubg
 

Вложения

nanobes

Активный участник
Рейтинг
16
#6
впрочем, немного подумав:
1) вместо кубика, создаём параллепипед с достаточным запасом по высоте (или другой объект, скажем цилиндр), опорную точку (pivot) смещаем наверх (к самому верхнему полигону)
доходим до пункта 4)

потом просто кидаем на объект scatter модификатор Slice. Настраиваем положение Slice Plane и включаем Remove Bottom.
намного проще и главное быстрее по скорости, чем возиться с Bridge как я первоначально предложил. хотя первый способ тоже может пригодиться для какого-либо отдельного случая :)
 

Denis Belov

Пользователь сайта
Рейтинг
2
#7
можно пояснить это. как это сделать

опорную точку (pivot) смещаем наверх (к самому верхнему полигону)
и

выделяем у верхних кубиков нижние полигоны, у нижних кубиков - верхние.
получается что если кубиков 100 и они друг над другом. .как выделить у всех только верхние и нижние полигоны. каким инструментом в максе? ну не с CTRL же по одному.

сорри если нубский вопрос.
 

nanobes

Активный участник
Рейтинг
16
#8
pivot сдвигаем в режиме Hierarchy/Pivot/Affect Pivot Only
на шаге 5) мы отключаем анимацию, чтобы на шаге 6) спокойно выделить нужные полигоны (как на третьей картинке, только не в Perspective, а в окне проекции Front - это сделать думаю не проблемма с помощью обычного режима прямоугольного выделения (Rectangular Selection) и включенной кнопки Window / Crossing).

впрочем, советую всё же второй способ (с помощью обрезки модификатором Slice) - работает он побыстрее, да и сделать проще.
 

Вложения

Denis Belov

Пользователь сайта
Рейтинг
2
#9
спасибо! все получилось.
а что в гудини подобные штуки проще делаются? )))
 

nanobes

Активный участник
Рейтинг
16
#10
я бы не стал говорить "проще". скорее, процедурная нодовая структура Houdini позволяет достаточно гибко и эффективно разрабатывать проект, без особых опасений залезть в "бутылочное горлышко забитое пробкой". на пальцах это объяснять смысла особого нет. на сайте www.sidefx.com есть и демо-версия, и форум, и туторы. например такие
http://www.sidefx.com/index.php?option=com_content&task=view&id=1500&Itemid=132
 
Сверху