カテゴリー別アーカイブ: MMD

Unity上でリアルタイムにダンスをさせたい!MMD変換でもいい。New

標準

2017/5/3 バージョン

こちらsimplestarさんの記事「UnityでMMDのPMXを表情モーフ付きでダンスするFBXとしてアセット利用する話」(2016-11-27)を参考に

1. Stereoarts Homepage さんのページでMMD4Mecanim (Beta) の最新版を入手

 

現在バージョン→2017/04/23 Unity 5.6 / 2017.1 への対応, その他不具合修正

MMD4Mecanim_Beta_20170423.zip

チュートリアル(基本編・応用編)がついているのでそれを参照する

解凍フォルダ中に、 MMD4Mecanim.unitypackage というUnity用パッケージがあるので、それをUnityプロジェクトにインポートする。

利用制限→WebPlayerでの利用不可。

 

2.MMDモデルの準備

 

Tda式アペンドミクさんが好きなので →作者様ブログ http://u16hp.blog134.fc2.com/

→配布場所(読んでね.txtを読むこと) https://bowlroll.net/file/4576

モデルフォルダの中身を、assetsフォルダに置く。(上の、MMD4Mecanimフォルダと同じ場所)

自動的に、(モデル名).MMD4Mecanimファイルが出来上がっている

それをクリックし、規約に同意する。

 

3.モーションを準備

上記MMD4Mecanimフォルダにも歩きVMDは用意されている。

かっこいいダンスないかなーと、男性舞踊 花鳥風月http://sdrv.ms/14OJMjb
(o2さん作 動画http://www.nicovideo.jp/watch/sm8397088)

こちらをダウンロード。

VMDファイルをMMD4Mevanimパネルの指定場所にドラッグ

 

4.変換作業

MMD4Mecanim設定パネルのprocessボタンをクリックし、しばらく待つと、プレファブ形式のミクさんが出来ている。

シーンにドラッグして、設定を初期化する。

rigは、generateのままでないとVMDの再現性が低い。(humanoidリグだと不足設定などが出てくる)

5.Animator Controllerの作成

新規Animator Controllerを作成し、それをミクさんにアタッチして開く。

Animatorウィンドウが開くので、先ほど変換したMikuさんモデル内のモーションデータ(.vmd)をドラッグ。

このコントローラをインスペクタ上で指定する

 

6.オーディオソースの貼り付け

 

オーディオクリップは、wav形式が無難AVIUtlなどのソフトで変換可能。

(音声あり。注意。NHKクリエイティブライブラリーより 初音ミクの音楽 (C)DropBox「流星DANCE」)
そのほかは、Youtubeの解説に書いてあります。

 

7.オリジナルアニメ→ビデオトレス

 

やってみると難しいトレス。いろいろ調べた結果。。。。

(1)Torsoは回転させず、位置あわせに使う。

(2)300フレーム程度(2x8カウントぐらい)をひとまとまりとして作っていく。

(3)根性。。。

がコツのようです。。。

「http://www.nicovideo.jp/watch/sm17450893 モーショントレスのコツ(百舌谷 さん)

■トレースの工程
1. 動画の準備#0:41
2. カメラと初期ポーズを動画に合わせる#1:13
3. センター仮打ち#1:50
4. 足IK#2:30 (①完全に設置②かかとが離れる③一番高い場所④つま先設置⑤かかと設置)
5. 上半身、下半身、頭、首、センター#4:22
6. 足、足首#7:05
7. 肩、腕、ひじ、手首、指#7:57
8. 3~7を繰り返す
9. 目や表情をつけて完成

※追記:仮センターは頭の先端のみを見て判断し打ちます。」

Blenderの場合は、ビデオシーケンスエディターに音楽を置いて作業できるので便利(読み込みは、.wav形式のみかも。AVIUtlで変換可能)

8.お借りしたものたちでリアルタイムモーション(たーのしー♪)

モデルは tda式アペンドミクさん
スクリプトは、StereoartsさんのMMD4Mecanim
モーションは、百舌谷さんの 4つをBlenderのアニメーションコントローラで接続
音楽は、NHKクリエイティブライブラリ 初音ミクの音楽 (C)DropBox「流星DANCE」

作業画面イメージ

画面キャプチャ(Fraps)によるリアルタイムプレイ画面

広告

Blenderにpmxを読み込みレンダリングまで

標準

http://u7.getuploader.com/Yjo_oi_Neg/download/117/blender2pmx_i125_ei25.zip

こちらで配布されている、MMD用のモデルデータ形式pmxの入出力アドインファイルを用意する

※2013/5/10 Blenderバージョン2.6.7 (64bit版)での動作も確認

addinフォルダに入れた後、Blenderの初期設定のアドイン設定にて、有効にする。

※2017/1/25 mmd-toolsをgithubで公開してくださっている方がいます

https://github.com/sugiany/blender_mmd_tools

====

pmxファイルのボーン構成が日本語のことがあるため、Blenderの言語を日本語対応にしたほうがいいかもしれない。

====

※こういうムービーもありました(MMDからコンポジット) こちらを参考にさせてもらっています。
http://www.youtube.com/watch?v=WBX7DHfQ9SU&feature=youtu.be

====

1.素材やツールを準備する

1)Blender 2.5.7バージョン(32bitでも64bitでも)

