2ntブログ

MakehumanのPMX化2

MakehumanのPMXE用インポーターを作ってみました。


先日Blogで紹介したMakehumanのPMXモデル変換ですが、その都度Blenderを行ったり来たりするのが面倒なのと、服を着せたモデルを変換したときに体が服を突き抜けるのが気になっていたので、原因を調べる意味もかねてPMXE用のインポーターを作ってみました。
まだ、インポーター用にビルドせずスクリプトの状態ですが、体が服を突き抜ける原因がなんとなくわかったように思います。

blog2015120901.jpg

要するに、そういう風にデータがなっているからなんですね!!
例えば画像のように足首を動かしても、靴は足首に沿って動いてくれません。

blog2015120902.jpg

そりゃまあ当然で、靴には足首のウェイトが設定されておらず、ひざのウェイトが設定されていました。
うーん。ボーンをBasicでエクスポートしているのが悪いんでしょうかね?

blog2015120903.jpg

あと、体の周りにあるふんわりとしたポリゴンは何でしょうか。髪の毛やスカート用のメッシュなのかな?
それとところどころにある正方形のポリゴンが気になります。
何に使う用途のポリゴンなんでしょうか。

特に資料を見ず適当にデータ解析した結果をPMXEに変換してるだけですので、何かを見落としているのかもしれません。

さてさてどうしたものなのか。
このままインポーターとして完成させてしまおうかな?

SKBボーン最近のカス子対応実験

最近のTso2PmxにSKBボーンを対応するための実験動画です。


カスタム少女用の手頃なモーションが無かったので、大昔に作成したモーション。
たしかHMZ-T1を購入した頃、立体視用に作成したモーションの1つだったと思います。

ただ、そのままモーションを適用すれば動くかなと思ったのですが、この頃は顔IKの親を全親にしていたので、少しだけ構造が違いますね。あまり実験の意味が無かったりして。




[広告] VPS


もうちょっと動かしてみて、ちゃんと動くようならばSKBボーン追加プラグインを更新しようかと思います。
使っている人が居るとは思っていませんでした(汗)

乳の日?

最近は、あぴちゃんの服を作っています。


少し前に30秒ほどのネタ動画を作ったのですが、投稿するタイミングを逸したのでもう少し弄ってみようとしているところです。
そうすると、あぴちゃんのデフォ服が動画に合わないので作成。

blog2015062101.png

ラフな部屋着というシチュエーションで素肌オーバーオールです。服はてきとうにぐぐって出てきたのをパク参考にしています。
本当は中身も欲しくてモデリング自体はほぼ出来ているんですがUV展開しようとしたとこで気力萎えたので素肌は借り物です。

横乳ですよ、よこちち!

下半身のウェイトが適当なのは、動画では座ったシーンは無いから……その予定だけど、どうだろう?


なんかふつうのMMDサイトみたい。

MakeHumanのPMX化

オープンソースの人体生成ソフトであるMakeHumanを使用してモデルを作成し、PMX形式に変換してみます。
作業時間にすると数十分なのですが、手順を書き起こしてみると意外に長くなったので若干覚悟が必要です。

※PMXEditor用のImporterを作っていますので、こちらも参照願います。



1.準備とダウンロード
MakeHuman は Version 1.0.2 を使用しました。
http://www.makehuman.org/content/download.html

Blender は 2.72b を使用しました。
→http://www.blender.org/download/

あと BlenderからPMXデータに変換する Blender2Pmx アドオンが必要です。
→http://u7.getuploader.com/Yjo_oi_Neg/

詳しい導入の手順は、検索するとたくさん出てくると思います。MakeHumanの中にはBlender用のアドオンであるBlenderToolsも同梱されていますので、これも忘れずにBlenderにアドオンとして登録しておきます。

2.人体生成
MakeHumanはダウンロードして現れる実行ファイルをクリックして起動します。特にスタートメニューに登録されませんので、どこにファイルを置いたか忘れないようにしましょう。
今回、半年ぶりに使ってみてどこに置いたか探し回りました(笑)

