Render.ru
Поддержать

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

  • Автор темы Гость
  • Дата создания

Гость

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

-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


очень желательно чтобы они были округлённые до целого!

Гость

Я в МАКС скрипте ничерта не понимаю! ;-) Я программист! ;-)

Гость

готовый скрипт:
==========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...

Гость

Здорово! ТО что нужно!, но есть какой-то баг.... иногда вершины не группируются по три!

-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

но может быть это моя ошибка... в любом случае большое СПАСИБО!!

Гость

Прошу прощения за неправильно поставленную задачу:

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


(offtop) Кому интересно: я делаю гамезу и по этим кординатам я буду считать коллизион! 🙂

Гость

==========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: также...