/ / Three.js(JSON)エクスポーターを使用してThree.jsにBlender Animationをロードする-javascript、animation、three.js、blender、exporter

Three.js(JSON)エクスポータを使用してBlender AnimationをThree.jsにロードする - javascript、animation、three.js、blender、exporter

JavaScriptを使用してThree.jsで遊んで、最初のステップを進めています。

私はBlenderアニメーションをThree.jsにエクスポートおよびロードする方法を学んでおり、Three.js Webサイトからこの例を使用しています。 http://threejs.org/examples/#webgl_morphtargets_horse

Blenderアニメーションを作成しました(http://s000.tinyupload.com/?file_id=07429365581548704592)そしてそれをエクスポートすると、実行されない同じコードを使用してThree.jsにロードします。

なぜアニメーションが表示されないのか知っていますか?それがエクスポーターの制限なのか、アニメーションの問題なのかわかりません。

ありがとうございました

回答:

回答№1は1

three.jsの現在のリリースでBlenderアニメーションを動作させるのに何時間も費やしてきたので、完全に不可能ではないとしても機能的にはそれが私の結論です。

質問を投稿しました これについてはしばらく前に。 私は自分の質問に答えなければなりませんでした。 three.js自体で提供される.blendファイルから動作する(最も単純な)例の1つを取得するために必要な畳み込みについて説明します。

公式の例とドキュメントが推奨していますObjectLoaderを使用してBlenderからエクスポートをロードしますが、これは現在のthree.jsアニメーションシステムではまったく機能しません。新しいアニメーションはスキンメッシュを使用し、ObjectLoaderソース(src / loaders / ObjectLoader.js)を見るとTHREE.SkinnedMeshを使用するロジックはありません。新しいアニメーションミキサーTHREE.AnimationMixerは、公式のthree.jsドキュメントではカバーされていません。

さらに、Blenderエクスポーターは、あなたがそれをどう見るか、非常に薄っぺらか、または単に壊れています。これについては上記の質問で詳しく説明しますが、たとえばエクスポーターはモデルの状態を変更します:ポーズモードに移行し、すべてのボーン、Alt-G、Alt-Rを選択してリセットする必要がありますエクスポートを行う前に、メッシュを選択してオブジェクトモードに移行すると、エクスポートによってすべてのボーンが元に戻ります。たとえば、エクスポートしてすぐに再度エクスポートすると、一貫性のない結果が得られます。

このすべてから、インポートすることを結論付けますthree.jsへのBlenderアニメーションは完全に壊れていなければ効果的です。そのため、プロジェクトを即座に実装するために作業している場合、パイプラインをBlenderを使用しないように変更するか、レンダリング終了をthree.jsを使用しないように変更する必要があります。