http://www.blender.org/

2)MMDモデル(.pmx形式)をBlenderに読み込むためのアドオンソフト

http://u7.getuploader.com/Yjo_oi_Neg/

こちらから、一番新しいバージョンのblender2pmxをダウンロード

(2013/5/14現在、i1.25 e1.25 2.66対応というバージョン。2.6.7でも動作確認)

3)Tda式アペンドミクモデル Tda式初音ミク・アペンドVer1.00

http://u16hp.blog134.fc2.com/ (作者ブログ)

http://bowlroll.net/up/dl4576 (配布場所)

※MMDモデルpmx形式であれば、他のモデルでも同様のことができる

1)Blenderは展開してインストールする。Program Filesに、Blender Foundationというフォルダが作成され、その中にBlenderフォルダができる。

2)のアドオンソフトは、展開しておく。blender2pmxというフォルダが出来るはず。

そのフォルダごと、1)のBlender>2.67>Scripts>addons というフォルダに入れる(展開したフォルダ内に説明あり)

1)のBlenderを起動する。Fileメニュー>User Preferenses(ユーザ設定)

zu1

図 1 初期設定メニュー位置

 出てきたウィンドウのシステムタブをクリックし、言語を日本語にして保存する(図2)。これは、読みこもうとしているモデルの内部に日本語表記している部分があって、文字化けするのを避けるためである。

 ユーザー設定の保存をするので、次回からもこの設定でBlenderが開く。

 これをもとに戻したい場合は、File(ファイル)メニュー>初期設定を読み込む(Load Factory Settings)で初期設定に戻すことができる。

zu2

図 2 メニューなどの日本語化

 MMDモデルを読み込むためのアドオンソフトを有効にする。上と同じ、ユーザ設定画面から、アドオンタブをクリック。検索窓にpmxと入力するか、メニューの「インポート/エクスポート」から MMD PMX Formatというアドオンを探し、右端のチェック欄をクリックして有効にする(図3)。

 zu3

図 3 pmx読み込みアドオンの有効化

2.BlenderMMDモデルを読み込む

 Blender画面上にある、キューブは、xで削除することができる。

 Fileメニュー>Import>PMX File for MMD (.pmx) メニューを選択し、先に読み込んでおいた、Appendミク(あるいは他のpmxモデルファイル)を選択する。

 zu4

図 4 pmxモデルのインポート後

 普通に読み込める。画面は、フロントビュー(テンキーの1)、平行投影(テンキーの5)で見た状態。

もし、テンキーのないPCで作業している場合は、1.で行った、ユーザ設定画面で入力タブで出てくる、「テンキーを模倣(Emulate)」をチェックすると、通常の数字キーがテンキーの数字がわりになる。

3.レンダリング調整

 この状態で通常レンダリング(F12)しても、暗い(図5)。

 zu5

図 5 読み込んだ状態でのレンダリング

 ただ、既にテクスチャはきちんと読み込まれているのがわかる。

 ボーンセット(アーマチュア)が表示上じゃまなので、選択してM(レイヤー移動)を押し、別のレイヤーを選んでエンターキーを押すと、アーマチュアとモデルが別レイヤーに表示される。

zu6

図 6 アーマチュアを別レイヤーに移動(M)

 3Dビュー上のモデルを美しく表示するために、まず、画面下のオブジェクトモードと表示されている右側のアイコンを押して、「テクスチャ」表示にする。次に、Nを押してでてくる右側のサイドメニューのうち、「表示」を選んでシェーディングをGLSLにし、設定ランプを自然に表示できるようにする。また、ランプは、モデルの頭上に移動させ、「ヘミ」ランプにして、広く光を与える。(図7)

zu7

図 7 3Dビュー上のランプ設定など

 モデルを選び、右サイドのプロパティパネルの中から、マテリアルを選択する。

 モデルにすでに設定されている材質(マテリアル)が多数表示されるので、一つ一つ選択し、すべて、シェーディング>陰影なし をチェックする(図8)。

 zu8

図 8 マテリアルをすべて陰影なしに設定

 ここまでで通常レンダリングした結果が図9。

 zu9

図 9 レンダリング結果その2

4.コンポジットによる仕上げ

マテリアルのうち、eye_hi2とhairshadow がもし白くなってしまい、透明部分が抜けていなかったら(今回の例では、大丈夫だったが)、そのマテリアルを選んで、透過設定のアルファ数値を、0にしてしまう。(図10)

0zu10

図 10 透明設定がうまくいかない場合の設定

 ウィンドウをコンポジットスタイルに変更し(①)、「ノードを使用」をクリック(②)する(図11)。

zu11

図 11 コンポジション画面(デフォルト)

  コンポジション解説はちょっと挫折。

 参考ムービーに近い操作をした結果。

rend03

そして、コンポジションをすべて切った状態でレンダリングしたもの。

rend04