Render.ru

Нужен элементарный МАКС скрипт!

#1
Скрипт должен просто экспортировать вершины из МАКСА в отдельный файл! %-)
Пример:

-0.560761 20.460140 20.106911
-18.538864 20.460140 7.441905
-18.538864 20.460140 0.788849
-0.560761 20.460140 0.651015
-0.560761 20.460140 20.106911
-18.538864 20.460140 0.788849
-39.621403 20.460140 0.651015
-0.560761 20.460140 0.651015
-18.538864 20.460140 0.788849
-39.621403 20.460140 0.651015
-18.538864 20.460140 0.788849
-21.676968 20.460140 0.788849
-39.621403 20.460140 20.106911
-39.621403 20.460140 0.651015
-21.676968 20.460140 0.788849
-39.621403 20.460140 20.106911
-21.676968 20.460140 0.788849
-21.676968 20.460140 7.441905
-0.560761 20.460140 20.106911
-39.621403 20.460140 20.106911
-21.676968 20.460140 7.441905
-18.538864 20.460140 7.441905


очень желательно чтобы они были округлённые до целого!
 
#4
готовый скрипт:
==========8<=================
obj=$;
file = createfile "c:\\aaa.txt";
text_data="";
for i = 1 to $.numverts do
(
pstn=getvert obj i
text_data+=(floor(pstn.x)) as string+" ";
text_data+=(floor(pstn.y)) as string+" ";
text_data+=(floor(pstn.z)) as string+"\n";
);
format "%\n" text_data to:file;
close file;
==========8<=================
usage: выбрать mesh объект и запустить скрипт, в корень
диска Ц плюнется файл aaa.txt...
 
#5
Здорово! ТО что нужно!, но есть какой-то баг.... иногда вершины не группируются по три!

-0.560761 20.460140 20.106911
-18.538864 20.460140 7.441905
-18.538864 20.460140 0.788849

-0.560761 20.460140 0.651015
-0.560761 20.460140 20.106911
-18.538864 20.460140 0.788849

-39.621403 20.460140 0.651015
-0.560761 20.460140 0.651015
-18.538864 20.460140 0.788849

-39.621403 20.460140 0.651015
-18.538864 20.460140 0.788849
-21.676968 20.460140 0.788849

-39.621403 20.460140 20.106911
-39.621403 20.460140 0.651015
-21.676968 20.460140 0.788849

-39.621403 20.460140 20.106911
-21.676968 20.460140 0.788849
-21.676968 20.460140 7.441905

но может быть это моя ошибка... в любом случае большое СПАСИБО!!
 
#6
Прошу прощения за неправильно поставленную задачу:

Мне нужно что бы все объекты разбивались на треугольники и уже координаты этих треугольников записывались в файл!!! %-)


(offtop) Кому интересно: я делаю гамезу и по этим кординатам я буду считать коллизион! :)
 
#7
==========8<=================
obj = $;
file = createfile "c:\\aaa.txt";
text_data = "";
face_ar = obj.faces;
for i = 1 to obj.numfaces do
(
vert_ar = getface obj face_ar.index;
for o = 1 to 3 do
(
pstn=getvert obj vert_ar[o];
text_data += (floor(pstn.x)) as string+" ";
text_data += (floor(pstn.y)) as string+" ";
text_data += (floor(pstn.z)) as string+"\n";
);
text_data += "\n";
);
format "%\n" text_data to:file;
close file;
==========8<=================
usage: также...
 
Сверху