0

我正在尝试在 maxscript 中编写一个简单的网格导出器。这没什么花哨的,它只需要导出面、顶点和顶点。我的代码和工作一样好,但有时我在顶点位置得到非常奇怪的值(例如-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 使用相同的代码,并且这些代码可以很好地导出。如果需要,我可以发布整个出口商。如果您需要查看更多代码,请告诉我:)。

4

1 回答 1

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
于 2012-12-08T08:37:00.207 回答