MaxScript导出顶点随时间变化

时间:2010-04-09 16:36:34

标签: animation export skinning mesh maxscript

嘿,我有一个皮肤网状物随着时间的推移而变化。 我正在编写一个快速导出脚本来导出我的顶点。

如何每帧输出顶点?

我使用getVert获取顶点,但是如何指定从哪个帧获取顶点?

由于 ASH

2 个答案:

答案 0 :(得分:1)

以下代码未经测试,但类似的内容应该适用于您。如果您需要进行任何更改,请与我们联系。

/* Exports mesh data 'm' to file 'f' */ 
def exportData m f = (
  format "%,%\n" m.numverts m.numfaces to:f
  for i = 1 to m.numverts do
  format "%," (getVert m i) to:f
    format "\n" to:f
  for i = 1 to m.numfaces do
    format "%," (getFace m i) to:f
)

/* Exports mesh data from a node 'n' at time 't' to file 'f' */ 
def exportNodeMeshAtTime t n f = 
(
  at time t 
    m = snapshotAsMesh n
  exportMesh m f
)

/* Create a text file for receiving the data */
out_file = createfile ((GetDir #export)+"/testmesh.dat")

/* Enumerate all times in the animation range, exporting
   the mesh data from the selected node at time t. */ 
for t = animationRange.start to animationRange.end do (
  exportNodeMeshAtTime t selection[1] out_file
)

/* Close the text file */
close out_file

答案 1 :(得分:0)

你可以使用“at time”来表示整个网格。 例如“在时间我mmesh = snapshotAsMesh obj”

其中“i”是您想要的帧,“obj”现有对象并“mmesh”生成的网格。 在mmesh上你可以做你通常的getvert功能。