※MMDでモーションの保存方法を書き足し(2021-08-28)。
※BlenderのCATSアドオンで「モデルの修正」ボタンを押すことを書き忘れてたようなので書き足しました (2021-08-28) 。
※BlenderのCATSアドオンでモーションファイルのインポートを「モデルの修正」ボタンを押す前にしていると、モデルの修正ボタンを押したときにボーンが逆向きになることがあったので書き直しました (2021-09-06) 。
※HSPでモデルを表示するときに目も表示されるようにするやり方を書き足しました (2021-09-06) 。
※FBXエクスポートのときにスケールを0.01にすることを書き足しました(2021-09-06) 。
※hspでモデルをアニメーションさせるときの終わりのフレームを選ぶ「-1」について書き足しました (2021-09-07) 。
※MikuMikuDance(64bitOS Ver)で確認でき、動きました(2021-09-07) 。
※この作品はピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を描いたものです。
これらのバージョンで動かします。
MMDとHSPはダウンロードしてzipを「すべて展開」して使えるようにください。
まず、MMDを立ち上げて、「モデル編」ボタンからモデルのmmdファイルを開いて、動きを付けます。(※この投稿では「初音ミク.pmd」を選びました)
右ひじを曲げるアニメーションを付けました。そうしたら、pmdファイルはそのままでいいので、メニューの「編集」の「ボーンフレームすべて選択」「表情フレームすべて選択」「表示・IK・外観フレームすべて選択」をそれぞれ選択してから、メニューの「ファイル」の「モーションデータ保存」を選び、vmdファイルを保存します。(※この投稿では「miku left arm elbow swing.vmd」にしました)
Blender 2.92ををダウンロードし、インストールします。
BlenderのMMDを読み込むアドオン「Cats Blender Plugin」(※ファイル cats-blender-plugin-master.zip)をダウンロードします。
Blenderを起動してプリファレンスを開いて言語を日本語に翻訳するように設定します。
そのままプリファレンスの「アドオン」をクリックして、右上の「インストール」ボタンを押して、ダウンロードしたCats Blender Pluginのファイル(※cats-blender-plugin-master.zip)を選んで、アドオンの一覧に出てきたらチェックボタンをクリックしてこのアドオンを有効にします。
Cats Blender Pluginがインストールされると、3Dビューポートで「n」キーを押したときの「プロパティシェルフ」にタブ「MMD」、「その他」、「CATS」が出てきます。
その「CATS」タブを開いて、左上にある「モデルのインポート」を選び、MMDで開いていたpmdファイルを選びます。(※この投稿では「初音ミク.pmd」です)
そのままCATSタブでそして「モデルの修正 (Fix Model)」ボタンを押してください。
次に「プロパティシェルフ」の「MMD」タブを開き、真ん中の「Motion:」にある「import」ボタンを押して、さっき保存したvmdファイルを選びます。(※この投稿では「miku left arm elbow swing.vmd」です。)
ここまでしたら、メニューの「エクスポート」にある「FBX (.fbx)」を選びます。
FBXファイルを保存するダイアログが開きます。
FBXファイルを保存するフォルダは今回はHSP3.6beta5をインストールしたフォルダにある「sample\hgimg4\res」フォルダにします。そのフォルダを選び、右側のトランスフォームのスケールを「0.01」にして、「FBXをエクスポート」ボタンを押してアニメーションを付けたモデルをFBX形式で保存します。
HSP Script Editor(※hsed3.exe)を起動します。のメニューの「ツール」にある「HGIMG4ツールを開く(G)…」を選び、「GPB converter ver.0.6」を起動します。
モデルデータの「参照」ボタンを押して、さっき保存したfbxファイルを選びます。(※この投稿では「miku_arm_swing.fbx」です)
「変換」ボタンを押して、ウィンドウに「終了しました。」が表示されたら「ログ表示」ボタンを押して、下の画像のようになっていれば、変換は終わりです。そうでなければ、モデルファイルに何か問題があるので、他のモデルを試して問題を探してください。
HSPを起動したときに出てくる「HSP Assistant ver.1.21」の「Sample」のツリーから「hgimg4」にある「tamane1」を「edit」ボタンで開きます。(※HSP Script Editorのメニューの「ツール」にある「HSPアシスタントを起動(F)…」からでも起動できます)
開いた「tamane1」(tamane1.hsp)の16行目の「gpload id_model,”res/tamane” ; モデル読み込み」の「res/tamane」を保存したfbxファイル名(この投稿では「miku_arm_swing.fbx」)に書きかえてください。
また、24行目の「gpaddanim id_model,”run”,0,700 ; “run”クリップを設定」の「300」に書きかえてください。※700や300にするところを「-1」にすると、モデルのアニメーションは自動で最終フレームまで再生されます。実行したときにこの24行目になる場合は「-1」にして実行してみてください。
これで「F5」キーを押すか、ツールバーの「Run」をクリックして実行すれば、動くモデルが表示されるはずです。
無事動いたら、おめでとう!!
(画像の目が白くなっています。目を表示するにはMMDモデルがあったフォルダに初音ミクの目のテクスチャファイル「eye2.bmp」があるので、それをHSP converterで変換する前にhsp3のresフォルダにコピーしてからを実行しておいてください。)
もし、モデルが表示されなかったら、モデルのモデリングやエクスポートに問題があるので、Blenderでのエクスポートまでの手順を見直したり、HSP converterでの変換をもう一度試してみたり、他のMMDモデルを試してください。もし、モデルが表示されても動いてなかったら、MMDでキーフレームが選択された(すべての◇が赤くなった状態)で.vmdを保存し直したり、BlenderのMMDのインポートをやり直してみたり、HSPの24行目で書いた「300」(終了フレーム)を「-1」にして事項を試してみてください。モデルのアニメーションのフレームの長さよりこの数字が長いとHSPで実行したときにエラーが起こるのでBlenderの「プロパティ」ウィンドウで「フレームレート」の数とアニメーションのフレームの長さからHSPでアニメーションするときの終了フレーム(※この投稿では「300」)を調べて書きかえてください。
参考にしたページ
- HGIMG4プログラミングガイド 23.3Dモデルデータの表示
- とある紳士MMDerの3DCG関連wiki – 【Blender2.9】 mmd_tools 【Addon】
- 困ったときの絵巻物 – 【MikuMikuDance】モーションデータの保存&読み込み方法
- のしろぐ – MMDモデルのpmxファイルをfbxに変換する方法 【Blender】
作例(https://www.futuregadget.com/file/hsp3_mmd-sample/)
※このURLのページは音楽が再生されます。スピーカーの音量を確かめて開いてください。
※この作品は、ピアプロ・キャラクター・ライセンス(PCL、http://piapro.jp/license/pcl)に基づいて、クリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」に依拠して制作されたキャラクター「亞北ネル」を描いたものです。