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
)
)
Все бы хорошо, но те вершины, где грани фейсов соприкасаются - дублируются.
Это совсем не гуд, так как далее мне надо будет писать списки индексов для
построения объекта.
Собственно вопрос - как можно получить список вершин (с учетом фейсов),
где каждая вершина существует в единственном экземпляре ?
Так можно получить список уникальных вершин сетки, но без связи с гранями:
tmesh = $.mesh
for i=1 to tmesh.numVerts do
print (getVert tmesh i)
По-моему, вы что-то путаете. Если вы хотите хранить только уникальные вершины, то вам придется их индексировать в каждой грани, иначе вам просто не хватит вершин.
Еслиже вы не хотите хранить индексы, то вам придется для каждой грани хранить три ее вершины и в смежных гранях вершины будут дублироваться.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
VladimirNK
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
)
)
Все бы хорошо, но те вершины, где грани фейсов соприкасаются - дублируются.
Это совсем не гуд, так как далее мне надо будет писать списки индексов для
построения объекта.
Собственно вопрос - как можно получить список вершин (с учетом фейсов),
где каждая вершина существует в единственном экземпляре ?
Protactinium
tmesh = $.mesh
for i=1 to tmesh.numVerts do
print (getVert tmesh i)
По-моему, вы что-то путаете. Если вы хотите хранить только уникальные вершины, то вам придется их индексировать в каждой грани, иначе вам просто не хватит вершин.
Еслиже вы не хотите хранить индексы, то вам придется для каждой грани хранить три ее вершины и в смежных гранях вершины будут дублироваться.