Урок для начинающих Game-девелоперов

Как создать много разных низко-полигональных деревьев, кустов, хлама на земле, травы и т.п. простым способом, с использованием mel-скрипта. Подойдет для многих жанров, пожалуй, что кроме вида от первого лица, там придется или доделывать ручками или проще написать другой скрипт.

  1. Моделим ствол дерева (желательно попрямее) и одну ветку, переименовываем ветку в Branch.

  1. Накладываем текстуры (ветку рисуем с алфа-каналом), лучше делать в одной текстуре и ствол и ветку (быстрее будет работать в движках). Устанавливаем Pivot ветки в ствол дерева.

  1. Затем в Script Editor вставляем этот незатейливый скриптик.

_____________________________

// Low-Poly Tree

int $i;

float $x, $y, $z, $x1, $y1, $z1, $x2, $y2, $z2;

// 30 - количество повторений (поставьте сколько веток Вам надо)

for($i = 0; $i < 30; $i++)

{

// если не переименовали ветку впишите сюда ее название

select -r Branch;

duplicate -rr;

$x = rand (-5, 5) ;

$y = rand (-5, 5) ;

$z = rand (-5, 5) ;

$x1 = rand ( -20, 30) ;

$y1 = rand ( 0, 360) ;

$z1 = rand ( -20, 30) ;

$x2 = rand ( -1, 2) ;

$y2 = rand ( 1, 2) ;

$z2 = rand ( -1, 2) ;

// Если ветки начали расти не туда куда хотелось бы, значит Вы моделировали // не из того вида, из которого я, просто поменяйте координату в Move

// Перемещаем каждую новую ветку только в верх или низ

move -r 0 $y 0;

// Поворачиваем каждую новую ветку, но не очень сильно

rotate -r $x1 $y1 $z1;

// Увеличиваем или уменьшаем каждую новую ветку, но не очень сильно

scale -r $x2 0 $x2;

}

_____________________________

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

Если у кого есть желание можно покопаться в скрипте и поставить производство на рельсы, что бы скрипт записывал то что получилось в файл, делал Undo, потом опять генерил дерево и снова записывал, но уже в другой файл и так столько раз сколько надо, а в это время можно пока по изучать mel.

Можно так же сделать кустик, папоротник и травинку. Помещаем все это в начала координат и переименовываем с приличными названиями Bush, Paporotnik, Grass.

Затем собираем все в одну сцену с деревом, получаем что то вроде вот этого

Используем скрипт. Он внутри поделен на отдельные кусочки, что бы было понятно где что, выделяем нужный, вставляем в Script Editor (можно потом перенести в Shell) и запускаем все по очереди. Получается примерно следующее.

Само собой каждый раз, все получается по разному.

Всем спасибо за внимание и удачи.

463 0 850 4
3
2007-05-07
Помоему отличный урок
2007-05-30
Урок супер, вот надо побольше таких!!! а вот только незнаю где достать текстуры...неподскажите!?респект автору, напиши уроки 3 ещё про гейм девелоп? маленьких таких...
2007-07-15
Понравилось, занимательно)
RENDER.RU