http://www.makehuman.org/index.php
人型のMESHを作るときは重宝します、このツール。
しばらくリアルで視力が低下して、このあたりのツールを触っていませんでしたが、ちょっとキャッチアップする意味も含めて検証してみました。
MakeHuman は Second Life 向けに、[ポーズ/アニメーション] で リグプリセットに [second_life.json] と [second_life_bones.json] があり選択できるようになっています。ボーンの数が 26 と 19 のように違います。目とかつま先の扱いですね、このボーンの数の差は。
UI は日本語に変更できます。(この手のツールはあまり日本語に頼らないほうが後々のためなのですけどね。問題があったときに英語で検索しないとだめになりがちなので。。。)
デフォルトのポーズが T ポーズじゃないので、このまま Collada エクスポートしても Second Life へのインポートできないだろうなぁ、、、と思い、やってみましたが、リグ入りだとモデル アップロード時で見事にビューワーが落ちました(泣 Viewer は 公式 3.8.6 です。
MakeHuman で作成したモデルを、一旦 Blender を経由する、となると、Collada 形式とは別に Blender exchange (mhx) 形式の選択肢が増えます。(他のフォーマットでも Blender で読めますが、あえて obj などは選ばないでしょうね)mhx にするメリットは Blender の作業を考えると、かなりありますが、今回はそこは割愛します。
また、MakeHuman のサイトには「Blender Tools」がありますが、モデルだけの Blender ヘのインポートであれば、Blender Tools アドオンが必須ではありません。モデルのインポートだけであればb、Collada であれば何もやらなくても OK、mhx であれば、Blender アドオンの「Import-Export: Import: MakeHuman(.mhx) を有効にしてください。
MakeHuman .mhx import add-on |
最終的な目的が Second Life への Rigged Mesh のアップロードなら、MakeHuman では SL用のボーンとウェイトがついた Collada でエクスポートしたほうがいいでしょうね。
ただし、上述のように MakeHuman で作成したモデルは T ポーズではないので、メッシュとボーンの Rest Pose を T ポーズにする必要があります。
また、SLボーンがあるとはいえ、やはり Blender でボーンとウェイトとメッシュの調整をしなければなりません。T Pose と呼ぶ "Rest Pose" の足の位置も違うので、そのあたりの調整なしに SL にインポートすると、アニメーションで歩幅が広いポーズをとることもあります。
とはいえ、ある程度のウェイト付けもされているのはありがたいですよね。
Avastarがあればいろいろとできますが、Avastar がなくても Rigged Mesh として人型 Mesh を上記の図のように SL にインポートすることができます。ただし、T Pose 調整などもあるため、MakeHuman で作成した Collada 形式ファイルをそのまま SL にインポートはできないと考えていたほうがよさそうです。これら調整のため Blender などの編集ツール経由となるでしょう。
・ MakeHuman でモデリング
・ [ポーズ/アニメーション] - [スケルトン] で Bones:26 となる Second Life用のリグ "second_life.json" を選択します
・ [ファイル] - [エクスポート] で [メッシュフォーマット] は Collada (dae) を選択し、[オプション] では、[足を地面につける] で [Z up, face X] を選択し、単位は [メートル]にします
Blender で調整する場合、SL の座標軸としては X 軸が前方です。SL へインポートをうまくやるために、ここでは face X と X 軸を正面(前後)の軸として選んでください
・ Blender で T ポーズ
・ インポートで上記エクスポートされた dae ファイルを Blender にインポート
・ ボーンを選択、ポーズモードにして T のポーズをとる。若干歩幅も狭くする
・ この状態は T の Pose している状態で、"Rest Pose" と呼ぶお休み状態(=デフォルト)ではありません。この T Pose を Rest Pose として設定します
1) このポーズの状態で、ボディのメッシュ オブジェクトを選び、[モディファイア] で現在の Armature モディファイアを適用します。
2) 再度、Armature モディファイアを追加し、Object は python (MakeHuman が勝手につけたボーン オブジェクトの名前です)を選択します。
4) ボーンを選択して Pose モードにして、[Pose] - [Apply] - [Appy Pose As Rest Pose] を選択します。
これで T Pose が Rest Pose として設定されて、ボディのメッシュも T の状態が Rest Pose になりました。
これで、下準備完了です。
・ セカンドライフ向けに Collada エクスポート
使用している Blender は 2.76 です。メッシュを選択して、[File] - [Export] - [Collada (Default) .dae]を選び、左サイドバーの Export COLLADA オプションで [Sl+Open Sim Rigged] プリセットを選んで、適当に名前を付けて [Export COLLADA] ボタンを押します。
・ セカンドライフにインポート
上でエクスポートした dae ファイルをアップロードのために読み込んだダイアログが以下になります。MakeHuman が作成したボーンを使った全身義体(笑)なので [ジョイントポジションを含む] はオンにしたほうがいいでしょう。
上記の手順である程度の Rigged Mesh になりますが、やっぱり、微調整かけないとだめよね。
まぁ、現実のところ、MakeHuman でフルボディの Rigged Mesh を作ったところで、他のアクセサリや服飾などを用意するのは大変ですから、ヘッドのみパーツにする、、、など、使いどころで検討する余地は大きいと思います。
ただ、3DCG の技術面からみると、このあたりは、非常にベーシックなところでの応用だったり、確認だったりすることが多いので、プラットフォームが変わっても、ツールが変わっても、流用できる知識かなぁ、と感じています。
リンデンが準備している次の 3DCG のプラットフォームは Maya をツールとして推奨しているようですが、Maya ってお高いんですよね。。。
0 件のコメント:
コメントを投稿