为什么我在MaxScript中得到奇怪的顶点位置值

时间:2012-12-08 00:40:51

标签: export mesh maxscript

我正在尝试在maxscript中编写一个简单的网格导出器。它没什么特别的,它只需要导出面,顶点和tvertices。我的代码和工作一样好,但有时我在顶点位置得到非常奇怪的值(例如-1.1234e-005)。我知道这是一个非常大的数字,但问题是,我的顶点不在数字所指示的位置附近(我已经看到这发生在一个1m * 1m * 1m的盒子里)。我发现当它与网格一起发生时,它总是发生在那个网格和相同的顶点上,直到我移动那个特定的顶点(缩放/移动整个东西不起作用)。我使用此代码导出顶点位置:

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

我试过谷歌搜索问题,但似乎没有人有同样的问题。我为我的tvertices使用相同的代码,这些代码导出完全正常。如果需要,我可以发布整个出口商。如果您需要查看更多代码,请与我们联系:)。

1 个答案:

答案 0 :(得分:2)

这实际上是一个非常小的数字。

-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