Blenderを使い、BAKIN【PPG Developer Bakin】でVroidやMMDを動かす方法

◆はじめに


PPG Developer Bakin はHD2DのRPGを作ることが得意なゲームエンジンであり、本来はこういうジャンルを作るものではないと言うことを念頭に置いて下さい。

Bakinというソフトがシンプルで高性能なためにこういう使い方もできるという例です。


◆アプリとモデルデータの準備


▶今回はFreeeの3Dモデリングソフト【Blender】を使用して【PPG Developer Bakin】に【MMD】を導入する方法を解説します。


▼これらは既にインストール済みとして進めます。


▼作業アプリ本体

PPG Developer Bakin 

Blender3.5 

MikuMikuDance Version9.32


▼BlenderAdd-on

mmd_tools-v2.8.1

VRM Addon for Blender Version 2.15.26


▼キャラクターモデル

MMD(PMXモデル)とVroid(Vrm)どちらもBlenderを用いてBinaryFBXに変換するので手順はほぼ同じです。


今回も【うー電車】さんの【アライさん】をお借りしようと思います。



▼他のお薦めモデル

※ニコニコ立体ちゃんにはVRMやFBXモデルが最初から存在します。おまけのモーションデータも入ってます。






▼VMDモーションの使用

▶モーション作成にはUnreal EngineやUnityのアセットからアニメーションリターゲットして生成し持ってくる方法(※やり方)や、【MMD】やCascadeur 2023.1】などで作成する方法がありますが、今回はVroidやMMDを使用すると言うことでMMDのクリエイターさんのVMDを感謝しつつお借りしようと思います。



▼BakinのDefaultモーション名は、wait、walkrunattackguardskilldamagKOとなっております。
これらはBakinの方からの返り値があるよう予め設定されているのでコレに合わせて設定していきます。



割り当てるVMDを選ぶ上でのお薦め

wait ・・アイドリング(待機アニメーション)

walkrun・・・歩く、走る
Tacさんの
※MMDの【センターボーン移動型モーション】は定位置固定アニメーションができるのでゲーム表現に適しております。

▼attack
山辺 康夫さんの

▼skill

◆BlenderでFBXにする

●自機、ベースのFBXの生成

▼通常通りBlender起動▶ファイル▶新規▶全般




▼キーボードの「A」を押して全選択▶「X]を押して削除




「N」を押すと表示するサイドタブからMMD(mmd tools)▶モデルからインポートを選択




▼モデルをインポートすると初期値はソリッドビューなので




▼画面右上のシューティングオプションからマテリアルビューに変更して正しく表示されるか確認して下さい。







PMXの初期値の【MMDShaderDev】ではエクスポートしてFBX化したときにマテリアル情報が外れるので、mmd Toolのマテリアル設定で「Blender用に変換」を実行し【プリンシプルBSDF】に変換します。
▼PMXのメッシュを選択


▼初期値は【MMDShaderDev】なので


Blender用に変換を実行


▼【プリンシプルBSDF】に変わったことを確認して下さい




▼「A]で全選択▶ファイル▶エクスポート▶FBX



▼分かりやすい名前にして下さい。※日本語は避ける。
ここでは【PMX_Kemo_Arai_03.fbx】にしときます。



▼エクスポートする際の右のパネル、オペレータープリセットの設定。


▼パスモードはコピーにして下さい。右側のパネルもチェックして下さい。
※マテリアルの持ち越しができなくなるので

▼内容▼

対象▶「☑可視オブジェクト」
※Bakinではコレにチェックを入れないと可視オブジェクト以外も表示されるようになってしまいます。

オブジェクト▶エンプティ、アーマーチェア、メッシュ


▼トランスフォーム▼

スケール▶0.01
※BakinのFBXは通常スケールの100分の1じゃないといけないそうです。
「☑空間の変換を使用」
※コレにチェックを入れないと立つ軸が変わるので倒れた状態になります。


▼ジオメトリ▼

「☑三角面化」
※モデルによっては必要かもです。(自作モデルとか)ただしアライさんはDefaultで三角面化されているようでOKっぽい。Bakin側の設定でもできるので☑しなくてもいいかも。


▼アーマーチュア▼

リーフボーン追加は必要ないので外して下さい。


▼☑アニメーションベイク▼

☑全ボーンのキー
※表情キーなども動かすことになるので☑
☑NLAストリップ
※ノンリニアアクションも必要なので☑
☑全アクション
※コレも必要なので☑
□強制的に開始終了キーを挿入
※このFBX自体にはアニメーションが設定されていないのでチェックは必要ないです。外しましょう。




●自機、アニメーションFBXの生成


▼Blender用に変換までは一緒です。
▼アーマーチュアを選択して


mmd tools▶モーション▶インポート


▼目的のVMDを選択してインポート




▼タイムラインの再生ボタンで再生動作確認



▼次にメッシュを選択して削除します。
※Bakinの公式でアニメーションFBXのメッシュは邪魔なので消すことになっております。




▼エクスポートする際の右のパネル、オペレータープリセットの設定は以下です。


▲マテリアルが無いのでパスは必要ないです。

▼内容▼

対象▶「☑可視オブジェクト」
※可視オブジェクトが無いんですが、Bakin側の【モデルの最適化】でボーンを生成するので入るようです。

