我正在尝试在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使用相同的代码,这些代码导出完全正常。如果需要,我可以发布整个出口商。如果您需要查看更多代码,请与我们联系:)。
答案 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