ここではVRoidモデルをBakinに持ち込む手法について紹介します。
プリレンダリングしたものを使う手法についてはこちらから→ 【技術】BoneToPixでVRoidStudioモデルをドット絵化する
1. VRM形式モデルをエクスポートする
VRoid StudioからVRM形式モデルをエクスポートします。
※ここではマテリアル数を2まで削減していますが、必須ではないです。
2. VRM形式モデルをblenderに読み込み
3DCGは難しくない!? 「Blender」で3Dモデリング初めの一歩
こちらの記事を参考にVRM形式モデルをblenderにインポートします。
blenderのインストールからわかりやすく書いていただいているので割愛します。
3. Bakin向けにfbx形式モデルをエクスポートする
二通りの方法があります。①の方が簡単です。
方法① bakin側でテクスチャを張り直す方法
fbxファイルのエクスポート
ファイル → エクスポート → fbx
テクスチャの出力
① blenderのプロジェクトファイルを保存します。
ファイル → 保存 または Ctrl + S
※これをしないと③でエラーになります
② ファイル → 外部データ → リソースをパック解除
③ 「現在のディレクトリへ(既存ファイルに上書きして)保存します」を選択
④ blenderのプロジェクトファイルと同じ場所に、texturesというディレクトリができます
方法② fbxに埋め込む方法
blenderの仕様により、プリンシブルBSDFノードに直接紐づくテクスチャでなければfbxに埋め込むことができないので、シェーダーを修正します。
手動で修正する場合はblenderの「Shading」を選択して、不要なノードを削除、プリンシブルBSDFノードを作成して繋ぎなおします。以降の手順は①と同様です。
自動で修正する場合は私が制作した以下のアドオンが役に立つと思います。導入に多少の知識が要りますが、ワンクリックでモブキャラモデルを生産できます。
Blend2BakinFbx.py
※このコードは本来なら公式wikiの3D キャラクター にあるように、設定ファイルに基づいてマテリアルのセットアップをしてくれるはずなのですが、なぜか上手くいかず、ただテクスチャを埋め込むだけのアドオンになっています。
3. fbxエクスポート
fbxモデルをエクスポートする際、テクスチャが外れてしまうので、テクスチャは別で出力します。
すでにVRoidモデルをインポート済みという前提で話を勧めます。
4. mixamoからモーションを取り込む
Mixamoの使い方/大量の3DCGアニメーション素材をDL
ただダウンロードするだけでよいです。こちらの解説記事が参考になるかと思います。
歩行モーションをダウンロードする際などに、In Placeというチェック欄が表示されたときはそれを選択してください。
デフォルトのモーション素材でもよい? と思いましたが今試したところ動かなかったです。リグの設定の違い?
* Bakinで使うのはジャンプ「アップ」モーションなので、モーション名規則にあるように、溜めや着地の動きを含まない、飛び上がる部分だけが含まれるモーションを使うのがよいです。
5. bakin手順
RPG Developer Bakin Wikiを見ながら進めていきます。
リソース管理
素材の取り込み
- モデルから追加ボタン、またはD&DでVRMから変換したfbxモデルをインポートします。
- テクスチャから先ほど出力したテクスチャファイルをインポートします。ここではImage_0とImage_6の二つを取り込みます。
- 手順3で方法②を選んだ場合は不要です
- 眉と目のハイライトが消えます。気になる場合は描き足しましょう。
- モーションからmixamoでダウンロードしたモーションファイルをインポートします。
モーションセットの設定
現状では1つのモーションを持つモーションセットが複数ある状態になっているはずです。「モーションの追加」からどれか一つのモーションセットに残りのモーションを追加して一つにまとめます。
モーション名は以下に設定してください。
モーション名規則
マテリアルの作成
マテリアルを追加します。
先ほど追加したテクスチャを割り当てます。
カリング:服の裏側が透ける場合はDoubleSided
シェーダー:VRoidモデルは多くの場合服ポリゴンの一部を透明にするので、discardという単語を含むシェーダーを選ぶのがよいです。
- 光や影の影響を受けないnolitシェーダーはぱっと見綺麗に見えますが、真夜中でも色合いが一切変化しないので、使いたい理由がなければあまりおすすめしません。
- a_n_rm_discardを選んで、テクスチャの目の部分を赤く塗りつぶしたマスクマップを追加し、エミッションを0.1にしてわずかに発光させると綺麗になります。
モデルにマテリアルを設定する
モデル
に戻りマテリアルを設定します。VRoidでインポートした際マテリアルを二つに削減していた場合、グレーのマテリアルが二つ設定されている状態になっているはずなので、これを追加したマテリアルに置き換えます。
※手順3で方法②を選んだ場合は不要です
3Dスタンプからモーションを追加する
3Dスタンプ
ここまでの作業を行えば、モデルやモーションに追加したものと同じものが3Dスタンプにも追加されているはずです。キャラモデルを選択して、モーションセットを割り当てます。
データベース
キャストから、主人公キャストに先ほどのキャラモデルのリソースを設定します。
ゲーム管理
スタート設定の主人公に、データベースで設定したキャストを割り当てます。
※初期設定ですでに割り当て済なので、後から変更したい場合のみ。
マップ設定
初期設定だと肌が青白くなるのでそのままだと少し使いづらいです。
これはカメラ設定からポストエフェクトを弄ってもあまり意味はなく、マップ設定→アンビエント→色から赤みのある色を選ぶと改善するようです。
(変更前)
(変更後)