Почему я получаю странные значения положения вершин в MaxScript
Я пытаюсь написать простой экспортер сетки в maxscript. Ничего особенного, просто нужно экспортировать грани, вершины и вершины. У меня есть такой же хороший код, как и работающий, но иногда я получаю действительно странные значения в позициях вершин (например, -1.1234e-005). Я понимаю, что это какое-то действительно большое число, но проблема в том, что мои верты не находятся рядом с позицией, на которую указывает это число (я видел, как это происходило с боксом 1м *1м *1м). Я обнаружил, что когда это происходит с сеткой, это всегда происходит с этой сеткой и с одной и той же вершиной, пока я не переместлю эту конкретную вершину (масштабирование / перемещение всей вещи не работает). Я использую этот код для экспорта позиций вершин:
num_verts = sel_mesh.numverts
for i=1 to num_verts do (
v = getVert sel_mesh i
format "v %\n" v to:out_file
)
format "\n" to:out_file
Я пробовал поискать в Google проблему, но, похоже, никто не сталкивался с такой же проблемой. Я использую тот же код для своих твиттеров, и они отлично экспортируются. Я могу опубликовать весь экспортер, если это необходимо. Пожалуйста, дайте мне знать, если вам нужно больше кода:).
1 ответ
Это очень небольшое число.
-1.1234e-005
является -1.1234 * (10 ^ -5)
, что очень мало.
Вопреки вашему комментарию, formattedPrint
это "исправить" это.
formattedPrint -1.1234e-005 format:".6f"
output: "-0.000011"
Вы можете использовать его как таковой в вашем экспортере:
num_verts = sel_mesh.numverts
for i=1 to num_verts do (
v = getVert sel_mesh i
format "v %\n" (formattedPrint v format:".6f") to:out_file
)
format "\n" to:out_file