BVH‎ > ‎

モデルウエイトツール

モデルウエイトツールは、ブラウザー上で、Auto Skinning可能なWebGLツールです。
Three.jsモデルとモーションを組み合わせることを目的としています。





現在使える機能

をThree.jsモデルを読み込み(数百程度のローポリゴン専用)、BVHと組み合わせて、 BVHポーズエディター用のモデルを出力する

実際の用途としては、BVHポーズエディター用のモデルをThree.jsモデルとBVHとを組み合わせて作成することです。

不具合

SkinnedMeshが変

出力したSkinnedMeshは、ボーンの角度などが0のため、再生時にボーンの生ポーズフレームが混ざってフリックします。
(そもそも、ボーンのポーズが、出力されるのが謎ですが、buffalo.jsを見ますと、ポーズをつけて、うまく動いてるようなので少しだけ探求してみたいです。)
ただし、そもそもSkinnedMeshってまだ必須?じゃないような気もします。ダイナミックにモーフアニメーションに変換できたら、こっちで十分

Auto-Weightの結果が変

いまいち、アルゴリズムが貧弱なせいで、初期時のウエイトの状態はかなりいまいちです。
将来的に、ColladaのWeight情報を取り込めるようにします。BlenderのAuto-Skin-Weightを再利用できるようにしたいです。

機能予定

Three.js-JSONを読み込みBVHモーションと組み合わせて、SkinnedMeshまたは、モーフアニメーションに変換する
Colladaを読み込みSkinnedMeshまたは、モーフアニメーションに変換する

Blenderとの比較

SkinnedMesh・モーフアニメーションを作成するなら、Blenderを使うのが品質的にもいいでしょう。
ただ、このツールを使うことで、オンラインでダイナミックに作成できます。(予定)
私はPythonデベロッパーじゃないので、すでにSkininngすみのデーターでBVHのモーション部分だけ交換したりする方法がまったく検討つかなかったので
このツールを作成しました。

また、モデルデータとモーションを分けて、初期時に作成することで、データの読み込み量を削減できるかもしれません。


使い方

モデルウエイトツールを開くと、デフォルトのモデルとBVHボーンが読みこまれています。

Load&Exportタブを選び、BVH Boneの所のファイルから、BVHファイルを選択します。
BVHファイルは、ポーズエディターで作成し、エクスポートするから、cgspeedから入手します。

するとアニメーションが自動で始まると思います。右下のPause/Playで停止させたり、再生させたりします。

そして、中央のボーンをクリックすると、選択したボーンに割り振られている座標が表示されます。
さらに、座標をクリックすると、現在の割り当てが表示されます。
これを変更して、Update Weightを押します。

なお、座標はシフトキーを押しながらですと、複数選択してまとめて、修正できます。

修正が完了したら、Load & Exportの所から出力します。

Export As Jsonはテキスト形式で出力されますので、これをテキストに保存します。そして、ポーズエディターで読み込みます。
また、Export As WebStorageは直接内部ストレージに保存します。その場合、ポーズエディターの一覧から選択して読み込みます。







Comments