マップエディターは、ゲームの舞台となる地形や建物の作成をし、ストーリーに関わるイベントを配置する、ゲーム制作におけるメインツールです。
マップエディターの構成と機能は以下の通りです。
地形の形状を変えたり、物体やイベントを配置していく、マップエディターのメイン作業画面です。
作業用カメラは、右ドラッグで回転させることができます。
センタードラッグ、もしくはShiftキーを押しながら右ドラッグするとX軸とZ軸方向にスクロールします。
ホイールの回転でズームイン/アウトできます。
マウス操作 | |
右ドラッグ | 回転 |
Shiftを押しながら右ドラッグ | XZ平面移動(水平移動) |
センタードラッグ | XZ平面移動(水平移動) |
Altを押しながらセンタードラッグ | XY平面移動(垂直移動) |
センターホイール | ズームイン/アウト |
マップエディタ操作におけるホットキー(ショートカットキー)についてはショートカットキー一覧をご覧ください。
アイコン | 説明 |
ゲームの開始地点を表します。 | |
グラフィックが指定されていないイベントを表します。 | |
パーティクルを表します。 | |
ローカルライト(ポイントライト)を表します。移動・拡縮が可能です。 | |
ローカルライト(スポットライト)を表します。移動・回転・拡縮が可能です。 | |
デカールを表します。移動・回転・拡縮が可能です。 | |
場所移動を伴うイベントの移動先を表します。このシンボルを移動すると、イベントの内容に反映されます。 | |
カメラツールで作成されたこのマップに属するカメラワークのうち、注視点がワールドに設定されているフレームを表します。このシンボルを移動・回転をすると、カメラデータにも反映されます。 |
マップ上の何らかのものを選択中に右クリックをするとコンテキストメニューが表示されます。
地形、物体、イベントのどれを選択しているかによって表示されるコンテキストメニューの内容が変わります。
1段上げる | 選択中の地形のY座標を1段階(0.25)高くします。 |
1段下げる | 選択中の地形のY座標を1段階(0.25)低くします。 |
高さの高いほうに揃える | 高さの異なる地形を選択している場合、高いほうにY座標面を揃えます。 |
高さの低いほうに揃える | 高さの異なる地形を選択している場合、低いほうにY座標面を揃えます。 |
高さを最低レベルにする | 選択中の地形の高さを最低(Y=0.25)にします。 |
坂にする | 段差のある地形を、指定の向きの坂に変換します。段差の高い方の地形で使用します。 隣接する複数の地形を選択して坂にすることもできます。坂でつなげられるのは高低差4段階までです。 |
階段にする | 段差のある地形を、指定の向きの坂に変換します。段差の高い方の地形で使用します。 隣接する複数の地形を選択して階段にすることもできます。階段でつなげられるのは高低差4段階までです。 |
角にする | 隣り合った2辺が坂や階段の地形で、途切れた部分も坂や階段にする機能です。 角にする地形の高さを坂や階段と同じにします。 |
平面にする | 「坂道にする」または「階段にする」で傾斜がついた地形を元に戻します。 |
ここをスタート地点にする | 選択した地点を、ゲーム開始時の主人公の位置に設定します。 |
モデル出力 | 選択中の地形を3Dモデル(.fbx)として出力します。 |
切り取り | 選択中の地形をカットします。 |
コピー | 選択中の地形をコピーします。 |
貼り付け | コピーした地形をペーストします。 |
削除 | (地形は削除できません) |
元に戻す | 操作をアンドゥします。 |
やり直し | 操作をリドゥします。 |
イベントに変換 | 選択中の物体をイベントに変換します。 |
1段上げる | 選択中の物体/イベントのY座標を1段階(0.25)高くします。 |
1段下げる | 選択中の物体/イベントのY座標を1段階(0.25)低くします。 |
地形の上に載せる | 宙に浮いている物体/イベントを地面の上に載せます。 |
Y軸回転 | 選択された物体/イベントを、Y軸を軸に45度回転させます。 |
X軸回転 | 選択された物体/イベントを、X軸を軸に45度回転させます。 |
ここをスタート地点にする | 選択した地点を、ゲーム開始時の主人公の位置に設定します。 |
グループ化 | 選択された複数の物体/イベントをグループ化します。 グループ化された物体/イベントはすべて同時に位置変更やサイズ変更などを行えます。 |
グループ解除 | グループ化を解除します。グループ内のどの物体を選択しても解除を行うことができます。 |
切り取り | 選択中の物体をカットします。 |
コピー | 選択中の物体をコピーします。 |
貼り付け | コピーした物体をペーストします。 |
削除 | 選択中の物体を削除します。 |
元に戻す | 操作をアンドゥします。 |
やり直し | 操作をリドゥします。 |
イベントのスクリプト編集 | イベントエディターを開きます。 |
位置を記憶する | オンにすると、移動系のイベントを使用してこのイベントのマップ上の位置が変わった後にプレイヤーが他のマップに移動しても、このイベントは移動後の位置を保持するようになります。 |
自由落下する | オンにするとそのイベントはプレイを開始すると自由落下します。 オフにするとY軸の位置を維持し、宙に浮かせたイベントは宙に浮いたままになります。 この設定は移動系のイベントなどの挙動に影響を与えます。 |
1段上げる | 選択中の物体/イベントのY座標を1段階(0.25)高くします。 |
1段下げる | 選択中の物体/イベントのY座標を1段階(0.25)低くします。 |
地形の上に載せる | 宙に浮いている物体/イベントを地面の上に載せます。 |
Y軸回転 | 選択された物体/イベントを、Y軸を軸に45度回転させます。 |
X軸回転 | 選択された物体/イベントを、X軸を軸に45度回転させます。 |
グループ化 | 選択された複数の物体/イベントをグループ化します。 グループ化された物体/イベントはすべて同時に位置変更やサイズ変更などを行えます。 |
グループ解除 | グループ化を解除します。グループ内のどの物体を選択しても解除を行うことができます。 |
イベントシンボルカラー | マップエディター上でグラフィックが割り当てられていないイベントを表す”イベントシンボル”のカラーを指定できます。 |
切り取り | 選択中のイベントをカットします。 |
コピー | 選択中のイベントをコピーします。 |
貼り付け | コピーした地形をイベントします。 |
削除 | 選択中のイベントを削除します。 |
元に戻す | 操作をアンドゥします。 |
やり直し | 操作をリドゥします。 |
Bakinの主要な機能へアクセスできるメニューです。
各メニューをクリックするとそれぞれのダイアログが開きます。
各メニューの詳細はマニュアルの各メニューのページをご覧ください。
マップエディターのウィンドウ上部にあるメニューバーからさまざまな機能にアクセスすることができます。
「地形」 … 選択した地形をコピー、カット、ペースト 「物体」 … 選択した物体・イベントをコピー、カット、ペースト 「地形と物体」 … 選択した地形とその上に載る物体・イベントをコピー、カット、ペースト
ゲームプレイヤー機能を実行して、現在の状態でのテストプレイができます。
テストプレイを始めるためのボタンが2種類あります。
以下で説明する機能と表記は、すべてデフォルトのものです。
使用するキー・ボタンのアサインは入力デバイスの割り当てにて変更できます。
カーソル移動 プレイヤー移動 | カーソルキー、ADWSキー |
---|---|
ダッシュ移動 | Shift+移動操作 |
ジャンプ | Xキー |
メニュー表示 | Enterキー、ESCキー、Mキー |
決定 | Enterキー、Spaceキー、Zキー |
キャンセル | ESCキー |
話す・調べる | Spaceキー、Zキー |
カメラ水平回転 | EQキー |
カメラ上下回転 | RFキー |
ズームアップ/ダウン | TGキー |
カメラ位置リセット | Pキー |
タイトル画面に戻る | Ctrl+Cキー |
イベント・カメラを早送りする | 左Ctrlキー |
デバッグウィンドウの開閉 | F5キー |
キャストパラメータチェックビューの開閉 | F6キー |
ゲーム即時終了 | Alt+F4キー |
カーソル移動 プレイヤー移動 | 方向ボタン、左スティック |
---|---|
ダッシュ移動 | Xボタン+移動操作 |
ジャンプ | Yボタン |
メニュー表示 | STARTボタン |
決定 | Bボタン |
キャンセル | Aボタン |
話す・調べる | Bボタン |
カメラ水平回転 | 右スティック左右 |
カメラ上下回転 | 右スティック上下 |
ズームアップ | LB+RBボタン |
ズームダウン | LB+RTボタン |
カメラ位置リセット | 右スティック押し込み |
テストプレイ実行しながら動作を変更・確認できるさまざまなメニューを選択することができます。
センターホイールクリックでのテストプレイではこのメニューは選択できません。
テストプレイ中に「F5キー」を押すと、デバッグウィンドウを開閉することができます。
各種設定や変数ボックスの値を一時的に変更することで、効率よくテストプレイをし、進行や不具合のチェックをすることができます。
このウィンドウで設定する内容は、「テストプレイに反映」ボタンを押さないとゲーム内には反映されません。
きっかけとなるアクション | 表示される内容 |
マップ設定パレット>基本タブ>マップ表示前に呼び出すイベント | Execute From Map |
スキルイベント | Execute From Skill |
アイテムイベント | Execute From Item |
レイアウトのアクション | Execute From Layout |
イベントパネル「ゲームオーバー時の動作指定」 | Execute From GameOver Action |
イベント名 | コモンイベントとそのマップにあるイベントの名前です。 |
シート名 | 実行中、もしくは起動する可能性のあるイベントシート名です。 |
進行中パネル | 進行中のイベントパネルです。Stoppedとなっている場合は起動待ち、もしくは実行済みです。 |
トリガー | 実行中のシートのイベント開始トリガーの種別です。 |
イベント処理時間 | イベントシートに進行にかかっている処理時間。 1000ナノ秒(1ミリ秒)を超える程度までは、ゲーム全体の処理速度への影響は軽微です。 |
条件パネル処理時間 | 条件パネルのチェックに要している処理時間です。 シート内の条件パネルが多いほど、処理時間は増加します。 1000ナノ秒(1ミリ秒)を超える程度までは、ゲーム全体の処理速度への影響は軽微です。 |
テストプレイ中に「F6キー」押すとキャストパラメータビューを開閉できます。
パーティメンバーやバトル時の敵、マップ上のキャストイベントのステータスを確認できます。
ステータスはキャスト自身のステータスに加えて、職業や装備、バトル中の様々な影響によって変化した値も表示されます。
また一部のステータスの値やキャストの保持スキルの情報を一時的に変更することもできます。
描画やロジック処理などの負荷がどのくらいかかっているかをさまざまなグラフで確認することができます。
沢山のオブジェクトやイベントを配置したり、複雑な処理のイベントを同時に実行していると処理負荷が上がり、ゲームをプレイした際動作が重く感じるようになります。
パフォーマンスメーターはそれらを調整する手助けとなる機能です。
(!)お使いの環境によって処理負荷がどのくらい動作に影響するかは変わります。
total | 前のフレームから現在のフレームまでの間に経過した総時間です。垂直同期待ちなど、CPUが処理をしていない時間も含まれます。 |
update | 下記 update セクションの総時間です。 |
System | 入力情報の更新やウィンドウ制御など、エンジンの基本処理にかかった時間です。 |
Event | イベント内容の処理にかかった時間です。 |
Character | マップ上のキャラクターの位置や向きの制御にかかった時間です。 |
Player | プレイヤーの入力受付や移動処理にかかった時間です。 |
Battle | バトルの処理にかかった時間です。 |
Menu | メニューの処理にかかった時間です。 |
ETC | その他(イメージ座標管理・ワイプ・カメラ制御)の細かな処理にかかった時間です。 |
CPU | CPUにかかっている負荷をメーターで表示します。 |
GPU | GPUにかかっている負荷をメーターで表示します。 |
FPS | ゲームのフレームレートを表示します。 |
DRW | 描画コマンドの発行数です。 |
VRM | システムで使用しているものも含めたGPUメモリ使用量です。 |
MDL | ロードされているモデル数です。 |
EFK | ロードされているエフェクト数です。 |
TMPTGT | 立ち絵など一時的に必要な描画用テクスチャの数です。 |
BASE | 不透明 |
BASE_DEPTH | 不透明深度 |
BASE_NORMAL | 不透明法線 |
BASE_SUBSURFACE | サブサーフェイスカラー |
SSS_FILTERED | サブサーフェイスライティング |
SSS_BLURED | SSSぼかし |
SSS_APPLIED | SSS適用 |
SSAOMASK | AO検出 |
SSAOBLURED | AOぼかし |
SSAOAPPLY | AO適用 |
UNLIT | ライティング無しマテリアル |
FOG | フォグ |
TRANSLUCENT | 半透明 |
FXAA適用 | FXAA適用 |
DOF_COC | DOF基準値 |
DOF_NEAR | DOF近接部分 |
DOF_FAR | DOF遠方部分 |
DOF | DOF適用 |
BRIGHTNESS_* | 露出計算用明度検出 |
HILIGHT | ハイライト検出 |
BLOOMDOWNSAMPLE_* | ブルームダウンサンプル |
BLOOMUPSAMPLE_* | ブルームアップサンプル |
DISTORTIONSRC, | パーティクルディストーションイメージ |
名称 | 内容 | 重い場合に考えられる原因 | 考えられる対策 |
メインスレッド | |||
Fixed interval update | 固定時間更新 | Animate・Physics updateの合算。その2項目に対する対策をしてください。 | |
Animate | モデル・パーティクルの更新 | モデルが多い、ボーンが多い | ・マップ上のスタンプ数を調整する。 ・アニメーションするスタンプ数を調整する。 ・モデルに含まれる不要なボーンをBlenderなどで削除する。例えば、手の指のようにほとんど使われないボーンは削除する。 |
Physics update | 物理更新 | 物理の負荷要素(RigidBoyd Collision メッシュコリジョン)が多い | ・リソース>3D・2Dスタンプにて、コリジョンが不要(当たり判定が必要ない)なスタンプからコリジョンを外すか、簡易コリジョン(Boxなど)を設定する。 遠景のようにプレイヤーが接触することのないオブジェクトには、コリジョンの設定は不要です。 ・「物体」として配置できるものは物体にする。 処理負荷は物体よりもイベントの方がかなり高くなります。 ・イベントシート>衝突判定にて「プレイヤー・他のイベントとぶつかる」をオフにする。 ・イベントシート>衝突判定で、衝突判定のサイズを調整する。 衝突範囲が小さいほど負荷が少なくなります。 ・リソース>物理設定や、リソースに割り当てているコリジョンをシンプルなものにする。 コリジョンの数や複雑さは処理負荷を増やします。 ・小さなモデルの集合体を1つのモデルにまとめる。 例えば、テーブルの上の小物を別々のモデルにするのではなく、1つのモデルとしてインポートし、ボックスなどのコリジョン1つで判定するようにすると処理負荷が減ります。 ・入れない家や洞窟などの入り口などに詳細なコリジョン形状が不要なら、メッシュコリジョンをやめてボックスなどにすると処理負荷が減ります。 ・イベントの衝突範囲を使った透明壁を減らす マップ上のキャストに侵入してほしくない箇所にイベントを使って透明の壁を建てることはよく使われる技法ですが、処理負荷が増える原因にもなります。透明壁の数やサイズを適切なものにすることで処理負荷を減らすことができます。もしくは、コリジョンだけが設定された透明な「モデル=物体」を配置すると負荷が減ります。 |
GameMain update | ゲームロジック | ロジック負荷メーターをご覧ください。 | |
BattleScene update | バトルシーン更新 | バトル中のProcScript~Graphics updateのトータルの処理が多い | バトルシーンで発生する処理の合算。処理の各項目への対策をしてください。 |
MapScene update | マップシーン更新 | マップ中のProcScript~Graphics updateのトータルの処理が多い | マップシーンで発生する処理の合算。処理の各項目への対策をしてください。 |
ProcScript | イベントシートの実行負荷 | イベントで実行している内容の負荷が高い | ・実行中のイベント内の処理を簡潔にする。 ・並列実行するイベントを減らす。 並列実行するイベントは毎フレーム実行されます。毎フレーム処理する必要がない並列イベントシートの先頭に「指定の時間待つ」パネルを入れることで、1フレーム中に実行されるイベントの数を減らすことができます。 (「指定の時間待つ」パネルに0秒を設定すると、1フレーム処理を待ちます。) 例えば、キャストの状態チェックなどは毎フレーム行う必要がない場合があります。 また、イベントの条件を見直すことで、イベントが実行されるタイミングを調整することもできます。 |
Character update | プレイヤーやイベントの姿勢や座標の更新処理 | イベントの個数が多い | ・マップに配置しているイベントや、「イベントの生成」で動的生成されるイベントの個数を調整する。 条件が満たされず出現していないイベントは、その状態ではほぼ負荷がありません。 また、表示されないイベントはこの処理に対して負荷を与えません。 |
Player update | プレイヤー入力・移動処理 | ※この項目に対しての対策はありません。 | |
Menu update | メニュー(UI)更新 | レイアウト表示物の個数が多い | ・表示するレイアウト数を調整する。 ・レイアウトパーツ数を調整する。 コンテナやパネルの数が増えると負荷が増えます。特に特殊書式を設定したパネルは負荷が大きくなります。 例えば、一度に30アイテムを表示するアイテムリストは、10アイテムずつ3ページに分けると負荷が減ります。 また、ウィンドウ枠などを複数のレイアウトパーツ(画像)を組み合わせて表示している場合、画像を1つにまとめて1つのパーツで表示する方が負荷が減ります。 表示するイメージのサイズは、この処理に対する負荷には影響を与えません。 |
Graphics update | レイアウト・その他2D描画物の描画命令発行処理 | レイアウト表示物や「イメージを表示」パネルで表示している個数が多い | ・表示するレイアウト数を減らす。 ・レイアウトパーツ数を調整する。 ・イベントで表示するイメージ数を減らす 「イメージを表示」パネルだけでなく、会話パネルや「感情マークを表示」パネルなどでのスプライトやイメージの表示も、この項目の負荷に影響を与えます。 |
Calc world center & radius | モデルの描画判定情報更新 | スキンメッシュが多い | ・マテリアル数を減らす。 複数のマテリアルに分かれているポリゴンがある場合、Blenderなどを使いなるべく少ない数のマテリアルにまとめることで負荷が減ります。 例えば、VRMモデルは多くのマテリアルが設定されているケースが多くありますが、モデルをエクスポートする際に数を減らして(複数のマテリアルをまとめて)出力し、それをBakinにインポートすると、この項目に対する負荷を減らすことができます。 サブグラフィックを使って複数のスタンプを1つにまとめることは、この項目の負荷に対しては影響を与えません。重要なのはマテリアルの数を減らすことです。 |
Make command | 描画コマンドの作成 | マテリアル・メッシュが多い | ・マップに配置したスタンプの数を調整する。 ・マテリアル数を減らす。 ・スタンプに使用しているモデルをBlender等で調整する。 |
Prepare next rendering | 次のフレームの描画の準備 | ※この項目に対しての対策はありません。 | |
レンダリングスレッド | |||
Create native command buffer | 描画APIコマンドの作成 | マテリアル・メッシュが多い | ・マップに配置したスタンプの数を減らす。 ・マテリアルを減らす。 ・スタンプに使用しているモデルをBlender等で調整する。 |
Effekseer update | Effekseerアップデート(1フレーム分) | Effekseerパーティクルが多い | ・マップに配置しているパーティクルの数を調整する。 |
Effekseer draw | Effekseer描画 | Effekseerパーティクルが多い | ・マップに配置しているパーティクルの数を調整する。 |
Execute native command | 描画APIコマンド実行 | 表示物が多い GPUを参照 | ※この項目に対しての対策はありません。 |
GPU | |||
Shadow | 影 | シャドウの範囲が広い ライトの向きがカメラ向きに対して平行 カスケードが多い | ・マップ設定>レンダリング設定タブ>ライトにて、影カスケード数や影範囲など、影に関する値を調整する。 ・ライトの向きを調整することで影の範囲を減らす。 画面中の影の量を減らすことでこの項目に対する負荷を減らすことができます。 画面にあまり映らない箇所の影の範囲を見直してみてください。 |
ZPrepass | 不透明事前深度描画 | 不透明物体が多い | ・マップに配置したスタンプの数を調整する。 ・小さなモデルの集合体を1つにまとめたモデルにする。 例えばテーブルの上の小物を別々のモデルにするのではなく、1つのモデルにしたうえでインポートし、スタンプ化すると処理負荷が減ります。 一方サブグラフィックを使って複数のスタンプを1つにまとめることは、この項目の負荷に対しては影響を与えません。 |
Opaque | 不透明描画 | 不透明物体が多い | ・マップに配置したスタンプの数を調整する。 ・小さなモデルの集合体を1つにまとめたモデルにする。 例えばテーブルの上の小物を別々のモデルにするのではなく、1つのモデルにしたうえでインポートし、スタンプ化すると処理負荷が減ります。 一方サブグラフィックを使って複数のスタンプを1つにまとめることは、この項目の負荷に対しては影響を与えません。 |
SSS | SSS | ※機能をオフにする以外の対策はありません。 | |
SSAO | SSAO | SSAOサンプリングが多い 一般的に重い | ・マップ設定>レンダリング設定タブ>SSAOにて、サンプリング数の値を減らす。 ・SSAOのプロパティ「ぼかし」をハーフバイラテラルにする。 |
Unlit | 非ライティングマテリアル描画 | ・マップに配置したスタンプの数を調整する。 ・小さなモデルの集合体を1つにまとめたモデルにする。 例えばテーブルの上の小物を別々のモデルにするのではなく、1つのモデルにしたうえでインポートし、スタンプ化すると処理負荷が減ります。 一方サブグラフィックを使って複数のスタンプを1つにまとめることは、この項目の負荷に対しては影響を与えません。 | |
Fog | Fog | ※機能をオフにする以外の対策はありません。 Fogのパラメータの調整では負荷は軽減されません。 | |
Translucent | 半透明マテリアル描画 | 半透明物体が多い 画面に近い | ・マップに配置する半透明マテリアルを使用したスタンプを減らす。 ・半透明にする必要がないものは不透明にする。 例えば、小さな瓶のようなものは不透明にし、テクスチャで透明感を表現した方が処理負荷が減ります。 ・カメラから見た時、半透明のものが重ならないようにする。 例えば、ガラスを何枚も重ねたり、薄い色のパーティクルをたくさん重ねて表現している箇所を調整すると処理負荷が減ります。 ・透明度0の部分が多いテクスチャやイメージの利用を避ける。 透明な余白が大きいテクスチャやイメージは、余白部分を削ると処理負荷が減ります。 |
FXAA | FXAA | ※機能をオフにする以外の対策はありません。 | |
DOF | Depth of field | 一般的に処理負荷が高い | ・マップ設定>レンダリング設定タブ>DOFでパラメータを調整し、画面上ぼかす範囲を狭くする。 焦点や焦点距離を調整し、ぼかす範囲を減らすことで処理負荷が減る可能性があります。 |
Bloom | Bloom | ※機能をオフにする以外の対策はありません。 | |
UI | UI | UI要素が多い 重なっているなど | ・レイアウトパーツの数を調整する。 ・透明度0の部分が多いテクスチャやイメージの利用を避ける。 透明な余白が大きいテクスチャやイメージは、余白部分を削ると処理負荷が減ります。 ・静止しているマスクを使ってくり抜いている箇所は、イメージに変更する。 画像の一部をマスクで隠して使用している場合、イメージを別途作成した方が処理負荷が減ります。 |
Other | その他 | ※この項目に対しての対策はありません。 |
テストプレイをリセットしてタイトル画面に戻します。(タイトル画面をスキップしている場合は、ゲームの冒頭に戻ります。)
Ctrl+cでもリセット可能です。
センターホイールクリックでのテストプレイではこのメニューは選択できません。
マップエディターウィンドウの下部にあるステータスバーには、よく使われる機能をアイコン化して配置してあります。
また選択できる対象が変わるだけでなく、モードによってマップエディター上でのコピー/カット/ペーストの挙動が変化します。
「地形」 … 選択した地形をコピー、カット、ペースト 「物体」 … 選択した物体・イベントをコピー、カット、ペースト 「地形と物体」 … 選択した地形とその上に載る物体・イベントをコピー、カット、ペースト
マップを作成するための機能を種類ごとにまとめたのが「パレット」です。
マップエディターで使用するパレットは、以下の6種類があります。
それぞれのパレットの機能については、当ヘルプの「エディット画面で使用する各種パレット」をご覧ください。