3D素材の規格について
こんにちは!
日本ではとても暑い日々が続いています。
みなさんのお住いの地域ではいかがでしょうか?
さて今回は皆様からお問い合わせが多かったRPG Developer Bakin(以下Bakin)の3D素材の規格についてお伝えします!
家などの建物や家具、屋外の植物や草花…そしてキャラクターも含めて、マップに置かれるオブジェクトはモデル・テクスチャ・モーションの3ファイルから成り⽴っています。
1.モデル(必須)
- ・ファイル形式:Blender2.83以降で作成した、FBX7.4.0(FBX2014)形式モデルデータ(*.fbx)
- ・バージョンは FBX7.4.0(FBX2014)のみです。現在のところそれ以外には対応していません。
- ・ポリゴン数の制限は設けていません。
- ・ポリゴンメッシュは三⾓ポリゴンにする必要があります。三⾓ポリゴン以外は正しく表⽰されません。
- ・あらかじめ三⾓ポリゴン化を⾏うか、Bakin へモデル追加の際に最適化オプション設定を有効にして下さい。(最適化オプションを有効にすると、⾃動的に三⾓ポリゴン化が⾏われます。)
- ・スケールについては仕様上、Bakin上の1グリッドのサイズ=Blenderの標準グリッドサイズの1/100となるため、モデルエクスポート時にスケール「0.01」として出力してください。
- ・1つのモデルに対し、複数のマテリアル設定が可能です。
2.テクスチャ(必須)
- ・ファイル形式: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(スペキュラ強度)を設定するテクスチャ
アルベドマップだけがあればテクスチャとしては成立しますが、ノーマルマップ、マスクマップを設定することで設定することで、よりリアルな質感表現が可能です。
また、マスクマップがなくても、マスクマップで制御される設定はBakinの中で【マテリアルプロパティ】を操作することにより、ある程度調整が可能です。
テクスチャの作り方についてはまた別記事で詳しくお伝えするつもりです!
3.モーションファイル(.fbx)
モーションがある場合はモーションデータを用意します。モーションデータの持ち方は、モデルファイルにそのまま設定する方法と、モデルとモーション別個のファイルとする方法の2つがあります。(別個とする場合、モーションファイル FBX の対応バージョンはモデルファイルと同じ仕様です。)
【モデルとモーションが同一ファイルの場合】
- ・ファイル形式: FBX 形式。
- ・モーションの作業単位は、60fps となります。
- ・使用可能なボーン数についてはモデル一体に対して、OpenGLの仕様上可能な数「最低341~最大1365」となります。(ドライバ性能に依存します。)
- ・Blenderで各モーションを別個のアクションとした場合、それぞれ別のモーションとして読み込まれます。
- ・開始フレームと終了フレームを指定し、ベイク処理を設定して FBX ファイルを出⼒してください。
- ・モーションはループ再⽣なしが初期設定となっています。
- ・ループ再⽣させたい場合は、モーションプロパティで該当モーションの「ループ」設定をONにしてください。
【モデルとモーションが別個のファイルの場合】
- ・ファイル形式: FBX 形式。
- ・モーションの作業単位は、60fps となります。
- ・使用可能なボーン数についてはモデル一体に対して、OpenGLの仕様上可能な数「最低341~最大1365」となります。(ドライバ性能に依存します。)
- ・1つのモーションファイル内に、複数のモーション(アクション)がある場合は、それぞれ別のモーションとして読み込まれます。
- ・出⼒したいモーションの開始フレームと終了フレームを指定し、ベイク処理を設定して FBX ファイルを出⼒してください。
- ・モーションファイルのポリゴンメッシュは削除して下さい。
- ・スケルトンがある場合、構造及び名称はモデルファイルのスケルトンと同⼀にして下さい。
- ・モーションはループ再⽣なしが初期設定となっています。
- ・ループ再⽣させたい場合は、Bakin上で「ループ」設定をONにしてください。
現時点でお伝えできることは以上です。
開発中の内容のため変更がある可能性はありますが、ほぼほぼこの仕様でアーリーアクセスがスタートするとお考え下さい。(今後追加機能として何かが入ってくるといったことはありえます。)
とてもありがたいことに、Bakinのリリースに向けてすぐにでも素材の制作を進めたい!という声もいただいております。今回の記事を、ぜひご活用ください!