このエントリーをはてなブックマークに追加

Blenderを使います。T-Pose化して、Index/Weightも修正します。

three.js(66か67)のblender export アドオンとMakehuman1.0のblenderアドオンをBlenderに追加します。そしてBlenderで設定を有効にします。

Makehumanをthree.jsモデルに出力する

Makehumanから出力する。

MKH形式がBlenderで読み込めるのでそれを、出力します。 この形式が一番いいです。

必要に応じて、服や髪は選択しておく。

アニメーションするなら、skeltonはからなず選択、second life 19を推奨

eyeはlow-polyの方がいい。

proxyも選択してもいい。

Blenderからmkhをインポートする。

出力したMKHは、マイドキュメントのmakehuman\v1\exportsとかにあります。

T-Poseに直す

アニメーションする場合、直した方がいい。

Boneを選択して、Poseモードで、スペースを押してT-pose => Rest Poseを選びます。検索欄にt-poseとか入れましょう。(makewalkingのアドオン機能です。またこれは、mkh形式以外だと正常に動作しません)

読み込んだ直後は、Boneが選択されています。そうでない場合、輪っかとか選択すると、そうなります。

T-Poseとは、両手を水平に、足は真っ直ぐ伸ばしてポーズです。ボーンの角度の指定が楽です。

Modifierを修正

bodyを選択して、Modofierにして、SubSurfを消す。これがあると、普通1万弱ぐらいのポリゴン数が、4倍の5万ぐらいになります。この量は、three.jsで読み込むの大変です。

proxyを出力すると、bodyとproxyの2つ存在するので注意

このmodifierをxを押して消します。

後は、Decimateを選んで0.2とかにすると、ポリゴンが4・5千ぐらいまで、減る。 0.1は、顔の形が崩れていろいろ面倒。

Decimateはこういう感じ、ポリゴン数が表示される

ここまで修正したら、忘れずBlenderファイルを保存しておきましょう。

Three.jsから出力

出力時の以下オプションに注意

Flip YZ

All meshesのチェック(これするなら、proxy消すとか、しないといけない)、服とかまとめて出力

注意事項は、Proxyなら大丈夫なことが多いですが、skiningのindexとweightがおかしいことがあります。(makehumanは多数のindex/weightがありますが、three.jsの出力は2点しかしないみたい)

Model Weightで修正

UVのパックとWeightの調整をModel Weightツールでしています。