1

ねえ、時間の経過とともにアニメーション化されるスキン メッシュがあります。頂点をエクスポートするための簡単なエクスポート スクリプトを作成しています。

フレームごとに頂点を出力するにはどうすればよいですか?

getVert を使用して頂点を取得していますが、どのフレームから頂点を取得するかを指定するにはどうすればよいですか?

ありがとうASH

4

2 に答える 2

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
于 2010-10-26T18:24:42.207 に答える
0

メッシュ全体に「at time」を使用できます。例: 「時間 i mmesh=snapshotAsMesh obj」

ここで、「i」は必要なフレーム、「obj」は既存のオブジェクト、「mmesh」は結果のメッシュです。mmesh では、通常の getvert 関数を実行できます。

于 2010-09-07T06:19:44.277 に答える