オブジェクト▶エンプティ、アーマーチェア
※メッシュは無いので外して下さい。アーマーチュアはモーション情報のために入ります。エンプティはモデルの立ち方向の情報が入っているのでチェックしとかないと倒れた状態になります。

▼トランスフォーム▼

スケール▶0.01
※アニメーションFBXも100分の1じゃないといけません。
「☑空間の変換を使用」
※コレにチェックを入れないと立つ軸が変わるので倒れた状態になります。もしかしたらエンプティーのチェックを外すとこっちも外して良いかもしれません。


▼ジオメトリ▼

「□三角面化」
※アニメーションFBXはBakin側の最適化を使用するのでチェックいりません。


▼アーマーチュア▼

リーフボーン追加は必要ないので外して下さい。


▼☑アニメーションベイク▼

☑全ボーンのキー
※表情キーなども動かすことになるので☑
☑NLAストリップ
※ノンリニアアクションも必要なので☑
☑全アクション
※コレも必要なので☑
□強制的に開始終了キーを挿入
※コレはチェック必要かなと思いましたが、Bakinの方で編集できるので必要ないです。


▲コレで準備完了です。
※ベースのFBXとアニメーションFBXが最低でもwait、walkrunの3つ用意しましょう。


◆Bakinの用意


▼Projectの基本情報はこんな感じにしときましょう。


▼アセットの量はシンプルを選び省エネワールドを生成しましょう。

▼カメラの設定は後からいじれます。見下ろし型が万能でしょう。
▼操作方法は上視点操作が良いと思います。
ラジコン操作はバックの表現がおかしくなる。

▼ジャンプあり、慣性移動ありで
●リソース、データベースの編集

▼機能▶リソース▶モデル



▼編集しやすいよう最初からフォルダの方を整理しときましょう。
例として
MMD▶キャラクター▶けものフレンズみたいに。



▼ベースのFBXをインポート
※マテリアルがあるアニメーションしないFBX



▲マテリアルやメッシュが劣化するのでモデルの最適化はOFF、スケールもBlenderでインポートする際に100分の1にしてるので必要ないです。
▼モデルを予定のフォルダにインポートできたらアニメーションFBXをインポートするMotion用フォルダを作っときましょう。



▼キャラクターモデルをインポートするとマテリアルとテクスチャーが各ディレクトリの最下に出っぱなしになるので、フォルダを作って整理しときましょう。



※shiftで全選択できます。





●アニメーションFBXのインポート


▼作成したアニメーションFBXをインポートしようとすると、インポート確認画面でこんな風に透明なボックスになります。モデルの最適化をONにしてスケールはBlenderで編集してるので変更しないでOKで実行して下さい。



▼最適化すると自動でこの様に白いボーンが生成されます。
最低限必要なwait、walkrunに設定するモデルをインポートしときましょう。



▲コレでモデルディレクトリへのインポートは終了です。

▼モーションディレクトリに切り替え、フォルダーをモデル設定と同じように作っておき、「+追加」で前文でモデルディレクトリにインポートしておいたアニメーションFBXのどれか一つをリソースから追加して下さい。



▼追加したらやはりディレクトリの最下に生成されるので作成した保管用フォルダーに移動して整理しましょう。



▼前文でモデルディレクトリからモーションディレクトリに引っ張ってきたアニメーションFBXの一つに「+モーション追加」でモデルディレクトリにインポートしておいた残りのアニメーションFBXをすべて追加して統合データを作ります。




▲二度目ですが、BakinのDefaultモーション名は、wait、walkrunattackguardskilldamagKOとなっております。
これらはBakinの方からの返り値があるよう予め設定されているのでコレに合わせて設定していきます。
※テストプレーでアニメーションしない場合、モーション名を確認して下さい。
あと、モーションの開始と終了もここで編集できるので、初動がおかしかったり、アニメーションが長すぎたり不具合がある場合は編集しましょう。wait、walkrunのアニメーションは短めでループしたほうが良いと思います。

また、統合したモーションデータの名前も例としてPMX_Kemo_Arai_03とかに変えときましょう。



▼モーションディレクトリにモーションの統合データが生成できたら、モデルディレクトリでインポートしておいたマテリアル設定のあるベースFBXを「スタンプ」して3Dスタンプ(上のディレクトリ)の方に貼り付けます。






▲この上のディレクトリにスタンプしたベースFBXにモーションFBXの統合データを組み込めば完成です。
※3DスタンプにあるFBXデータは開くとモーション設定でリソースからモーションディレクトリのモーションを組み込める様になってます。




▼モーションディレクトリのモーションデータもボーンだけの状態からマテリアルを受肉した状態に変化してると思います。


※最後に必ずモーション名を確認して下さい。
wait、walkrunattackguardskilldamagKOなど設定してあるDefaultの名前じゃないと動かなくなります。


◆データベースでキャストの設定

▼機能▶データベース▶キャスト




▼データベースのキャストで【移動用のグラフィック】を選択。



▼リソースから3Dスタンプディレクトリーのアライさんを選択。



移動用のグラフィックがアライさんに変われば今回の目的は達成です。





▼データベースのカメラツールで好みのアングルを決めてテストプレーをしてみましょう。





Next Post Previous Post
No Comment
Add Comment
comment url




Svg Vector Icons : http://www.onlinewebfonts.com/icon