ではまず適当に人体を作っていきましょう。幾つかのパラメータを設定するだけですので簡単ですね。

blog2015060701.jpg


歯と舌は入れておきます。
だいたいこんな感じのお兄さんを作成しました。今回は服付きで作成しています。後でちょっと面倒なことになりましたので、服はなくても良いかもしれません。

blog2015060702.jpg

イメージにあう人体が出来たらポーズ/アニメーションタブを選択し、リグプリセットから basic.json を選択します。

blog2015060703.jpg

あとは、ファイル-エクスポートタブを開き、メッシュフォーマットに Blender exchange (mhx) を選択してエクスポート実行します。
今回はyoungman という名前を付けてエクスポート実行しました。

blog2015060704.jpg


拡張子が mhx のファイルと、textures フォルダが作成されます。
blog2015060705.jpg


3.Blender で変換
Blender を起動します。
起動したら不要な箱が表示されていると思いますので、Delete キーを押して削除します。
いつも邪魔ですねこれ。

blog2015060706.jpg

メニューの[File]-[Import] から Makehuman (.mhx) を選択して、先ほど MakeHuman で Exportしたファイルを選択します。
メニューに MakeHuman (.mhx) が一覧されていない場合は、BlenderToolsのインストールをしていないかアドオンが有効化されていないので設定をしておきます。

blog2015060707.jpg

モデルがインポートされました。

blog2015060708.jpg

画面の下をみて、Pose Mode になっている事を確認して[A]キーを押します。ボーンが選択されます。

blog2015060709.jpg

選択が成功すると、ボーンの色が変わります。


blog2015060710.jpg

この状態でメニューから [File]-[Export]-[PMX File for MMD (.pmx) を選択し、MHXファイルと同じ場所にエクスポート実行します。
MHXファイルと同じ場所にエクスポートするのは、テクスチャのPATHが変わると後で面倒だからです。

blog2015060711.jpg

4.PMXEditorで調整

エクスポートされたファイルはMMDで扱うには不完全ですので、幾つか調整を加えていきます。
いくつか面倒な手順を簡略化するためのファイルを準備していますので、ダウンロードして併せて手順を見てください。

→http://www1.axfc.net/u/3480862

5.材質の調整

エクスポートされた PMXファイルを PMXEditorで開きます。
真っ先にボーンタブを開き、ボーンがエクスポートされていることを確認しましょう。
ここでボーンが作成されていない場合はBlenderでエクスポートする前の全選択ができていませんので、エクスポートからやり直しします。

blog2015060712.jpg

[ファイル]-[PMXデータの状態検証]を実行すると、面を含まない材質がいくつかあることが判ります。
放っておいても影響はありませんが、色々と邪魔なので消しておきます。

blog2015060713.jpg

どういうわけか材質の非透過が0になっていましたので、これを1に修正します。

blog2015060714.jpg


スフィアにノーマルマップのファイルが設定されていますが、MMDは標準でノーマルマップに対応していませんのでクリアしておきます。
あとでMMEを使用してノーマルマップを適用するのであれば、設定されているファイルをメモっておきましょう。

blog2015060715.jpg

眉毛の表示が変ですね。Eyebrow と書かれた材質を Skin と書かれた材質の後にくるようリストを並び替えます。

blog2015060716.jpg

材質の調整はここまで。

配布ファイル内の「面を含まない材質を削除と法線マップ削除と眉移動.cx」を CSScriptで実行すれば、この材質の調整と同じことを行います。


6.ボーン名の変更

ボーンタブを選択します。
ボーン名が英語名になっているのでモーションを汎用的に使えません。

blog2015060717.jpg

[編集]-[名称の一括修正]で現れる名前修正ダイアログに配布ファイル内のボーンリネーム表.txt の内容をコピペし、修正ボタンをクリックします。

blog2015060718.jpg

ダイアログを閉じれば、ボーン名が見慣れた名前に変更されていると思います。

blog2015060719.jpg

7.「全ての親」「センター」ボーンの追加

次に「全ての親」「センター」ボーンを追加します。
配付ファイルのセンターボーン.csv をボーンリストにドロップします。

するとリストの末尾に全ての親と、センター、センター先が追加されます。
3つとも選択して、リストの先頭に移動させましょう。
選択した状態で[頂]ボタンをクリックすると、一度に移動してくれます。

blog2015060720.jpg


8.足IKの追加

MMDモデルの標準としては最低限、足IKがあれば良いと思いますのでこれを追加します。
腕IKや他のボーンは、後で好みに合わせて導入する事にします。

配付ファイルの足IK.csvをボーンリストにドロップします。
8つのボーンがリストの末尾に追加されます。

blog2015060721.jpg


追加しただけではIKとIKターゲットのボーンの位置が一致していないので、これを合わせておきます。
具体的には、左足首ボーンをリストから選択し、「位置」と書かれたラベルのあたりで右クリックメニューを開き[ベクトルコピー]を選択します。
その次に、左足IKをリストから選択し、同じように「位置」と書かれたラベルのあたりで再度右クリックメニューを開き、今度は[ベクトルペースト]を選択します。
これで位置情報が簡単にコピーできます。

これを左足首の位置を左足IKに。左つま先の位置を左つま先IKに実行し、更に反対の右にも行います。

ちょっとした作業ですが、面倒な人は配布ファイルの足IK位置合わせ.cx を実行してください。


9.下半身ボーンの作成

ちょっとややこしい作業なので注意が必要です。

まずボーンリストから「下半身」を選択し、ボーン名を「下半身2」に変更します。
親ボーンを「センター」に変更し、表示先を相対 0, -0.5, 0に変更します。

blog2015060722.jpg

次に上半身ボーンを選択し、CTRL+[D]を実行します。
すると、上半身ボーンの複製が作成されますので名前を「下半身」に変更します。
リストの位置をさっき作った「下半身2」の1つ前に移動させます。
親ボーンをセンターに変更し、表示先を「下半身2」に設定します。

blog2015060723.jpg

下半身2ボーンの親を「下半身」に変更します。

blog2015060724.jpg

10.上半身ボーンの変更

親ボーンを「センター」に変更します。

blog2015060725.jpg

11.両目ボーンの導入

右目と左目ボーンを連動させるおなじみの両目ボーン。
配布ファイルの 両目.CSV をボーンリストにドロップし、追加された「両目」ボーンのリスト位置を「左上まぶた」の前に移動させます。
位置のY座標も使いやすい位置に移動させておけばよいかと思います。

blog2015060726.jpg

12.スタンス変更

変換したままのスタンスは若干構えたようなポーズになっています。
このままでも使えない事はないですが、ダンスを躍らせるとズレが生じるのでMMDでおなじみのAスタンスに変更しておきます。

TransformViewを開き、配布ファイルの A-stance.vpd をドロップします。

blog2015060727.jpg

見慣れたポーズになったと思います。若干ひざの曲がりが気になるので、こころもちセンターを上に移動させます。

blog2015060728.jpg

TransformView のメニューから[ファイル]-[現在の変形状態でモデル形状を更新・頂点モーフ正規化]を選択し、実行します。
これでモデルがAスタンスで固定されます。

blog2015060729.jpg

13.モーフの導入と表示枠の設定

モーフタブを選択します。
表情なんて要らないかもしれませんが、すこし寂しいので最低限のものだけ入れておきます。
配付ファイル内の 表情モーフ.csv をドロップします。
4つだけですが表情モーフが追加されます。
表情はボーンである程度つけることができますので、増やしたいかたは頑張って増やしてください。

blog2015060731.jpg

次に表示枠タブを選択します。
デフォルトで「骨」という表示枠が登録されていますが、使いませんので削除します。

blog2015060730.jpg

削除したら配布ファイル内の表示枠.csv をリストにドロップします。
比較的一般的な構成の表示枠が登録されます。
私の好みとも違いますし、好みに合わせてこのあたりは変更してください。

blog2015060732.jpg

14.保存

モデル名とコメントをつけて保存して下さい。

blog2015060733.jpg

15.はみ出る地肌の削除

すっぽんぽんのモデルならここまででOKだったと思うのですが、冒頭にも書いた通り服を着せたモデルを作成させると、なぜか服の下の肌のウェイトがズレてしまいました。
原因は判りませんが、服を着せたモデルなら服の下は不要なので削除します。

blog2015060734.jpg

上のようなシャツとジーンズを履いたモデルなら肌部分はこれぐらいを残して削除してしまえば良いと思います。
細かいウェイトが気になるのであれば微調整が必要ですね。

blog2015060735.jpg

修正したら再び保存しておわりです。



以上、手順の説明抜けがあったりして上手くいかないところがあるかもですが、ある程度PMXEditorが使えるひとなら補間しつつ、それでも足りない部分はご指摘ください。

ぶっかけ早苗さんVR:Ver1.00

とりあえず公開……していいのかどうか。普段、アダルト動画は投下していますがエゲツナイのは控えているつもりだったりします。
今回は性癖全開なので、苦手な人も居るかもしれませんが、まぁご容赦を。使用したモデルのモデラー様がたには申し訳ないなとか思いつつ。


当初はパパっと作ってしまおうと考えていたのですが、どうせならタイトル通り、ブッカケ機能を付けたいなと調べているうちに時間がかかってしまいました。
Oculus Rift DK1用ですが、Oculus 無し用の起動ファイルも入れています。
UnityとOculus SDKの配布方法がよく判らないので、もしかしたら必要なファイルが無くて起動しないかもしれませんが、その時は必要なランタイムを適宜ダウンロードして下さい。

ブッカケ機能ですが、期待した機能は実装できましたがもっと良い方法はないかと調査は続けています。GUIから色々と作成できるのはお手軽で良いのですが、はやり込み入った事をしようとすると余計に手間がかかってしまいます。おそらく、Unityの作法に則ってないから故の手間なんだとは思いますが今後の課題ですね。

あと、週末早々にアップロードしてしまおうとは思っていたのですが、いざOculusを被ってステージを見回してみるとあまりにも貧弱なので少々ディティールアップしていました。

blog2015033001.jpg

上が先週動画で使用していたステージ。下がテクスチャとディティールを書き直したステージ。
なんという(略)

床の魔法陣のようなものは、ちょっとやり過ぎたようにも思います。でも、床に何か描きたかったんですよ!
すこし調べてみましたが、この宗派(敢えて何の宗派か言いませんが)では何を書くのがソレっぽいのか判らなかったので、適当に何かを書いています。家内安全とか金運上昇とか書いたような気がします。

blog2015033002.jpg
さりげなくネコの絵が見えますね。反対側にはお魚の絵があります。きっと早苗さんが書いたのでしょう。
天井も高すぎて、見上げると目まいがしたので低くしました。梁が変な付き方していますが、余裕があったら諏訪子様を座らせようとしていました。

blog2015033003.jpg

割れたお神酒やお札、散らばったお膳がかっこいいです。でも本編では画面が暗くてまったく見えません。
あと、出入り口を作るのが面倒だったので、封印されている事にしています。字、違います?

適当に即興で作った割には、なんだかそれっぽく見えるような気がします。
ライトマップを焼いているのですが、ど素人が作ってもそれっぽく見えるのは凄いです。
これなら公開を前提にしてちゃんと作ればよかったと思います。

と、ステージばかりですみません。ちょっと予想より綺麗に出力できたのでテンション上がってしまいました。

blog2015033004.jpg

今回はUnity4のFree版で作成しましたが、MMDでの出力と比べると随分イメージが違いますね。Unity5になってPro版のライセンスがフリーになったという噂も聞きますので、シェーダーを多用すればディティールアップできるかもです。
でも派手な画面をお手軽に作れるMMDって改めてしゅごい。



ごたくは良いですが、ど素人の作でお目汚し失礼いたしますが、以下。

http://www1.axfc.net/u/3440402.rar
pass: tracebox0330

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Twitter