ねえ、時間の経過とともにアニメーション化されるスキン メッシュがあります。頂点をエクスポートするための簡単なエクスポート スクリプトを作成しています。
フレームごとに頂点を出力するにはどうすればよいですか?
getVert を使用して頂点を取得していますが、どのフレームから頂点を取得するかを指定するにはどうすればよいですか?
ありがとうASH
次のコードはテストされていませんが、次のようなコードで動作するはずです。変更が必要な場合はお知らせください。
/* 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
メッシュ全体に「at time」を使用できます。例: 「時間 i mmesh=snapshotAsMesh obj」
ここで、「i」は必要なフレーム、「obj」は既存のオブジェクト、「mmesh」は結果のメッシュです。mmesh では、通常の getvert 関数を実行できます。