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

Получить уникальные вершины из фейсов объекта

Тема в разделе "MAXScript", создана пользователем VladimirNK, 26 апр 2009.

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

    VladimirNK Пользователь сайта

    С нами с:
    13.11.2007
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    Друзья!

    MaxScript-ом занимаюсь 2 дня, пишу экспортер из Макса в формат XPlane OBJ.
    Если вопрос сильно уж простой - не обижайтесь.

    Есть задача - получить список вершин объекта.
    Это можно сделать вот таким вот кодом, как вы все знаете:

    num_faces = tmesh.numfaces
    for f = 1 to num_faces do
    (
    face = getFace tmesh f
    for v = 1 to 3 do
    (
    format "VT %\n" (getVert tmesh face[v]) to: out_file
    )
    )

    Все бы хорошо, но те вершины, где грани фейсов соприкасаются - дублируются.
    Это совсем не гуд, так как далее мне надо будет писать списки индексов для
    построения объекта.
    Собственно вопрос - как можно получить список вершин (с учетом фейсов),
    где каждая вершина существует в единственном экземпляре ?
     
  2. Protactinium

    Protactinium Пользователь сайта

    С нами с:
    03.03.2006
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    2
    Так можно получить список уникальных вершин сетки, но без связи с гранями:
    tmesh = $.mesh
    for i=1 to tmesh.numVerts do
    print (getVert tmesh i)

    По-моему, вы что-то путаете. Если вы хотите хранить только уникальные вершины, то вам придется их индексировать в каждой грани, иначе вам просто не хватит вершин.
    Еслиже вы не хотите хранить индексы, то вам придется для каждой грани хранить три ее вершины и в смежных гранях вершины будут дублироваться.
     
Модераторы: Savin Denis

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