#author("2022-09-09T00:02:48+00:00","default:admin","admin") *物体 [#t95bafe9] #author("2024-01-19T05:41:43+00:00","default:admin","admin") **仕様:物体 および 遠景 [#y5e821d8] 建物やモニュメントなど、マップに設置する物体の追加⽅法です。 まず追加する前に、モデル、テクスチャ、モーションなど必要となるすべてのデータを、 ひとつのフォルダにまとめておきましょう。 COLOR(#FF0000):画像入る **■追加できるファイルの形式 [#q297216b] ひとつの物体は、モデル・テクスチャ・モーションの3ファイルから成り⽴っています。 これらの作成には3Dグラフィックスの専⾨知識や所定のソフトウェアが必要です。 - ''1.モデル(必須)'' • ファイル形式:Blender2.83以降で作成した、FBX7.4.0(FBX2014)形式モデルデータ(*.fbx) • バージョンは FBX7.4.0(FBX2014)のみです。現在のところそれ以外には対応していません。 • ポリゴン数の制限は設けていません。 • ポリゴンメッシュは三⾓ポリゴンにする必要があります。三⾓ポリゴン以外は正しく表⽰されません。 あらかじめ三⾓ポリゴン化を⾏うか、BAKIN へモデル追加の際に最適化オプション設定を有効にして下さい。 (最適化オプションを有効にすると、⾃動的に三⾓ポリゴン化が⾏われます。) • スケールについては仕様上、BAKIN上の1グリッドのサイズ=blenderの標準グリッドサイズの1/100となるため、 モデルエクスポート時にスケール「0.01」として出力してください。 COLOR(#FF0000):画像入る • 1つのモデルに対し、複数のマテリアル設定が可能です。 • ノーマルマップテクスチャを使用するモデルの場合、fbxエクスポート設定で「タンジェント空間」のチェックを入れてください。 - ''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(スペキュラ強度)を設定するテクスチャ これらを正しく設定することで、よりリアルな質感表現が可能です。 また、マスクマップがなくても、 マスクマップで制御される設定はマテリアルプロパティにより、ある程度調整が可能です。 COLOR(#FF0000):画像入る • ファイル名は、半⾓英数字で設定して下さい。 • テクスチャファイルの例 アルベドマップ テクスチャ ノーマルマップ テクスチャ マスクマップ テクスチャ COLOR(#FF0000):画像入る - ''3.モーションファイル(.fbx)'' モーションがある場合はモーションデータを用意します。 モーションデータの持ち方は、モデルファイルにそのまま設定する方法と、 モデルとモーション別個のファイルとする方法の2つがあります。 (別個とする場合、モーションファイル FBX の対応バージョンはモデルファイルと同じ仕様です。) 【モデルとモーションが同一ファイルの場合】 • ファイル形式: FBX 形式。 • モーションの作業単位は、60fps となります。 • 使用可能なボーン数についてはモデル一体に対して、OpenGLの仕様上可能な数「最低341~最大1365」となります。(ドライバ性能に依存します。) • blenderで各モーションを別個のアクションとした場合、それぞれ別のモーションとして読み込まれます。 • 開始フレームと終了フレームを指定し、ベイク処理を設定して FBX ファイルを出⼒してください。 • モーションはループ再⽣なしが初期設定となっています。 ループ再⽣させたい場合は、モーションプロパティで該当モーションの「ループ」設定をONにしてください。 COLOR(#FF0000):画像入る 【モデルとモーションが別個のファイルの場合】 • ファイル形式: FBX 形式。 • モーションの作業単位は、60fps となります。 • 使用可能なボーン数についてはモデル一体に対して、OpenGLの仕様上可能な数「最低341~最大1365」となります。(ドライバ性能に依存します。) • blenderで各モーションを別個のアクションとした場合、それぞれ別のモーションとして読み込まれます。 • 出⼒したいモーションの開始フレームと終了フレームを指定し、ベイク処理を設定して FBX ファイルを出⼒してください。 • モーションファイルのポリゴンメッシュは削除して下さい。 • スケルトンがある場合、構造及び名称はモデルファイルのスケルトンと同⼀にして下さい。 • モーションはループ再⽣なしが初期設定となっています。 ループ再⽣させたい場合は、モーションプロパティで該当モーションの「ループ」設定をONにしてください。 **モデル追加時の下準備 [#hac620e2] モデルを追加する場合、2つの方法があります。 1つは、BAKINの内蔵データを流用する方法、 2つめは、自分で新規にデータを用意する方法です。 それぞれの手順について説明します。 ①追加したい素材のファイルを⼊れるフォルダを⽤意します。 このフォルダは追加の際に⼀時的に使⽤するだけです。ファイルの場所やフォルダ名は問いません。 追加したモデルは、ゲームファイルフォルダ内のresフォルダ下へ追加されます。 ②⽤意したフォルダの直下にモデルファイル(.fbx)とテクスチャファイル(.bmpまたは.png)を⼊れます。 例:[Table]フォルダに、追加したい素材(Table)を⼊れた場合 COLOR(#FF0000):画像入る **追加するフォルダーの準備(1)システム素材を書き出す場合 [#p949b40e] 標準のシステム素材モデルは外部のフォルダーに書き出して、 CG ソフトを使ってカスタマイズすることができます。⼿順は以下の通りです。 ①任意のゲームファイルを開き、 「リソース管理>モデル>reserved>イベント用モデル>sb_obj_indoor005_Table01」を選択し、コピーボタンを押します。 COLOR(#FF0000):画像入る ②そのまま、ペーストボタンを押します。 COLOR(#FF0000):画像入る ③ダイアログが表示されるので「別IDで追加」を選択します。 COLOR(#FF0000):画像入る ④ペーストされたテーブルモデルを選択し、エクスポートボタンを押します。 COLOR(#FF0000):画像入る ⑤任意のフォルダを選択し、エクスポートします。 COLOR(#FF0000):画像入る ⑥エクスポートされたフォルダーの中に、選択した物体フォルダーが作られ、 その中に FBX ファイル、テクスチャ ファイル、defファイル ( マテリアル情報 等 ) が書き出されます。 COLOR(#FF0000):画像入る ⑦書き出されたモデルやテクスチャは、blenderなどのDCCツール、画像編集ソフトによって描き替えることが可能です。 ※ 編集の際、テクスチャのファイル名を変更すると、テクスチャの自動読み込みがされなくなるのでご注意ください。 変更する場合は、BAKIN側でテクスチャ指定を再設定するか、defファイルを開きテクスチャ名の記述を変更してください。 **■追加するフォルダーの準備(2)新規に作成する場合 [#k4606812] モデル追加時の下準備 ①追加したい素材ファイルを⼊れるフォルダーを、任意の場所に作成します。(フォルダ名や場所は問いません) このフォルダーはデータ追加後、更新用フォルダとして参照先に設定されます。 ※BAKINにデータを追加したあとは、こちらのフォルダ内のデータを更新することで、BAKIN内の該当データも更新されます。 追加したモデルは、ゲームファイルフォルダ内のresフォルダ下へ追加されます。 ②⽤意したフォルダの直下にモデルファイル(.fbx)とテクスチャファイル(.bmpまたは.png)を⼊れます。 例:[Table]フォルダに、追加したい素材(Table)を⼊れた場合 COLOR(#FF0000):画像入る 新しく物体を追加するには、準備として追加したいモデルの名前が付けたフォルダーを任意の場所に作成し、 その中に追加するすべてのモデル、テクスチャ を⼊れておいてください。 1. すべてのファイルを、⽤意したフォルダー直下に配置します。 2. テクスチャは、FBX ファイル内の名前をもとに⾃動的に検索されて取り込まれます。 FBX と同じフォルダー内か、その中の「texture」フォルダー内が検索対象になります。 ※ モデルとは別にモーションファイルがある場合は、別モデルとして追加し、モーション設定とスタンプ設定を別途行います。 - ''■追加⽅法'' 1. 【リソースメニュー】>【モデル】>【追加 ボタン】を選択、【Asset Picker】ウィンドウを開きます。 COLOR(#FF0000):画像入る 2. 【ファイルから選択】タブを選択します COLOR(#FF0000):画像入る 3. 追加したいモデルの入ったフォルダを開き、fbxファイルを選択します。 4. 必要に合わせて【FBXファイルのインポート時、自動で最適化を行う】をチェックします。 最適化は以下の処理を自動で行います。 ・スキンウェイトの正規化 ・ポリゴンの三角化 ・スケールの適用 ・FBX7.4より以前のFBXフォーマットの場合、FBX7.4への変換 ※もしモデルファイルが正しく取り込めなかった場合は、チェックを外してください。 5.【追加して終了】を押します。 ★1~5の手順は、モデル リストにfbxファイルをドラッグ&ドロップすることでも可能です。 ※すでに同じ名前のモデルがあった場合は、別名で追加されます。 すでに追加済みのモデルを更新したい場合は「情報の更新」ボタンを押してください。 COLOR(#FF0000):画像入る - ''モデルのスタンプ化'' モデルはスタンプにすることで、マップに配置できるようになります。 スタンプ化の手順は以下の通りです。 COLOR(#FF0000):画像入る 1. スタンプにしたいモデルを選択します。 2. スタンプボタンをクリックします。 COLOR(#FF0000):画像入る 3. 「3Dスタンプ」リストに新規スタンプとして追加されます。 - ''物体設定について'' 追加した物体には、そのままでは当たり判定がなく、プレイヤーがすり抜けてしまいます。 モデルの形に応じた当たり設定が必要なときは、コリジョンを設定する必要があります。 コリジョンの追加方法は2種類あります。 ・簡易コリジョン設定を使用する場合 ・「物理設定」タブで専用コリジョンを用意して使用する場合 ・簡易コリジョン設定を使用する場合 1. 物理設定をつけたいモデルのスタンプを選択し、「簡易コリジョン設定」を確認します。 (簡易コリジョン設定は「正確なコリジョン設定」がオフの場合にのみ表示されます。) COLOR(#FF0000):画像入る 2. 「Shape」でボックスや球など、シンプルなコリジョン形状が選択できるので、近い形のものを選択し、 プレビューを見ながら位置・回転・サイズを調整します。 COLOR(#FF0000):画像入る ※ドラッグアンドドロップで追加されたモデルは、自動でスタンプ化されますが、 その際、自動調整されたBoxコリジョンが設定されるので、シンプルな形状の場合はそのままでOKです。 Shape「Mesh」の場合 Shapeを「Mesh」にすると、自分で用意したコリジョンモデルを使用できます。 シンプルな形状で適したものが無い場合は、自分でコリジョンモデルを用意し、この設定で指定してください。 下の例では、ピアノモデルに対して、当たり判定用のシンプルなコリジョンモデルを用意した場合です。 1. ピアノモデルとピアノ用コリジョンモデルをそれぞれ追加します。 2. 「スタンプ」タブに移動し、Shape項目で「Mesh」を選択。 メッシュ項目の右スペースをクリックし、コリジョン用モデルを選択します。 ・物理設定タブで専用コリジョンを用意して使用する場合 複数のコリジョンモデルを組み合わせたり、コリジョンをモデルの動きに連動させたい場合は、 物理設定タブでコリジョン設定を作成する必要があります。 複数のコリジョンを設定する ドアとドア枠のような、独立した複数のコリジョンが必要な場合は、 物理設定で複数のコリジョンを登録します。 1. 「コリジョンリスト」で必要な数だけ[+]追加ボタンを押し、コリジョン設定を追加します。 ドアの例では、ドア枠とドアのコリジョンを追加しました。 2. それぞれのコリジョン選択し、「物理設定の設定」で調整していきます。 コリジョンをモデルの動きに連動させる 開閉するドア扉や、揺れる物体など、 コリジョンをモデルの動きに合わせて連動させたい場合は アタッチノードを使います。 1. 追加したコリジョンの中で、動きに連動させたいコリジョンを選択します。 2. 「物理設定の設定>基本>アタッチノード」で、アタッチしたいノードを選択します。 アタッチノードは ・原点にあたる「_root」 ・fbx内に存在するメッシュノード ・スケルトン構造がある場合は、それらのスケルトンノード が表示されます。 3. 「物理設定のプレビュー」で確認したいモーションを指定し、 再生ボタンを押すと動きを確認できます。 遠景モデルの追加 遠景モデルはマップの外側に表⽰される⻘空、夜空、曇天といった“背景”を表⽰するモデルで、 【レンダリング設定 > 遠景モデル】でスタンプ化したモデルを指定することができます。 必要となるものは、基本的には通常のモデルデータと同じです。 どのモデルでも遠景モデルとして登録可能ですが、一般的にはドーム状の半球モデルが適しています。 標準素材の遠景モデルをエクスポートして、データをカスタマイズする⽅法がベストです。 1. モデル(必須) • ファイル形式:Blender2.83以降で作成した、FBX7.4.0(FBX2014)形式モデルデータ(*.fbx) • バージョンは FBX7.4.0(FBX2014)のみです。現在のところそれ以外には対応していません。 • 三⾓ポリゴン以外は正しく表⽰されません。 予め三⾓ポリゴン化を⾏うか、BAKIN へモデル追加の際に最適化オプション設定を有効にして下さい。 (※最適化オプションを有効にすると⾃動的に三⾓ポリゴン化が⾏われます。) • BAKIN 標準の遠景モデルは、Blender上でのスケール「X:1000 , Y:350 , Z:1000」を基本サイズとしていますが、 「遠景スケール」プロパティで、自分の作成中のマップサイズに応じてスケール調整をしてください。 • 1つのモデルに対し、複数のマテリアル設定が可能です。 基本の遠景モデルと、太陽や月、空間演出用のマテリアルを分けておくと 設定がしやすいかと思います。 2. テクスチャ(必須) • ファイル形式:BMP 形式 または PNG 形式。 • テクスチャのピクセルサイズは、標準素材では2048x512サイズを基本としていますが、 自分の作成した遠景モデルに合わせて調整してください。 • テクスチャのファイル名は、モデルの FBX 内で指定されているものです。 • BMP にアルファチャンネルの設定することで、透過表現が可能です。 また、PNG についても透明部分を設定することで、透過表現が可能です。 •マテリアル、シェーダーについては、遠景モデルは光の影響を受けないようにする場合が多いため、 「map_nolit」シェーダーを推薦します。 また、太陽などの光らせたい描画物に対しては「map_nolit_add」がおすすめです。 装飾物のシェーダーは表現したいものに合わせて設定してください。