1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Помогите со скриптом, пожалуйста.

Тема в разделе "MAXScript", создана пользователем -, 6 июн 2005.

Модераторы: Savin Denis
  1. Guest

    У меня есть смоделированный ландшафт плагином Ground Crew. Мне нужно создать файл, в котором будут координаты z всех точек поверхности (грубо говоря, высота каждой вершины отностиельно некого нулевого уровня).

    Нашёл вот такой скрипт http://www.render.ru/forum/read.php?31,340669

    Насколько я понимаю для меня нужно его немного подправить

    obj=$;
    file = createfile "c:\\aaa.txt";
    text_data="";
    for i = 1 to $.numverts do
    (
    pstn=getvert obj i
    text_data+=(floor(pstn.z)) as string+"\n";
    );
    format "%\n" text_data to:file;
    close file;

    но мой макс (версия 5.0) ругается на это

    text_data+=(floor(pstn.z)) as string+"\n";
    );

    Ещё нужно, что бы в файле отображалось количество точек по вертикали и горизонтали.

    Заранее спасибо.
     
  2. Guest

    Ссылка-http://www.render.ru/forum/read.php?31,340669
     
  3. Guest

    Разобрался немного. Хоть щас выводит числа, но при большом количестве вершин выбрасывает? Есть какое-нибудь ограничение или нет? И как сделать что бы числа не округлялись?

    Просто совсем не шарю в скриптах.
     
  4. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    С тримешем может прокатить, но не всегда
    точки в локальных координатах, так как работаеш через тримеш
    еслибы конвертил в едитмеш все было-бы впорядке
    выше пример он не должен валится на больших сетках
     
  5. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    1.Выделенный обьект должен быть Editable_Mesh
    2.С подсчетом не все так просто может замедлить вывод при очень большой сетке.


    -- ---------------------------------------------------------
    obj=$
    file = createfile "c:\\aaa.txt"
    for i = 1 to obj.numverts do
    print ((getvert obj i).z) to:file
    close file
    -- ---------------------------------------------------------
     
  6. Guest

    Написал новый скрипт. Вроде не надо делать Editable_Mesh (или надо?).

    file = createfile "D:\\Cords.txt";
    text_data="";
    m=selection[1].mesh; n=getNumVerts m
    for i = 1 to n do
    (
    p=getvert m i
    text_data+=(floor(1000*p.x)/1000) as string+" ";
    text_data+=(floor(1000*p.y)/1000) as string+" ";
    text_data+=(floor(1000*p.z)/1000) as string+"\n";
    );
    format "%\n" text_data to:file;
    close file;

    Только щас заметил, что скрипт не даёт реального расположения точек. Ввожу для проверки куб, и координаты получаются не вершин, а точек лежащих на прямых, соединяющие вершины. Я в этом плохо разбираюсь. Скажите, где я могу ошибаться?

    Ещё проблема, когда ввожу много точек, то вываливается надпись unknown system exeption. В чём может быть проблема?
     
  7. Guest

    Сорри, что подымаю древнюю тему, но все же.
    Отконвертил объект в едитабле меш, но GetVert все равно дает локальные координаты. Обошел это путем получения <mesh>.pos, но все равно модель экспортируется частично криво - некоторые меши не на своих местах. Что я не так делаю? :(
    И второй вопрос - модель имеет симметрию, и ее явно рисовали миррором. В результате на половине полигонов вывернуты нормали, причем без закономерности от расположения. Как с этим справиться?
     
Модераторы: Savin Denis

Поделиться этой страницей