#author("2023-12-21T01:25:45+00:00","default:admin","admin")
#author("2023-12-21T01:28:57+00:00","default:admin","admin")
*VRMからFBXへの変換とBakinへのインポート [#l2e0a667]

3D素材についてBakinの対応フォーマットは.fbxとなります。
そのため3Dキャラクターモデルなどで使われることのある.vrm形式のファイルは.fbxへ変換した上でBakinへインポートをする必要があります。
変換のやり方はいくつか存在しますが、ここでは『Vroid Studio』を使ってマテリアル数を「2」に絞ったシンプルなvrmモデルを作成し、そのモデルを『Blender』を使って.fbxに変換にする方法ついて説明します。

また、同時に[[Mixamo:https://www.mixamo.com/]]のキャラクターモーションを活用する方法についても説明いたします。

下記の説明に登場する『Vroid Studio』『Blender』はSteam等より入手いただけます。
『Vroid Studio』Steamページ: https://store.steampowered.com/app/1486350/VRoid_Studio_v1260/
『Blender』Steamページ: https://store.steampowered.com/app/365670/Blender/

『Mixamo』はWebサービスとなっています。
『Mixamo』URL: https://www.mixamo.com/
各アプリケーションの詳細はそれぞれのリファレンスなどでご確認ください。

#Contents
**VRoid→Blender→Mixamo→Bakin への導入手順(マテリアル数「2」のケース) [#qb6686f4]

***データ格納先のフォルダの作成 [#rcc19827]
まずこれから作るデータを収めるフォルダをどこかに作成してください。
モデルにつけようと思っている名前などにしておくとわかりやすいでしょう。
ここではこのフォルダを「モデルフォルダ」と呼びます。

***VRMファイルの作成 [#aa667ee3]
+まず『Vroid Studio』を使ってモデルを作成します。
方法については『Vroid Studio』のリファレンスをご覧ください。
#br
+「VRMエクスポート」を選択
#br
+マテリアルの削減にてマテリアル数を「2」に設定。
テクスチャアトラス解像度を指定してください。
''(!)テクスチャサイズが大きいモデルを多数Bakinのマップに配置するとエディターの処理速度に影響があります。''
必要なサイズをご自身のプロジェクトに合わせてご判断ください。
#br
+エクスポートボタンを押してエクスポート。
VRMのバージョンはどちらでも構いません。
またそのほかの設定はFBXに変換して使用する場合は不要です。
#br
+「モデルフォルダ」に保存してください。

***.fbxへの変換 [#ecc96a84]
下記画像は『Blender』4.0のものになっていますが、別のバージョンでも作業内容としては変わりありません。

+『Blender』に.vrmをインポートするアドオンを導入してください。
「VRM IMPORTER」などアドオンは各種ありますのでご自身にあったものをお選びください。
アドオンの導入方法については『Blender』のリファレンスをご覧ください。
#br
+ファイル > インポート > VRMを選択。
ファイルビューでインポートしたい.vrmを選択。
その際、「テクスチャ画像をフォルダに展開」にチェックしてください。
#br
#ref(./BlenderVRMインポート_1.png,60%)
#br
+インポート後、不要なオブジェクトは削除します。
非表示オブジェクトもある可能性があるのでご注意ください。
画像赤枠は削除するオブジェクトの例です。
#br
#ref(./BlenderVRMインポート_2.png,60%)
#br
+ファイル > エクスポート > FBXを選択します。
下記の設定を施して、「モデルフォルダ」にエクスポートします。
--''内容 > オブジェクト'': エンプティ、アーマチュア、メッシュを選択(Shift+クリックで複数選択可能)
--''トランスフォーム'': スケール 0.01、”単位を使用”と”空間の変換を使用"にチェック
--''ジオメトリ'': ”タンジェント空間”のみにチェック。モディファイアーのチェックは外します。
--そのほかはデフォルトの設定で構いません。
#br
#ref(./BlenderVRMインポート_3.png,60%)
#br


***モーションをつける [#u78db961]
+『Mixamo』を利用してモーションを付けます。
『Mixamo』への登録を行い、ログインしてください。
#br
+Upload Character ボタンを押して、先ほどエクスポートしたFBXをドラッグアンドドロップします。
#br
+アップロードされると、そのキャラクターのテクスチャなしモデルが表示されますので、Nextを押してすすめてください。
#br
+好きなモーションを選び、右のパラメータで細かい設定を施した上で、Downloadボタンを押してください。
その際の設定は下記となります。
Format (FBX Binary), Skin (Without Skin), Frames per Second (60), Keyfram Reduction (None)
#br
+「モデルフォルダ」の中に、「motions」というフォルダを作って、先ほどダウンロードしたFBXを移動しておきます。

***Bakinへのインポート [#aa0ee1fb]
''※重要※''
ここでは添付のdefファイルを使ってインポートを行う方法を記します。
defファイルを使うことでマテリアルへのテクスチャの紐づけや基本設定が済むためです。
添付のdefファイルは『Vroid Studio』にてマテリアル数「2」でエクスポートした場合にのみ対応しています。
ただしdefファイルを使用せずとも、Bakinのリソースメニュー内でマテリアルに対してテクスチャを紐づけていくことは可能です。

-'' 事前準備''
+このページに添付されているVRM用のマテリアル設定ファイル(VRM_MaterialSettings.def)を、FBXと同じ名前にして(###.def)、『モデルフォルダ』に入れておきます。
 (ページの下部にリンクがあります)
 このページの下部にdefファイルのダウンロード用リンクがあります。

-'' Bakinへのモデルインポート''
+リソース > 3Dスタンプ > 追加 > ファイルから作る タブ で、モデル本体のFBXを選択し、追加します。
プロジェクトへのインポートが2体目以降になると、追加した際に「マテリアルの共有化」ダイアログが表示されます。
すべて「新規のマテリアル」として追加するを選択してください。
#br
+続けて他のVRMモデルを入れる場合は、リソース > テクスチャ で、テクスチャをフォルダにまとめておくと良いでしょう。
テクスチャの名前が各VRMで同じため、見分けやすくするためです。
#br
ここまででテクスチャ付きで、かつマテリアルにトゥーンシェーダーが設定された3Dスタンプが生成されます。
トゥーンシェーダーの調整をしたい場合は[[シェーダー]]をご覧ください。

-''Bakinへのモーションのインポート''
以下は3Dスタンプに『mixamo』で作成したモーションを付けていく作業です。
 
+リソース > 3Dスタンプ  に戻り、プロパティ の モーション をクリック。
#br
+リソースから作る タブをクリックして、そのスタンプのモデルを選択し追加。
#br
+リソース > モーション に移り、先ほど選んだモデルを選択。
#br
+”モーションセットの設定 > モーション”に入っているTポーズのモーションを削除。
#br
+モーション追加 ボタンを押し、ファイルから作る タブを開き、MixamoでダウンロードしたFBXを追加します。
この際リソース > モデル にインポートしたモーション用のFBXが追加されますので、フォルダ分けしておくとのちほど整理がしやすくなります。
#br
+追加したモーションの”モーション名”を [[モーション名ルール名:https://rpgbakin.com/pukiwiki/?%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%90%8D%E8%A6%8F%E5%89%87]]に従って変更してください。
これにより、歩く、走る、攻撃するなどの動きに対して、指定したモーションが自動で割り当てられるようになります。
#br
ここまでで3Dスタンプにモーションが割り当てられます。
表情をつける作業についてはリソース > [[ブレンドシェイプ]]をご覧ください。
 
-''コリジョンの設定''
最後に必要に応じてコリジョンの設定を行います。
 
+この時点ではコリジョンは簡易コリジョンのBoxが割り当たっています。
リソース > 3Dスタンプの”描画スタンプの設定”にて適切なコリジョンを設定してください。下記のような方法があります。
-- 簡易コリジョン設定で縦長のカプセルを設定する
-- 正確なコリジョンをオンにする。そのうえでリソース > 物理設定にて、部位ごとのコリジョンを設定する。

***Tips [#ge674de1]
- インポート後のシェーダーの調整はリソース>マテリアルにて行えます。[[マテリアル]]、[[シェーダー]]のページをご覧ください。トゥーンシェーダーの-''切り抜き閾値''はレンダリングタイプがCutoffの場合に切り抜くLitマップのアルファの最大値を指定します。眉が細すぎる、といった印象がある場合この数値を調整してみてください。
 
- モデルの作りによって、モデルパーツが重複している部分などで本来裏に描かれるべきものが一部表に出てしまうことがあります。例えば目の周りは「まつ毛」「まぶた」「眼球」が重複していますが、上に描かれるべき「まつ毛」部分の一部に「まぶた」が後ろから出てきてしまうことがあります。
#br
この場合Blenderを使い、重複している箇所の奥側の物体の頂点をわずかに凹ませることで回避できるケースがほとんどです。
目の例でいえば、「まぶた」の一部の頂点をいじることで「まつ毛」と干渉しなくなります。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS