私は、それを使用している多くのプレイヤーと単一のスキン プレイヤー メッシュを持つ小さなマルチプレイヤー ゲームに取り組んでいます。いくつかの背景: Maya と Blender の collada エクスポートを介してロードしようとしました。どちらも何らかの形式のアニメーション データを参照しているようですが、動作させることができませんでした。私は Maya JSON エクスポーターを試してみました。このエクスポーターは、マテリアル ラインのみで小さな 1k ファイルを吐き出しました。最後に、ブレンダーの JSON エクスポーターが機能しました。スキンメッシュを読み込もうとしている人には、これが非常に役立つことがわかりました: Model with bone animation (blender export) animating correctly in three.js
これで、JSON ローダーからのgeometry
オブジェクトとmaterials
配列が得られました。
skinning=true
マテリアルを設定し、 を作成THREE.SkinnedMesh
し、シーンに追加し、アニメーションを追加しTHREE.AnimationHandler.add
(が実際に何をするかはよくわかりAnimationHandler
ません)、 を作成しTHREE.Animation
、 を呼び出し、 を呼び出すplay()
ことができますupdate(dt)
。最後に、単一のメッシュとアニメーションをシーンで再生しています。
今私が欲しいのはこれらです...
多くのインスタンス- シーン内で複数のプレーヤー モデルを実行したい。
- 同じメッシュとアニメーション データを何度もロードしたくありません。
- アニメーション時間はインスタンスごとにする必要があります (したがって、すべてが同期してアニメーション化されるわけではありません)。
同じモデル
THREE.SkinnedMesh
を多数作成する必要がありますか?THREE.Animation
どこに入ってTHREE.AnimationHandler
くる?多くのアニメーション- アイドル/実行サイクルを個別に再生できるようにしたい。
私の知る限り、アニメーション キーフレームのタイムラインは 1 つしかありません。Three.js はこれをどのように分割しますか、それとも手動で行う必要がありますか?
アニメーション ブレンディング- キャラクターが実行を停止し、アイドル アニメーションで静止している場合、一方から他方への瞬時のスナップは必要ありません。実行アニメーションを一時停止し、その状態をアイドル アニメーションにブレンドしたいと思います。
これは現在、スキン メッシュ (モーフ ターゲットではない) で可能ですか? これに関する例やドキュメントはありますか?
正しい方向への微調整であっても、どんな情報でも大歓迎です。私は完全なチュートリアルではありません。これらの機能に関するより高度な情報が必要です。
私は喜んで2と3を実装することができましたが、threejs のスキニングとアニメーションのフレームワークに関する情報/説明文書が必要です。たとえば、これはあまり続きません。
[編集]
ありがとう、@NishchitDhanani、このページは非常に優れていますが、複数のアニメーションや骨格アニメーションのブレンドについては言及していません: http://chimera.labs.oreilly.com/books/1234000000802/ch05.html#animating_characters_with_skinning
このページには、複数のアニメーションがまだ現在の問題であると書かれていますが、それ以上のものではありません (コメントで少し議論されています): http://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and -exporting-it-to-three-js/
現在の答えは...
- 多く
THREE.SkinnedMesh
を使用し、まだ確信が持てないTHREE.AnimationHandler
. - わからない。で開始/終了キーフレームを手動で変更する方法があるかもしれません
THREE.Animation
。 - 私の知る限り実装されていません。
THREE.Animation
2 つの を取り、その間を補間できるカスタム シェーダーを作成してみるかもしれません。