ここでは、手に入りやすいBlenderという3D制作ソフトウェアを使います。
バージョンは2.83以降です。Blenderの詳しい使い方はここでは省略させていただきます。
はじめに、Blenderの環境をBakinに適したものに変更しておきます。
シーンの単位について
シーンの単位が以下の設定となっている事をご確認下さい。
設定が異なると FBX 出力時にモデルが適切なサイズとなりません。
FBX エクスポートについて
Bakin の仕様に適した FBX エクスポートの設定は、以下のように設定してください。(以下は3.6での設定例)
モーションの設定方法
モーションの設定方法は 2 種類あります。
①モデルとモーションを一緒のファイルとして読み込む方法
②モデルとモーションを別fbxファイルとして読み込む方法
・①モデルとモーションを一緒のfbxファイルとして読み込む方法
キャラクターモデルとモーションの付いたボーンをすべて選択し、
まとめてエスクポートすると、モデルとモーションが1つになったfbxファイルが出来上がります。
Bakinでfbxファイルを読み込むと、モデルが生成されるので、モーション管理でそのモデルを選択することで
内蔵されたモーションが読み込まれます。
・②モデルとモーションを別fbxファイルとして読み込む方法
モデルとボーン、同じ構造のモーション付きボーンを、それぞれ別々にエクスポートすると、
別のfbxファイルとしてエクスポートされます。
モデル側のボーン構造と、モーション側のボーン構造は同じである必要があります。
Bakin でそれぞれのfbxファイルを読み込み、「モデルに使用したいfbx」と「モーションに使用したいfbx」をそれぞれ設定していきます。
Bakin からモデルをエクスポートする
ここでは、3D_Tutorialゲームファイルの「Standard_A」キャラクターモデルを参考に説明していきます。
※事前にDLC「3D_Tutorial」のダウンロードが必要です。
3D_Tutorialゲームファイルを開き、「リソース>モデル>standard_A」の3D キャラクターモデルを選択し、エクスポートボタンを押します。
任意のフォルダを選択し、エクスポートします。
続いて、モデルリストの「motion_A」フォルダを選択し、こちらもエクスポートしておきます。
データがエクスポートされたら、
Blender を立ち上げ、ファイル>インポート>FBX を選択し、以下の設定でインポートします。
今回はモデルとモーションを別ファイルとして扱う方法なので、
モーションの設定方法「②モデルとモーションを別fbxファイルとして読み込む方法」で進めます。
この方法では、同じボーン構造の異なるキャラクターモデルに、同じモーションを使用できるという利点があります。
Blenderにモデルをインポートしたら、必要に応じてポリゴンメッシュやテクスチャなどを好みに編集します。
モデル追加時の下準備
追加したい素材のファイルを⼊れるフォルダを⽤意します。
このフォルダは追加の際に⼀時的に使⽤するだけで、ファイルの場所やフォルダ名は問いません。
追加したモデルは、ゲームファイルフォルダ内のresフォルダ下へ、同じファイル名の別ファイルとして追加されます。
⽤意したフォルダの直下にモデルファイル(.fbx)とテクスチャファイル(.png)、設定ファイル(.def)を⼊れます。
例:[standard_A]フォルダに、追加したい素材(standard_A)を⼊れた場合
Bakin へモデルを追加する際、エクスポート時に生成された standard_A.def を一緒のフォルダに置いた状態で追加してください。
このファイルには、マテリアルとテクスチャの紐づけ設定が記述されています。
マテリアル名、テクスチャ名を変更した場合は、こちらを編集する必要があります。(編集しなくてもBakin上で手作業にて設定することは可能です。)
⾃作の3Dキャラクターを Bakin に追加する⽅法を説明します。
追加⽅法は、モーションデータの持ち⽅の違いにより2種類あります。
〇モデルとモーションをそれぞれ別個の FBX ファイルとする⽅法
ポリゴンとスケルトン構造を持つモデルファイルと、
スケルトン構造とモーションデータを持つモーションファイルに分けて追加します。
この⽅法の⻑所は、同じスケルトン構造を持つモデルであれば、異なるポリゴン形状でも既存のモーションを適⽤することが可能です。
(※Bakin の⼈型キャラクターは、この⽅法を使⽤しています。)
※追加に必要なファイルは、モデル(.fbx)・テクスチャ(.png)・モーション(.fbx)ファイルです。
モデルとモーションのスケルトン構造及び名称は同⼀とします。
〇モデルとモーションを⼀つの FBX ファイルとしてまとめる⽅法
ポリゴンとスケルトン構造とモーションデータをまとめて⼀つのファイルとして追加します。
複数のモーションを持つ場合は、該当ファイルをモデルで読み込み、モーション管理で該当モデルを選択します。
すると含まれるモーション(アクション)がリストされるので、フレーム数やループ設定を調整します。
●追加に必要なファイルについて
3Dキャラクターは、モデル・テクスチャ・モーションのデータが必要です。
これらの作成には3Dグラフィックスの知識や所定のソフトウェアが必要です。
各ファイルの形式や仕様については、以下のようになります。
1. モデルファイル(.fbx)
• ファイル形式: FBX 形式。
• FBX のバージョンは、FBX7.4(FBX2014)を推奨します、
※Bakin の⼈型キャラクターは、Blender2.83 にて制作しています。
• FBX 形式はアスキー、バイナリの両⽅に対応しています。
• FBX7.4(FBX2014)より以前のバージョンの場合、Bakin へ追加の際に最適化オプション設定を有効にすると、
読み込み可能となります。(※正しく表⽰されない場合もあります。)
詳しくは、後述の Bakin への追加⽅法の項⽬を御覧下さい。
• 三⾓ポリゴン以外は正しく表⽰されません。
予め三⾓ポリゴン化を⾏うか、Bakin へモデル追加の際に最適化オプション設定を有効にして下さい。
(※最適化オプションを有効にすると⾃動的に三⾓ポリゴン化が⾏われます。)
• Bakin の地形1ブロックのサイズは、Blender ではプリミティブ⽴⽅体(寸法1m:拡大縮小0.5)と同等のサイズです。
Bakin の標準的なキャラクターサイズは地形1ブロックに対して収まるようなサイズ感となっています。
• 1つのモデルに対し、マテリアルは複数設定できます。Bakin 側でモデルの設定マテリアルを変更することも可能です。
• ファイル名は、半⾓英数字で設定して下さい。
• スケルトン構造のジョイント数の制限については、モデル1体に対して最大1365を上限としています。
ただしこの上限は、OpenGLの仕様により、マシンスペックによって最低341、最大で1365の間で変化します。
また、ウェイトのインフルエンスは最大4として下さい。(最大4を超えた場合は、ウェイトの大きいものを優先して4つ採用されます。)
• モーションデータを別個とする場合は、キャラモデルのボーンにはアニメーションを付けずに、
ポリゴンとスケルトン構造だけの FBX ファイルとして出⼒します。
• モーションデータをまとめる場合は、このモデルファイルに複数のアニメーションを設定し、
モデルとベイク処理したアニメーションをまとめて⼀つの FBX ファイルとして出⼒します。
なお、モーションの作業単位は、60fps となります。
2.テクスチャ(.bmp、.png)
• ファイル形式:BMP 形式 または PNG 形式。
• テクスチャのピクセルサイズは、
64×64、128×128、256×256、512×512 などの2のべき乗と呼ばれる数値を推奨します。
256×128 なども使⽤可能です。
2のべき乗以外のサイズのテクスチャを設定すると表⽰に不具合が起る事があります。
• テクスチャのファイル名は、モデルの FBX 内で指定されているものです。
• BMP にアルファチャンネルの設定することで、透過表現が可能です。
また、PNG についても透明部分を設定することで、透過表現が可能です。
•Bakinでは PBR ( Physical Based Rendering )を採用することにより、よりリアルな質感表現が可能です。
PBR表現を使用する場合、1つのモデルに対し、用途に合わせてテクスチャを3枚設定する事を推奨します。
アルベドマップテクスチャ:モデルの色を設定するテクスチャ
ノーマルマップテクスチャ:モデル表面の凹凸を設定するテクスチャ
マスクマップテクスチャ:RGBA各チャンネルにそれぞれ、R(発光量)、G(ラフネス)、B(金属)、A(スペキュラ強度)を設定するテクスチャ
マスクマップはこれらを正しく設定することで、よりリアルな質感表現が可能です。
また、マスクマップがなくても、
マスクマップで制御される設定はマテリアルプロパティによりある程度調整が可能です。
• ファイル名は、半⾓英数字で設定して下さい。
• テクスチャファイルの例
アルベドマップ テクスチャ
ノーマルマップ テクスチャ
マスクマップ テクスチャ
3.モーションファイル(.fbx)
追加する素材をモデルとモーションを別個のファイルとする場合、モーションだけのファイルが必要となります。
FBX の対応バージョンや形式は、モデルファイルの項⽬と同じ仕様になります。
• ファイル形式: FBX 形式。
• ポリゴンデータは削除して下さい。
• スケルトン構造及び名称は、モデルファイルと同⼀にして下さい。
• モーションの作業単位は、まとめた場合と同じ 60fps となります。
• 1つのモーションファイルの中にモーション(アクション)が複数あった場合、それぞれ別のモーションとして読み込まれます。
• 出⼒したいモーションの開始フレームと終了フレームを指定し、ベイク処理を設定して FBX ファイルを出⼒します。
• モーションのファイル名は自由ですが、、mot_モーション名(半⾓英数字).fbx など、特定の文字列を含めておくと作業しやすいかと思います。
例 mot_walk.fbx mot_wait.fbx mot_run.fbx
• モーションはループ再⽣なしが初期設定となっています。
ループ再⽣させたい場合は、モーションプロパティで該当モーションの「ループ」設定をONにしてください。
○モデル追加時の下準備
1. 追加したい素材のファイルを⼊れるフォルダを⽤意します。
このフォルダは追加の際に⼀時的に使⽤するだけです。ファイルの場所やフォルダ名は問いません。
追加したモデルは、ゲームファイルフォルダ内のresフォルダ下へ追加されます。
2. ⽤意したフォルダの直下にモデルファイル(.fbx)とテクスチャファイル(.bmpまたは.png)を⼊れます。
例:[standard_A]フォルダに、追加したい素材(standard_A)を⼊れた場合
Bakin への追加⽅法は、モデルとモーションが別個の場合でもまとめた場合でも同じです。
1. 【リソース】>【モデル】>【追加 ボタン】を選択、【Asset Picker】ウィンドウを開きます。
2. 【ファイルから選択】を選択します
3. 追加したいモデルの入ったフォルダを開き、fbxファイルを選択します。
4. 必要に合わせて【FBXファイルのインポート時、自動で最適化を行う】をチェックします。
最適化は以下の処理を自動で行います。
・スキンウェイトの正規化
・ポリゴンの三角化
・スケールの適用
・FBX7.4より以前のFBXフォーマットの場合、FBX7.4への変換
※もしモデルファイルが正しく取り込めなかった場合は、チェックを外してください。
5.【追加して終了】を押します。
★1~5の手順は、モデル リストにfbxファイルをドラッグ&ドロップすることでも可能です。
6.インポートするfbxのマテリアルと、「テクスチャがすべて同じマテリアル」がプロジェクト内にあった場合、「マテリアルの共有化」ダイアログが開きます。
このダイアログではマテリアルを共有するかどうかを選択することができます。
マテリアルはインポート後でもリソース>3Dスタンプでマテリアルを割り当てなおすことができます。
テクスチャがすべて同じ既存のマテリアルをインポートしたモデルに割り当てることによって、プロジェクト内にあるモデルとマテリアルを共有することができます。
7. 【モデル リスト】にキャラクターモデルが追加されます。
追加されたファイルの格納場所は、【モデルの設定 > 基本 > フォルダー名】に表⽰されます。
またテクスチャは⾃動的に texture フォルダが作られ、そこにまとめられます。
※【ファイルから選択】で追加した素材は、初めから登録されているシステム素材【reserved】とは区別され、
黒字のモデル名で表⽰されます。
また、ユーザー素材は、ゲームを保存する際に、ゲームファイル内に保存されます。
元のファイルがそのまま使⽤されるわけではありません。
8. モデルをマップに配置したり、ゲームで使えるようにするためには「スタンプ」にする必要があります。
「スタンプ」については「スタンプ」とはをぜひ一度ご確認ください。
追加したキャラモデルを選択し、スタンプ化ボタンを押してください。
リソース>3Dスタンプのリストに新規スタンプとして追加されます。
モーションの追加
続けて、モーションのfbxファイルがある場合は、以下を行います。
上記と同じ手順でモーションファイルをモデルとして追加し、
そのあとモーションメニューで追加したモーションのモデルを選択します。
モーションプロパティの「モーション名」は、ゲーム中の挙動と紐づいているので、
以下モーション名を付けることで、ゲーム中の動作として自動的に登録されます。
※詳しくはモーション名規則をご確認ください。
wait:待機モーション
battle_wait:戦闘時の待機モーション
walk:歩きモーション
run:走りモーション
attack:戦闘時の攻撃モーション
skill:戦闘時のスキルモーション
damage:戦闘時のダメージモーション
設定が終わったら、キャスト設定などを行い、
テストプレイで動きを確認してみましょう!
以上でキャラモデル追加の一連の手順は終了です。
3Dキャラクターとして.vrmフォーマットのモデルを使用することができます。
リソース>3Dスタンプの項目ツリーにて追加ボタンを押し、アセットピッカーの「ファイルから作る」タブからインポートするVRMモデルを選択してください。
インポート時に自動的に割り当てられるモーションに対して、Mixamo (https://www.mixamo.com/) を利用してモーションを追加する場合は下記の手順で行ってください。
下記はすでにVRMモデルをBakinのプロジェクトにインポートしてある前提で書かれています。
1. Mixamo (https://www.mixamo.com/) にログイン
2.「Upload Character」のボタンを押す
3. Bakinをインストールしたフォルダ以下にある下記のモデルをダイアログにドラッグ&ドロップする。
(インストール先によってファイルパスは変わります。)
C:\Program Files (x86)\Steam\steamapps\common\BAKIN\contents\templates\3DAssetTutorial\res\model\SampleMan_vrm\SampleMan_vrm.fbx
4. Mixamoの左の欄から、モーションを選択
5. 必要に応じて右のパラメータで微調整をする
6. 調整し終わったら、Downloadボタンをクリック
Download Settings は下記で設定する
・Format: FBX Binary (.fbx)
・Skin: Without Skin
・Frames per Second: 60
・Keyframe Reduction: none
ここまでがMixamo上の作業です。
7. Bakinにて、リソース>モーションを開き、reserved>VRM>SampleMan_vrm_sample_motion をコピー&ペースト
8. ペーストしたSampleMan_vrm_sample_motion_2を選択、画面右側のモーションリストにある「モーション追加」をクリック
9. アセットピッカーの「ファイルから作る」タブから、先ほどMixamoからダウンロードしたfbxファイルを選択し、「追加して終了」をクリック
10. モーションリストに追加されたデータの「モーション名」を適宜変更し、ループをするか否かを設定する。
(バトル等で自動でモーションを割り当ててほしい場合はこちらのモーション名ルール一覧をご覧ください。)
11. リソース>3Dスタンプに戻り、モーションを追加するスタンプ(VRMモデルから作ったスタンプ)を選択
12. 画面右側のプロパティー「モーション設定>モーション」の欄をクリック
13. アセットピッカーの「すぐ使える」タブ>「モーション」にて、先ほど作ったモーションセットを選択
以上でモーションの追加は終了です。
さらに新しくモーションを追加したい場合は、4~6(Mixamoでの作業)と8~10を繰り返してください。