0

私はプロジェクトに取り組んでいて、この 1 つのことに行き詰まりました。3dsmax で Biped に配置したアニメーションを含む bvh ファイルを取得し、thee.js json エクスポーターを使用してすべてのフレームを json ファイルにエクスポートし、次に再生したら、古いメッシュを削除して新しいメッシュを追加します。これにより、モデルが複数回アップロードされますが、これはもちろん私が望んでいるものではありません。

私はjsonloaderを使用していますが、フレームごとにジオメトリのみを更新する方法があるかどうか疑問に思いましたか? また、3dsmax で bvh ファイルを使用しているため、スキンを使用せず、モーフターゲットを持っていないため、これらの個別のファイルを作成しました。

誰かがこれで私を助けてくれたら素晴らしいだろう

例: http://www.deschaatssport.nl/3dsportsvisualiser/versie3/?p=3# (再生ボタンを押す)

マティス・ヤンセン

4

1 に答える 1

0

JSON エクスポーターが面/頂点の数と順序をそのまま維持すると仮定すると、次のようにすることができます。

  • 今と同じように初期モデルをロードします
  • 設定geometry.dynamic = true;
  • 残りの JSON ファイルを単純な古い AJAX でロードします (または、フレーム JSON ファイルを 1 つのファイルに結合して、独自のコードからすべてのファイルにアクセスできるようにすることもできます)。
  • フレームごとに、新しいフレーム頂点位置配列 (各フレームの JSON にある) をループし、既存のジオメトリ頂点の座標を上書きします ( geometry.vertices[i].x = myframevertices[i][0]; etc...)
  • geometry.verticesNeedUpdate = true; を設定します。フレームをレンダリングします。

繰り返しますが、各 JSON ファイルの面/頂点の数と順序は同じであり、頂点の位置のみが各フレームで変化すると仮定しています。そのように機能するかどうかは完全にはわかりません。

また、Three.js を使用した BVH サポートに関する (実験的な?) 作業もいくつか行われています。探してみるとうまくいくかもしれませんが、使えるものがあるかどうかはわかりません。関連する取り組みの 1 つ: https://github.com/akjava/BVH-Motion-Creator

于 2013-04-10T19:26:25.333 に答える