制作Tips
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
このページにはBakinの機能を組み合わせて使うことでさまざま...
下記に登場するサンプルプロジェクト「Orb Stories」「ダンジ...
#Contents
----
*ゲーム動作が重い際の対処法 [#d3d1da02]
ゲームの動作が重くなる原因は、ゲームエンジン(この場合Bak...
またグラフィックボードのドライバーなどが影響する可能性も...
そして、ゲームの作り方によっても動作が重くなることがあり...
本項では、ゲーム作成時に考慮すべき工夫についてご紹介しま...
ただし、「これをすれば確実に改善する」という特効薬はあり...
「このゲームにおいて大事なものは何か」を把握し、地道に調...
**「ゲーム動作が重い」とは [#i1759f0a]
「ゲーム動作が重い」という場合、主に以下の2つのパターンが...
-''ゲーム処理の遅延''
描画がスムーズでない、操作がカクつくなどのケースは、ゲー...
主にCPUやGPUに高い負荷がかかっている状態であり、これらの...
-''ローディングの遅延''
起動に時間がかかる、マップ間のローディングが長いなどのケ...
主にストレージやメモリに負荷がかかっている状態であり、ス...
**考え方の基本 [#vf425849]
-''不要なものを削減・間引く=重要な要素を見極める''
以下の要素を削減・間引くことで、負荷を軽減できます。
#br
・画面にほとんど表示されないもの、遠くにしか表示されない...
・ゲーム中、プレイヤーが接触しないもの
・頻繁なチェックが必要ないイベント
#br
つまり、「ゲームプレイにおいて重要な要素は何か」を見極め...
#br
-''まとめられるものはまとめる''
以下の要素は、まとめて1つのアセットにすることで負荷を軽減...
例えば
・「テーブルの上に散らばる小物」や「多数の茂み」など、個...
・ウィンドウの「枠」と「装飾」など、個別に画像として管理...
#br
これらの作業は、グラフィックやモデルの加工を伴うため、や...
しかし、例えばVroid StudioからVRMモデルをエクスポートする...
#br
そしてゲーム制作中、常にこれらの点を考慮しながら作業する...
カメラの動きやオブジェクトの配置が変われば、「何が不要か...
#br
しかし、ゲーム内容が概ね固まった段階で、負荷軽減のために...
負荷軽減を行う際には、[[パフォーマンスメーター:https://rp...
#br
-''本当に見直しが必要か?''
負荷の見直しをする際に、まずゲームをプレイしてフレームレ...
ご自身が考えられているフレームレートと同等の速度が出てい...
見直しに伴う修正作業の手間と見直した結果による効果を天秤...
#br
[[ミニメーター:https://rpgbakin.com/pukiwiki/?%E3%83%9E%E...
***マップ上の配置物の見直し [#x90adcf1]
-''不要な物の削減''
画面に表示されないオブジェクトは削除しましょう。また、表...
例えば、「茂み」のスタンプを多数配置している箇所がある場...
''&color(red){(!)};''サブグラフィックを使用して複数のスタ...
#br
-''パーティクルのPrewarm設定の見直し''
[[パーティクル]]のPrewarmは、マップ読み込み時に設定された...
例えば、5秒と設定した場合、5秒 x 60フレーム = 300回分の処...
この値を適切に設定することで、マップ移動時の負荷を軽減で...
Prewarmについては、[[パーティクル:https://rpgbakin.com/pu...
#br
-''不要なイベントの物体化''
「イベント」のコリジョンは、「物体」のコリジョンよりも負...
マップ上で侵入してほしくない箇所を塞ぐ際、コリジョンのみ...
透明なFBXモデルを作成し、リソース>3Dスタンプでグラフィッ...
リソース>地形のプロパティーで「通行可能」をNOに設定した...
通行不可の地形の上に配置された3Dスタンプのプロパティーで...
#br
-''「物体」のコリジョンを簡易なものに変更する''
リソース>[[3Dスタンプ]]のプロパティーで、簡易コリジョン...
プロジェクトを新規作成した際に含まれる3Dスタンプの中には...
これらのスタンプには、簡素なコリジョン用モデルが別途割り...
その場合は、必要に応じてコリジョンを「Box」などの簡易な形...
リソース>[[物理設定]]で単純なコリジョンを組み合わせたコ...
作成したモデルは、リソース>[[3Dスタンプ]]で「正確なコリ...
#br
-''「コリジョン不要な場所に配置する「物体」のコリジョンを...
例えば、一本道の両脇にプレイヤーが侵入できない森が広がっ...
このような場所には、コリジョンのない「物体」を用意して配...
リソース>[[3Dスタンプ]]で「正確なコリジョン設定」をONに...
#br
-''レンダリング設定の見直し''
ポストエフェクトは描画負荷が高いため、レンダリング設定を...
レンダリング設定の見直しには、[[プロファイラー:https://rp...
#br
-''マップサイズの削減''
マップサイズが不必要に大きくないか検討すると良いでしょう。
マップが広くなると、マップに配置するオブジェクトも多くな...
#br
-''カメラと配置物の位置調整''
カメラワークや壁、遮蔽物の位置を調整して、画面に一度に表...
***イベントの見直し [#jee6c565]
-''衝突設定の最適化''
イベントシートの[[衝突判定:https://rpgbakin.com/pukiwiki_...
本当に衝突判定が必要なイベントか、再検討することをお勧め...
例えば、プレイヤー以外が接触しないスイッチイベントは、「...
また、イベントシートを分割し、条件によって衝突判定の有効/...
#br
-''並列イベントの最適化''
並列実行イベントや、並列して繰り返し実行されるイベントは...
例えば、プレイヤーに特定の「状態」が付与されているかをチ...
このようなイベントの冒頭に「指定した時間待つ」パネルを「0...
また、イベント条件を適切に設定することで、同時に動作する...
***レイアウトの見直し [#h2ab6a69]
-''レイアウトパーツの削減''
例えば、ウィンドウを「枠」「装飾A」「装飾B」の3つのレイア...
また、1つの画面に表示する情報量が適切であるか検討すること...
[[プロファイラー:https://rpgbakin.com/pukiwiki/?%E3%83%9E...
イベントを使用して複数のレイアウトを同時に表示すると、表...
#br
-''特殊書式の削減''
特殊書式を使用するパーツは、処理負荷が高くなります。
例えば、30個のアイテムを一度に表示するアイテムリストを、1...
***素材の見直し [#f9cf8b2d]
-''内部フォーマットの採用''
ゲーム定義>[[プロジェクト設定]]で「内部フォーマットを使...
この機能により、ローディング時の負荷を軽減できます。
詳しくは、プロジェクト設定>[[内部フォーマットの設定:http...
#br
-''使用する素材の軽量化''
画面内で小さくしか表示されないオブジェクトに大きなテクス...
#br
-''マテリアルの統合''
1つのモデルに複数のマテリアルが設定されている場合、それら...
#br
-''透明部分の削減''
透明・半透明なオブジェクトは、描画負荷が増加します。シェ...
詳しくは、[[プロファイラー:https://rpgbakin.com/pukiwiki/...
#br
-''画像の統合''
複数のパーツに分割されている画像を1つの画像に統合すること...
----
//*ゲームの動作が重い際の対処法 [#r9db5301]
//ゲームプレイをしてみて操作に対してゲームの動作が遅い・...
//***コリジョン(当たり判定)の見直し [#md407955]
//コリジョンは処理時間に対する影響が大きい要素です。
//まず「イベント」のコリジョンは「物体」のコリジョンと比...
//またコリジョンのサイズの大きさや形状の複雑さも処理に影...
//そのため下記の対策をとってみてください。
//-「イベント」である必要ないものは「物体」に置き換える
//-- マップ上の侵入してほしくない箇所をふさぐ際、コリジョ...
//''&color(red){(!)};''イベントテンプレート「見えない壁」...
//---リソース>[[3Dスタンプ]]でグラフィック「なし」を選ん...
//---透明なFBXモデルを作成し、リソース>[[3Dスタンプ]]で...
//---リソース>[[地形]]のプロパティーで「通行可能」をNOに...
//通行不可の地形の上に置かれた3Dスタンプのプロパティーの...
//-「物体」のコリジョンを簡易なものに変える
//--リソース>[[3Dスタンプ]]のプロパティーで簡易コリジョ...
// プロジェクトを新規作成した際に含まれる3Dスタンプの中...
// これらは簡素なコリジョン用モデルを別途作成して割り当...
// その際は適宜コリジョンを「Box」等簡易なものに変更して...
//#br
// リソース>[[物理設定]]でシンプルなコリジョンを組み合...
// 作ったモデルはリソース>[[3Dスタンプ]]で「正確なコリ...
//
//-コリジョン不要な個所に置く「物体」のコリジョンを削除する
//例えば、一本道の両脇にプレイヤーが侵入できない森が広が...
//こういった箇所にはコリジョンの無い「物体」を用意して配...
//リソース>[[3Dスタンプ]]で「正確なコリジョン設定」をON...
//
//またゲームプレイをするPCのスペックが処理時間に影響を与...
*プレイヤーを透明にする [#w28c059b]
「ダンジョンRPGサンプル」では一人称カメラにした際プレイヤ...
-「ダンジョンRPGサンプル」のデータベース>キャストの「ケ...
移動用グラフィックをクリックすると、DungeonPlayer_2Dと...
-次にリソース>2DスタンプでDungeonPlayer_2Dを見てみるとグ...
またサブグラフィックもグラフィックに何も指定せずに、ロ...
これはプレイヤーが明かりを持っているように前を照らすた...
-このグラフィック指定をせずにサブグラフィックのローカルラ...
このスタンプをイベント化した状態でマップに配置しておき...
そしてボスを倒した後はサブグラフィックをオンにしローカ...
----
*グリッド移動 [#bae9f034]
グリッド単位の移動(地形のマス目単位に動く)は共通イベン...
-[[コモンイベントパレット]]で追加ボタンから「グリッド移動...
このイベントは、プレイヤーの操作を禁止した上で、改めて押...
#ref(./イベントテンプレート_グリッド移動.jpg,70%)
-歩くスピードを変更したい場合は、カスタムイベントにした後...
ただし現状あまりスピードを遅くすると段差が登れないケース...
**「グリッド移動」と「通常移動」をマップごとに切り替える ...
平原では通常移動を使い、洞窟に入るとグリッド移動にすると...
+ 「グリッド移動」イベントテンプレートをカスタムイベント...
+ 下図のように「通常移動」イベントシートを追加します。使...
#ref(./グリッド移動切り替え.jpg,70%)
+ ダンジョンマップ(グリッド移動をするマップ)に入る際の...
+ 平原マップ(通常移動をするマップ)に入る際のイベントで...
----
*『ダンジョンRPGサンプル』のバトル [#w0850cb6]
以下は『ダンジョンRPGサンプル』に実装されているバトルに関...
**バトル中のパーティに「前列/後列」の概念を導入する [#ta1...
「ダンジョンRPGサンプル」のバトルでは、パーティ側に前列/...
後列のメンバーは射程の長い武器を使わないと敵を攻撃できま...
これらの仕組みは下記の機能を設定することで実現しています。
***バトルレイアウトで味方パーティメンバーの立ち位置を設定...
ゲーム定義>[[ルールと描画]]>バトルレイアウトの設...
バトル中の表示位置だけではなく、敵味方の距離もここ...
ダンジョンRPGサンプルでは下記の画像のような配置をし...
#br
#ref(./バトルレイアウト.png,70%)
***射程を設定する [#i50a14a0]
射程の概念をバトルに導入するにはまず、ゲーム定義>[...
そして「射程判定タイプ」を後述する「列」または「距...
「列」と「距離」の違いはゲーム定義>[[ルールと描画]...
次にデータベース>アイテムや、データベース>キャス...
射程の単位はバトルレイアウトのグリッドです。
「ダンジョンRPGサンプル」のバトル中にメンバーの上に...
----
**パーティの並び替え [#w8406267]
前列/後列の概念がバトルに入ると、深いダメージを負ったメン...
「ダンジョンRPGサンプル」ではバトルコマンドとして「場所入...
***バトルコマンド「場所の入れ替え」を有効にする [#xae9f1c4]
バトル中に並び替えコマンドを使えるようにするには、デー...
***「状態」による自動的並び替えを有効にする [#h32d4878]
バトル中の状態によって自動的にメンバーを後列に送るには...
またその際、必要に応じて「状態解除時に元の並びに戻す」...
そして、どの「状態」になったら後方に下がるのかは、デー...
----
**バトルマップの作り方(一人称視点のバトル) [#od07c742]
ここでは『ダンジョンRPGサンプル』のバトルシーンで使われる...
-''一人称視点でのバトルマップを作る際は下記を念頭において...
--3D空間上に背景とキャストが表示されていること
--背景画像も3D空間に置かれている物体であること
--3D空間を平行投影カメラ(パースのないカメラ)でとらえて...
--バトル中のキャストは''空中には浮かず地面に着地する''こと
--パーティーメンバーのグラフィックはイベントもしくはデー...
#ref(./DRPGBattle_1.jpg,70%)
***1.背景イメージの用意 [#v1dbb9fe]
リソース>イメージにて背景画像をBakinに追加します。
- ''背景画像を複数使う場合、画像サイズは揃えておく''
これによりバトルシーンをとらえるカメラの画角を1つ決めれ...
- ''背景及び敵キャストのイメージのプロパティの「SRGB」は...
マップ上に置かれる(ライティングの影響を受ける)画像は...
※リソースのツリー上で複数のイメージを選択した上でプロパ...
#ref(./ダンジョンRPGBattle_2.jpg,70%)
- ''背景画像を2Dスタンプにする''
リソース>イメージのファイルツリーの上部にあるスタンプ化...
***2.マップ作成と背景イメージの配置 [#d875ea15]
マップエディタ>マップリストでバトルフィールドとして使う...
マップの地形の高さ(Y)は"0"まで下げます。
#ref(./DRPGBattle_3.jpg,70%)
- ''バトルマップ上に先ほど作ったバトル背景の2Dスタンプを...
マップに背景スタンプをおき、わかりやすく下記の位置に移動...
''X'': マップサイズのX軸の幅の中央。たとえば25x25のマップ...
''Z'': 0
''Y'': 背景画像の中で敵が立つ位置がマップの地平面と重なる...
#br
『ダンジョンRPGサンプル』のバトルマップで背景画像の下端が...
マップの地形を高さ0にすると地平面が透明になるため、地面に...
- ''バトルマップのレンダリング設定において「DOF」を「オフ...
マップエディタのマップ設定パレット>レンダリング設定にて...
背景をぼかした感じにしたい場合、背景画像をぼかしをかけた...
#ref(./ダンジョンRPGBattle_4.jpg,70%)
- ''バトルマップのレンダリング設定を適宜調整する。''
「DOF」以外の項目も必要に応じて適宜調整してください。
『ダンジョンRPGサンプル』のバトルマップDungen_2DBattleMap...
***3.バトルレイアウトの調整 [#e720a513]
バトル時の敵味方の立ち位置はバトルレイアウトで指定しま...
バトルレイアウトはゲーム全体共通で使うならゲーム定義>[...
- ''ゲーム全体共通で同じバトルレイアウトを使う''
+ゲーム定義>[[ルールと描画]]>バトル関連>「デフォル...
+下にある項目「バトルレイアウトの設定」をクリックし、...
+ダイアログ上で''「敵の数ごと」''に敵の立ち位置を設定...
+各マップのマップ設定>敵分布タブ>選択された出現エリ...
-- ''敵画像のサイズを考慮して、立ち位置を調整する''
バトルレイアウトを設定する際は、敵の「画像の大きさ」を...
#br
例えば大きい画像を使ったとき、バトルレイアウトで立ち位...
『ダンジョンRPGサンプル』では下図のように間を空けて設定...
#ref(./バトルレイアウト.png,70%)
***4.バトルマップ上のバトル位置の調整 [#a04c8d78]
''バトルが発生するマップ(敵分布のエリア)/イベント''ごと...
バトルマップではなく、''バトルが発生するマップ/イベント...
#br
例:「マップ1」を移動中にエンカウントバトルが発生し、バト...
#ref(./ダンジョンRPGBattle_5.jpg,70%)
-- ''バトルが発生する側のマップでのバトル位置の調整''
マップ設定>敵分布タブ>バトル背景をクリックし、開いたダ...
赤い点がバトルレイアウトの中心点です。
--''&color(red){(!)};''中心点は背景とカメラの間の位置に置...
背景よりもバトルの中心を奥に置くと敵キャスト等は背景に隠...
逆にカメラの位置より手前においてしまうと、カメラに映りま...
-- ''&color(red){(!)};''敵分布タブの「敵の分布エリア」で...
-- ''イベントバトルでのバトル位置の調整''
イベントにて[[バトル実行と結果の確認:https://rpgbakin.com...
***5.バトルカメラの設定 [#n810beae]
カメラツールを開き、バトルカメラを設定します。
カメラツールの上部にある「プレビュー用マップの切り替え」...
プロパティの設定は『ダンジョンRPGサンプル』のバトルカメラ...
-''カメラ設定のポイント''
--各カメラのプロパティ「基本設定」にある平行投影をONにする
--注視先は「なし(ワールド座標)」にする。
--オフセットは全て0にする。
--カメラの角度は適宜背景画像をとらえられるように調整する。
--画角を調整し、背景画像が収まるようにする
画角は背景画像の縦サイズを''48''で割ると画面に収まります...
--カメラ位置を調整する
背景画像を正対でとらえる位置に置くのが基本です。
位置Xは背景画像と同じ(25x25のマップなら12.5)、位置Zもマ...
位置Yは下記のように考えます。
---背景画像の縦サイズが1080pixcelだった時、画角は''1080÷4...
---背景画像の位置Yが0だった時、カメラのY位置を画角''22.5÷...
---敵の立ち位置を画像に合わせるために背景画像のY位置を変...
#ref(./ダンジョンRPGBattle_6.jpg,70%)
**バトル背景画像の切り替え [#mbcbcc4b]
「ダンジョンRPGサンプル」では、エンカウントバトルとボス...
これはイベントを使って実現しています。
-まずバトルマップとして使用している「Dungeon_2DBattleMap...
そのイベント内に変数値によって起動するイベントシートを複...
-そのうえでバトルが発生するイベントにて、背景に使いたいイ...
----
**バトルでのダメージ表示 [#iad7936d]
「ダンジョンRPGサンプル」ではバトルシーンにて、パーティの...
- これはレイアウトツール>バトルステータス画面に特殊座標...
レイアウトパーツリストに「ダメージ表示位置」というコンテ...
----
*レイアウト上に表示する項目の絞込み [#ub90277f]
「ダンジョンRPGサンプル」では、「アイテムリスト」や「図鑑...
これはデータベースの「管理タグ」とレイアウトツールの機能...
**データベースの管理タグ [#nda5276c]
データベースの項目ツリーの下に位置する管理タグ+メモ...
またアイテムは基本設定の「消耗品」「武器」「防具」の...
**レイアウトツールでのタグによる絞込み [#w6df7914]
タグがついた項目のうちどれを表示するかをレイアウトツ...
アイテム選択画面などのレイアウトプロパティーにある「...
タグを複数指定するとAND条件(「〇〇かつ××」)になるこ...
**「図鑑」画面への表示 [#s40887f6]
「図鑑」タイプのレイアウトでは、データベースの各項目...
ダンジョンRPGサンプルの図鑑、すなわち「探索手帳」のモ...
これを実現するために、まずデータベース>キャストでい...
そしてレイアウトツール>キャスト図鑑のレイアウトプロ...
----
*強化アイテム [#hea54bae]
「ダンジョンRPGサンプル」では「ナイフ+1」のような強化され...
下記のような機能を組み合わせてこれを実現しています。
**強化可能アイテムに指定する [#c3385359]
あるアイテムを強化できるアイテムにしたい場合は、まず...
**アイテムの「カスタムイベント」を使った強化 [#b4831b39]
宝箱から出てくるアイテムについては、データベース>[[...
カスタムイベントはアイテムを取得したときに起動します。
イベントの中では乱数とループを使って”+1”から”+3"まで...
**強化するアイテム選択画面とコモンイベントを使った強化 [#...
B1マップでのアイテム強化イベントはレイアウトツールと...
レイアウトツール>「強化するアイテム選択」画面のサブ...
またレイアウトプロパティー「変数指定」に、コモンイベ...
強化するアイテム選択画面は、コモンイベントとの組み合...
アイテムのどの能力を強化するかはイベント内容で自由に...
アイテムの強化についてはサンプルイベントを共通イベン...
''(注意)''
強化したアイテムはそれぞれ別の種類のアイテムとして扱...
ゲーム定義>ルールと描画にて設定できるアイテム袋の容...
すなわち強化したアイテムはそれぞれ"1種類"とカウントさ...
----
*ミニマップ [#o77834b0]
画面上にオートマッピング付きのミニマップを表示しています。
マップ上に発見したドアや宝箱のアイコンも表示されるように...
これらは下記の機能を組み合わせて実現しています。
**ミニマップの表示 [#c3eee726]
レイアウトツールで文字列の描画用パネルに特殊書式\mini...
ミニマップのサイズや表示位置はパネルの設定が反映され...
「ダンジョンRPGサンプル」では、レイアウトツール>イベ...
**ミニマップの表示内容の設定 [#e04d351f]
-ミニマップ上で通行可能/不可の箇所を表す色やグリッドの画...
-ミニマップ上のプレイヤーアイコンを「プレイヤーの向き」に...
-地形の上を通行できるかどうかについての設定はリソース>[[...
-マップのどこまでをミニマップで表示するかについては、マッ...
演出などのために、プレイ中歩き回れる範囲を超えたサイズ...
その際不要な範囲をマップに表示しないためにはここで設定...
**ミニマップ上のアイコンの設定 [#k7634711]
-ミニマップ上のドアや宝箱のアイコンは、ゲーム定義>システ...
-システムリソースで設定した画像をどこで表示するかは、イベ...
サンプルゲーム内のドアのイベントをご覧ください。
閉じているとき、開いたときそれぞれのイベントシートの「...
イベントシートごとにアイコンを設定できるようにすること...
----
*足音の設定 [#d0f03dab]
プレイヤーが地形・物体の上を歩いた際に足音を鳴らすことが...
**地形への足音設定 [#je1ad4fc]
リソース>地形のプロパティーにある「効果音」にて足音...
**物体への足音設定 [#tea495c3]
物体の上を歩いた際の足音は、効果音を設定してある「地...
リソース>3D/2Dスタンプの簡易コリジョンのプロパティー...
「地形」に設定された「効果音」が適用されます。
-物体をイベント化した際もこの設定は有効です。
-「地形」に割り当ててある、上を歩いた際に付与される「状態...
これを利用して、例えば、物体の上を歩くと「毒」状態になる...
//---物理設定ではコリジョンごとに割り当てる地形を変えるこ...
//これを利用して物体の中で足音の違う個所を作るといったこ...
**足音の音量や再生速度の調整 [#p5ca20c1]
ゲーム定義>[[移動と操作]]に足音のボリュームと足音の...
またイベントパネル「足音の設定変更」を使って変更する...
個別の足音のボリュームを調整したい場合は、リソース>...
----
*敵に駆け寄って攻撃 [#xb43cc49]
バトルの攻撃時、モンスターに駆け寄って斬りつけるような表...
- まず[[コモンイベントパレット]]でバトルイベントを新規で...
各シートで以下のようなイベントを設定します。
-- 「駆け寄る」シート
---「行動決定時」に、パーティキャストが何をするかを判定。
---「攻撃」をするなら、攻撃対象の敵のナンバーを特定し、そ...
---攻撃をするキャストを操作対象にして、攻撃後の戻り先の座...
---モンスターの座標に向けてキャストを歩かせる。
---最後にイベントスイッチをオンにして、駆け寄ったことを記...
-- 「戻る」シート
---「行動終了時」に、駆け寄ったことを表すイベントスイッチ...
---「駆け寄る」イベントシートで取得した、攻撃前のキャスト...
---最後に駆け寄ったイベントスイッチをオフにします。
-''[ポイント]''
-- このイベントを正しく動かすためには1.4.x以前のバージョ...
''&color(red){バトルスクリプトに改変を加えらえれている...
[[マップエディター メニューバー:https://rpgbakin.com/p...
改変を行っている方は、最新版へのマージをしてください。
-- 「戻る」 シートの「イベントの座標を指定して歩かせる」...
---「移動終了時の向き」は「任意の角度を向く」をONにし、角...
---「モーションを変更しない」にチェックを入れることで戻っ...
- ''サンプルイベントデータを添付しました。''
+まず下記のファイル名を右クリックし「名前を付けてリンク先...
[[walk_attack_jp.txt:https://rpgbakin.com/pukiwiki/?plugi...
+保存したテキストファイルを''バトルイベント''にインポート...
//イベント内容については下記の画像を参考にしてください。
//#ref(./駆け寄って攻撃_駆け寄る.png,80%)
//#ref(./駆け寄って攻撃_戻る.png,80%)
----
*連続ダメージ表現 [#p238537e]
一度のスキル攻撃で連続的にダメージを与える表現はコモンイ...
- まず[[コモンイベントパレット]]でコモンイベントを新規で...
-- 「バトル情報を取得」パネルで使ったスキルの対象となる敵...
-- あとは「バトルキャストのHP/MPを回復/減らす」パネルでそ...
- 設定したイベントを、データベース>スキル>[[基本タブ:ht...
-''[ポイント]''
-- このイベントで与えたダメージが表示された後、スキル自体...
-- スキルエフェクトとイベントでのダメージ表示のタイミング...
イベント内容については下記の画像を参考にしてください。
#ref(./連続ダメージ.png,80%)
----
*レベルキャップ開放イベント [#m4aa8ae4]
キャストや職業の最大レベルを設定した上で、イベントによっ...
[[キャストのステータスの変更:https://rpgbakin.com/pukiwik...
-まず最大レベルを設定します。
--ゲーム定義>[[ルールと描画]]にて、ゲーム内の最大レベル...
--データベース>キャストにてキャストの最大レベルを設定し...
-次にレベルキャップを解放するイベントを作成します。
--「キャストのステータスの変更」パネルで、キャストの「最...
「第一章が終わったら」や、「あるアイテムを手に入れたら」...
例えば下記のようなことを表現できるようになります。
ゲーム全体の最大レベルは99
ゲームスタート時のキャストAの最大レベルは20。
第一章が終わった時点でイベントによって最大レベルが50...
#ref(./最大レベルの変更.png,80%)
----
*地面から生えている草モデルを揺らす [#a823e5c6]
a_n_wind_discard や a_n_rm_wind_discard、map_wind_discard...
『Orb Stories』の3Dスタンプsb_obj_nature002_Grass01aのマ...
-リソース>マテリアル>シェーダーにて、上記のシェーダーを...
根っこの部分は固定されたまま、草の部分が設定の度合いで風...
-ただしこれをONにしても思った通りにY軸が固定されない場合...
インポートするモデルについて、Blenderにて下記の設定されて...
1)モデルの制作時に"原点"を根っこの部分に設定する。
2)BlenderからのFBXエクスポート時の設定項目「トランス...
----
*スキル発動時のカットシーン [#w0ee7f8c]
下記のような設定をすることで、スキル発動時にスプライトア...
『Orb Stories』のスキル「ファイア」にサンプルとしてカット...
#ref(./Skill_Cutscene.png,30%)
- スプライトツールでスプライトを作成する
- 共通イベントでカットシーン用のイベントを作成する
---イベント開始条件は「開始条件なし」にします。
---[[エフェクトを表示:https://rpgbakin.com/pukiwiki/?%E4%...
表示位置を「画面の中心に表示する」に設定し、「完了する...
- データベースでスキルを作成する。
- データベース>[[スキル]]>基本タブ>スキルの効果で「呼...
- 同じくスキル>基本タブ>基本設定で「共通イベント後に発...
#br
「感情マークを表示」パネルの「完了するまで待つ」と、スキ...
----
*オートセーブの使い方 [#z367501a]
-''概要''
ゲーム定義>[[ルールと描画]]にてオートセーブをオンにする...
セーブデータ選択画面の一番上のスロットがオートセーブ用の...
『Orb Stories』にてオートセーブを利用していますので、制作...
-''セーブファイル選択画面''
レイアウトツール>セーブファイル選択画面にて、特殊書式\sa...
オートセーブスロットの表示名はゲーム定義>[[共通用語]]>...
-''オートセーブ実行時の画面表示''
オートセーブ実行時に「セーブ中」のような表示を出したい場...
''&color(red){(!)};''「セーブ中」レイアウトでは、レイアウ...
+レイアウトツール>イベント用フリーレイアウト画面にて「セ...
+オートセーブ前に[[イベント用フリーレイアウトの表示:https...
+オートセーブ後に同じく[[イベント用フリーレイアウトの表示...
-''オートセーブのタイミング''
・マップ間移動パネルを含むイベントの最後にオートセーブス...
対象となるイベントに続く形で自動的にイベントが発生するケ...
下記のイベントではイベント終了時にセーブが行われます。
#ref(./Tips_オートセーブ.png,80%)
#br
''&color(red){(!)};''「セーブ中」レイアウトは上記のセーブ...
''&color(red){(!)};''マップ間移動を行うイベントで並列シー...
例えば並列シート側でキャストの透明化→マップ移動→キャスト...
これを避けるために[[オートセーブ許可/禁止:https://rpgbaki...
#br
下記の[[強制セーブ:https://rpgbakin.com/pukiwiki/?%E5%88%...
-''強制セーブ''
[[制御]]カテゴリーにあるイベントパネル[[強制セーブ:https:...
-- セーブ先として「オートセーブ専用スロット」も指定するこ...
マップ間移動を伴わない重要なイベントの最後にこのパネル...
-- 「ゲーム定義」でオートセーブがオフの場合でも、オートセ...
これにより「オートセーブ用のスロット」を「セーブデータ...
-''強制ロード''
[[制御]]カテゴリーにあるイベントパネル[[強制ロード:https:...
このパネルとオートセーブ機能を下記のような形で組み合わせ...
・メニューから「セーブ」の項目を消す。
・ゲーム冒頭でかならずオートセーブ枠を対象に「強制ロ...
この2つを行うことにより、データがあればオートセーブか...
-''オートセーブの許可/禁止''
イベントパネルの[[スイッチ]]カテゴリーにある[[オートセー...
----
*バックログ [#q3eddc25]
ゲーム内の会話やメッセージを記録し、あとから見返せるバッ...
**バックログ画面の表示 [#c5ab1e2d]
下記はメニュー画面からバックログ画面を表示する手順です。
+レイアウトツール>画面リストにある「[[バックログ画面:htt...
+「メニュー画面」のレイアウトにて、[[サブメニューコンテナ...
#br
- 下記のイベントパネルを使ってゲーム中表示されたテキスト...
「会話を表示」/「メッセージを表示」/「バックログに文字列...
-- テキストに含まれる制御文字のうち、一部の効果は無効とな...
- バックログ画面ではスクロールバーが使えます。
特殊座標指定タグ"ScrollBar"を設定した描画コンテナを置く...
バックログ画面のシステムレイアウトを参考にしてください。
またバックログ画面では左右キーでページ単位で表示位置を...
- ゲーム定義>[[ルールと描画]]の「バックログの最大保持数...
この項目で設定する数値は「バックログに記載されるテキス...
***バックログで出来ること:そのほか [#m2d8e55b]
-''バックログだけに表示するテキスト''
ゲーム中には表示されないが、バックログにだけは記録される...
下記の方法を使うことで、たとえば「第一章終わり」のような...
-- 「[[バックログに文字列を追加:https://rpgbakin.com/puki...
-- [[制御文字:https://rpgbakin.com/pukiwiki/?%E6%96%87%E...
-''バックログには記録しないテキスト''
ゲーム中には表示されるが、バックログには記録しないテキス...
下記の方法を使うことで、例えば「アクションはAボタン」のよ...
-- [[制御文字:https://rpgbakin.com/pukiwiki/?%E6%96%87%E...
//-''バックログに話者アイコンを表示する''
////\-\z[200]\I[9,15]\-\z[100]\NPL[Isabella]What? Have y...
終了行:
このページにはBakinの機能を組み合わせて使うことでさまざま...
下記に登場するサンプルプロジェクト「Orb Stories」「ダンジ...
#Contents
----
*ゲーム動作が重い際の対処法 [#d3d1da02]
ゲームの動作が重くなる原因は、ゲームエンジン(この場合Bak...
またグラフィックボードのドライバーなどが影響する可能性も...
そして、ゲームの作り方によっても動作が重くなることがあり...
本項では、ゲーム作成時に考慮すべき工夫についてご紹介しま...
ただし、「これをすれば確実に改善する」という特効薬はあり...
「このゲームにおいて大事なものは何か」を把握し、地道に調...
**「ゲーム動作が重い」とは [#i1759f0a]
「ゲーム動作が重い」という場合、主に以下の2つのパターンが...
-''ゲーム処理の遅延''
描画がスムーズでない、操作がカクつくなどのケースは、ゲー...
主にCPUやGPUに高い負荷がかかっている状態であり、これらの...
-''ローディングの遅延''
起動に時間がかかる、マップ間のローディングが長いなどのケ...
主にストレージやメモリに負荷がかかっている状態であり、ス...
**考え方の基本 [#vf425849]
-''不要なものを削減・間引く=重要な要素を見極める''
以下の要素を削減・間引くことで、負荷を軽減できます。
#br
・画面にほとんど表示されないもの、遠くにしか表示されない...
・ゲーム中、プレイヤーが接触しないもの
・頻繁なチェックが必要ないイベント
#br
つまり、「ゲームプレイにおいて重要な要素は何か」を見極め...
#br
-''まとめられるものはまとめる''
以下の要素は、まとめて1つのアセットにすることで負荷を軽減...
例えば
・「テーブルの上に散らばる小物」や「多数の茂み」など、個...
・ウィンドウの「枠」と「装飾」など、個別に画像として管理...
#br
これらの作業は、グラフィックやモデルの加工を伴うため、や...
しかし、例えばVroid StudioからVRMモデルをエクスポートする...
#br
そしてゲーム制作中、常にこれらの点を考慮しながら作業する...
カメラの動きやオブジェクトの配置が変われば、「何が不要か...
#br
しかし、ゲーム内容が概ね固まった段階で、負荷軽減のために...
負荷軽減を行う際には、[[パフォーマンスメーター:https://rp...
#br
-''本当に見直しが必要か?''
負荷の見直しをする際に、まずゲームをプレイしてフレームレ...
ご自身が考えられているフレームレートと同等の速度が出てい...
見直しに伴う修正作業の手間と見直した結果による効果を天秤...
#br
[[ミニメーター:https://rpgbakin.com/pukiwiki/?%E3%83%9E%E...
***マップ上の配置物の見直し [#x90adcf1]
-''不要な物の削減''
画面に表示されないオブジェクトは削除しましょう。また、表...
例えば、「茂み」のスタンプを多数配置している箇所がある場...
''&color(red){(!)};''サブグラフィックを使用して複数のスタ...
#br
-''パーティクルのPrewarm設定の見直し''
[[パーティクル]]のPrewarmは、マップ読み込み時に設定された...
例えば、5秒と設定した場合、5秒 x 60フレーム = 300回分の処...
この値を適切に設定することで、マップ移動時の負荷を軽減で...
Prewarmについては、[[パーティクル:https://rpgbakin.com/pu...
#br
-''不要なイベントの物体化''
「イベント」のコリジョンは、「物体」のコリジョンよりも負...
マップ上で侵入してほしくない箇所を塞ぐ際、コリジョンのみ...
透明なFBXモデルを作成し、リソース>3Dスタンプでグラフィッ...
リソース>地形のプロパティーで「通行可能」をNOに設定した...
通行不可の地形の上に配置された3Dスタンプのプロパティーで...
#br
-''「物体」のコリジョンを簡易なものに変更する''
リソース>[[3Dスタンプ]]のプロパティーで、簡易コリジョン...
プロジェクトを新規作成した際に含まれる3Dスタンプの中には...
これらのスタンプには、簡素なコリジョン用モデルが別途割り...
その場合は、必要に応じてコリジョンを「Box」などの簡易な形...
リソース>[[物理設定]]で単純なコリジョンを組み合わせたコ...
作成したモデルは、リソース>[[3Dスタンプ]]で「正確なコリ...
#br
-''「コリジョン不要な場所に配置する「物体」のコリジョンを...
例えば、一本道の両脇にプレイヤーが侵入できない森が広がっ...
このような場所には、コリジョンのない「物体」を用意して配...
リソース>[[3Dスタンプ]]で「正確なコリジョン設定」をONに...
#br
-''レンダリング設定の見直し''
ポストエフェクトは描画負荷が高いため、レンダリング設定を...
レンダリング設定の見直しには、[[プロファイラー:https://rp...
#br
-''マップサイズの削減''
マップサイズが不必要に大きくないか検討すると良いでしょう。
マップが広くなると、マップに配置するオブジェクトも多くな...
#br
-''カメラと配置物の位置調整''
カメラワークや壁、遮蔽物の位置を調整して、画面に一度に表...
***イベントの見直し [#jee6c565]
-''衝突設定の最適化''
イベントシートの[[衝突判定:https://rpgbakin.com/pukiwiki_...
本当に衝突判定が必要なイベントか、再検討することをお勧め...
例えば、プレイヤー以外が接触しないスイッチイベントは、「...
また、イベントシートを分割し、条件によって衝突判定の有効/...
#br
-''並列イベントの最適化''
並列実行イベントや、並列して繰り返し実行されるイベントは...
例えば、プレイヤーに特定の「状態」が付与されているかをチ...
このようなイベントの冒頭に「指定した時間待つ」パネルを「0...
また、イベント条件を適切に設定することで、同時に動作する...
***レイアウトの見直し [#h2ab6a69]
-''レイアウトパーツの削減''
例えば、ウィンドウを「枠」「装飾A」「装飾B」の3つのレイア...
また、1つの画面に表示する情報量が適切であるか検討すること...
[[プロファイラー:https://rpgbakin.com/pukiwiki/?%E3%83%9E...
イベントを使用して複数のレイアウトを同時に表示すると、表...
#br
-''特殊書式の削減''
特殊書式を使用するパーツは、処理負荷が高くなります。
例えば、30個のアイテムを一度に表示するアイテムリストを、1...
***素材の見直し [#f9cf8b2d]
-''内部フォーマットの採用''
ゲーム定義>[[プロジェクト設定]]で「内部フォーマットを使...
この機能により、ローディング時の負荷を軽減できます。
詳しくは、プロジェクト設定>[[内部フォーマットの設定:http...
#br
-''使用する素材の軽量化''
画面内で小さくしか表示されないオブジェクトに大きなテクス...
#br
-''マテリアルの統合''
1つのモデルに複数のマテリアルが設定されている場合、それら...
#br
-''透明部分の削減''
透明・半透明なオブジェクトは、描画負荷が増加します。シェ...
詳しくは、[[プロファイラー:https://rpgbakin.com/pukiwiki/...
#br
-''画像の統合''
複数のパーツに分割されている画像を1つの画像に統合すること...
----
//*ゲームの動作が重い際の対処法 [#r9db5301]
//ゲームプレイをしてみて操作に対してゲームの動作が遅い・...
//***コリジョン(当たり判定)の見直し [#md407955]
//コリジョンは処理時間に対する影響が大きい要素です。
//まず「イベント」のコリジョンは「物体」のコリジョンと比...
//またコリジョンのサイズの大きさや形状の複雑さも処理に影...
//そのため下記の対策をとってみてください。
//-「イベント」である必要ないものは「物体」に置き換える
//-- マップ上の侵入してほしくない箇所をふさぐ際、コリジョ...
//''&color(red){(!)};''イベントテンプレート「見えない壁」...
//---リソース>[[3Dスタンプ]]でグラフィック「なし」を選ん...
//---透明なFBXモデルを作成し、リソース>[[3Dスタンプ]]で...
//---リソース>[[地形]]のプロパティーで「通行可能」をNOに...
//通行不可の地形の上に置かれた3Dスタンプのプロパティーの...
//-「物体」のコリジョンを簡易なものに変える
//--リソース>[[3Dスタンプ]]のプロパティーで簡易コリジョ...
// プロジェクトを新規作成した際に含まれる3Dスタンプの中...
// これらは簡素なコリジョン用モデルを別途作成して割り当...
// その際は適宜コリジョンを「Box」等簡易なものに変更して...
//#br
// リソース>[[物理設定]]でシンプルなコリジョンを組み合...
// 作ったモデルはリソース>[[3Dスタンプ]]で「正確なコリ...
//
//-コリジョン不要な個所に置く「物体」のコリジョンを削除する
//例えば、一本道の両脇にプレイヤーが侵入できない森が広が...
//こういった箇所にはコリジョンの無い「物体」を用意して配...
//リソース>[[3Dスタンプ]]で「正確なコリジョン設定」をON...
//
//またゲームプレイをするPCのスペックが処理時間に影響を与...
*プレイヤーを透明にする [#w28c059b]
「ダンジョンRPGサンプル」では一人称カメラにした際プレイヤ...
-「ダンジョンRPGサンプル」のデータベース>キャストの「ケ...
移動用グラフィックをクリックすると、DungeonPlayer_2Dと...
-次にリソース>2DスタンプでDungeonPlayer_2Dを見てみるとグ...
またサブグラフィックもグラフィックに何も指定せずに、ロ...
これはプレイヤーが明かりを持っているように前を照らすた...
-このグラフィック指定をせずにサブグラフィックのローカルラ...
このスタンプをイベント化した状態でマップに配置しておき...
そしてボスを倒した後はサブグラフィックをオンにしローカ...
----
*グリッド移動 [#bae9f034]
グリッド単位の移動(地形のマス目単位に動く)は共通イベン...
-[[コモンイベントパレット]]で追加ボタンから「グリッド移動...
このイベントは、プレイヤーの操作を禁止した上で、改めて押...
#ref(./イベントテンプレート_グリッド移動.jpg,70%)
-歩くスピードを変更したい場合は、カスタムイベントにした後...
ただし現状あまりスピードを遅くすると段差が登れないケース...
**「グリッド移動」と「通常移動」をマップごとに切り替える ...
平原では通常移動を使い、洞窟に入るとグリッド移動にすると...
+ 「グリッド移動」イベントテンプレートをカスタムイベント...
+ 下図のように「通常移動」イベントシートを追加します。使...
#ref(./グリッド移動切り替え.jpg,70%)
+ ダンジョンマップ(グリッド移動をするマップ)に入る際の...
+ 平原マップ(通常移動をするマップ)に入る際のイベントで...
----
*『ダンジョンRPGサンプル』のバトル [#w0850cb6]
以下は『ダンジョンRPGサンプル』に実装されているバトルに関...
**バトル中のパーティに「前列/後列」の概念を導入する [#ta1...
「ダンジョンRPGサンプル」のバトルでは、パーティ側に前列/...
後列のメンバーは射程の長い武器を使わないと敵を攻撃できま...
これらの仕組みは下記の機能を設定することで実現しています。
***バトルレイアウトで味方パーティメンバーの立ち位置を設定...
ゲーム定義>[[ルールと描画]]>バトルレイアウトの設...
バトル中の表示位置だけではなく、敵味方の距離もここ...
ダンジョンRPGサンプルでは下記の画像のような配置をし...
#br
#ref(./バトルレイアウト.png,70%)
***射程を設定する [#i50a14a0]
射程の概念をバトルに導入するにはまず、ゲーム定義>[...
そして「射程判定タイプ」を後述する「列」または「距...
「列」と「距離」の違いはゲーム定義>[[ルールと描画]...
次にデータベース>アイテムや、データベース>キャス...
射程の単位はバトルレイアウトのグリッドです。
「ダンジョンRPGサンプル」のバトル中にメンバーの上に...
----
**パーティの並び替え [#w8406267]
前列/後列の概念がバトルに入ると、深いダメージを負ったメン...
「ダンジョンRPGサンプル」ではバトルコマンドとして「場所入...
***バトルコマンド「場所の入れ替え」を有効にする [#xae9f1c4]
バトル中に並び替えコマンドを使えるようにするには、デー...
***「状態」による自動的並び替えを有効にする [#h32d4878]
バトル中の状態によって自動的にメンバーを後列に送るには...
またその際、必要に応じて「状態解除時に元の並びに戻す」...
そして、どの「状態」になったら後方に下がるのかは、デー...
----
**バトルマップの作り方(一人称視点のバトル) [#od07c742]
ここでは『ダンジョンRPGサンプル』のバトルシーンで使われる...
-''一人称視点でのバトルマップを作る際は下記を念頭において...
--3D空間上に背景とキャストが表示されていること
--背景画像も3D空間に置かれている物体であること
--3D空間を平行投影カメラ(パースのないカメラ)でとらえて...
--バトル中のキャストは''空中には浮かず地面に着地する''こと
--パーティーメンバーのグラフィックはイベントもしくはデー...
#ref(./DRPGBattle_1.jpg,70%)
***1.背景イメージの用意 [#v1dbb9fe]
リソース>イメージにて背景画像をBakinに追加します。
- ''背景画像を複数使う場合、画像サイズは揃えておく''
これによりバトルシーンをとらえるカメラの画角を1つ決めれ...
- ''背景及び敵キャストのイメージのプロパティの「SRGB」は...
マップ上に置かれる(ライティングの影響を受ける)画像は...
※リソースのツリー上で複数のイメージを選択した上でプロパ...
#ref(./ダンジョンRPGBattle_2.jpg,70%)
- ''背景画像を2Dスタンプにする''
リソース>イメージのファイルツリーの上部にあるスタンプ化...
***2.マップ作成と背景イメージの配置 [#d875ea15]
マップエディタ>マップリストでバトルフィールドとして使う...
マップの地形の高さ(Y)は"0"まで下げます。
#ref(./DRPGBattle_3.jpg,70%)
- ''バトルマップ上に先ほど作ったバトル背景の2Dスタンプを...
マップに背景スタンプをおき、わかりやすく下記の位置に移動...
''X'': マップサイズのX軸の幅の中央。たとえば25x25のマップ...
''Z'': 0
''Y'': 背景画像の中で敵が立つ位置がマップの地平面と重なる...
#br
『ダンジョンRPGサンプル』のバトルマップで背景画像の下端が...
マップの地形を高さ0にすると地平面が透明になるため、地面に...
- ''バトルマップのレンダリング設定において「DOF」を「オフ...
マップエディタのマップ設定パレット>レンダリング設定にて...
背景をぼかした感じにしたい場合、背景画像をぼかしをかけた...
#ref(./ダンジョンRPGBattle_4.jpg,70%)
- ''バトルマップのレンダリング設定を適宜調整する。''
「DOF」以外の項目も必要に応じて適宜調整してください。
『ダンジョンRPGサンプル』のバトルマップDungen_2DBattleMap...
***3.バトルレイアウトの調整 [#e720a513]
バトル時の敵味方の立ち位置はバトルレイアウトで指定しま...
バトルレイアウトはゲーム全体共通で使うならゲーム定義>[...
- ''ゲーム全体共通で同じバトルレイアウトを使う''
+ゲーム定義>[[ルールと描画]]>バトル関連>「デフォル...
+下にある項目「バトルレイアウトの設定」をクリックし、...
+ダイアログ上で''「敵の数ごと」''に敵の立ち位置を設定...
+各マップのマップ設定>敵分布タブ>選択された出現エリ...
-- ''敵画像のサイズを考慮して、立ち位置を調整する''
バトルレイアウトを設定する際は、敵の「画像の大きさ」を...
#br
例えば大きい画像を使ったとき、バトルレイアウトで立ち位...
『ダンジョンRPGサンプル』では下図のように間を空けて設定...
#ref(./バトルレイアウト.png,70%)
***4.バトルマップ上のバトル位置の調整 [#a04c8d78]
''バトルが発生するマップ(敵分布のエリア)/イベント''ごと...
バトルマップではなく、''バトルが発生するマップ/イベント...
#br
例:「マップ1」を移動中にエンカウントバトルが発生し、バト...
#ref(./ダンジョンRPGBattle_5.jpg,70%)
-- ''バトルが発生する側のマップでのバトル位置の調整''
マップ設定>敵分布タブ>バトル背景をクリックし、開いたダ...
赤い点がバトルレイアウトの中心点です。
--''&color(red){(!)};''中心点は背景とカメラの間の位置に置...
背景よりもバトルの中心を奥に置くと敵キャスト等は背景に隠...
逆にカメラの位置より手前においてしまうと、カメラに映りま...
-- ''&color(red){(!)};''敵分布タブの「敵の分布エリア」で...
-- ''イベントバトルでのバトル位置の調整''
イベントにて[[バトル実行と結果の確認:https://rpgbakin.com...
***5.バトルカメラの設定 [#n810beae]
カメラツールを開き、バトルカメラを設定します。
カメラツールの上部にある「プレビュー用マップの切り替え」...
プロパティの設定は『ダンジョンRPGサンプル』のバトルカメラ...
-''カメラ設定のポイント''
--各カメラのプロパティ「基本設定」にある平行投影をONにする
--注視先は「なし(ワールド座標)」にする。
--オフセットは全て0にする。
--カメラの角度は適宜背景画像をとらえられるように調整する。
--画角を調整し、背景画像が収まるようにする
画角は背景画像の縦サイズを''48''で割ると画面に収まります...
--カメラ位置を調整する
背景画像を正対でとらえる位置に置くのが基本です。
位置Xは背景画像と同じ(25x25のマップなら12.5)、位置Zもマ...
位置Yは下記のように考えます。
---背景画像の縦サイズが1080pixcelだった時、画角は''1080÷4...
---背景画像の位置Yが0だった時、カメラのY位置を画角''22.5÷...
---敵の立ち位置を画像に合わせるために背景画像のY位置を変...
#ref(./ダンジョンRPGBattle_6.jpg,70%)
**バトル背景画像の切り替え [#mbcbcc4b]
「ダンジョンRPGサンプル」では、エンカウントバトルとボス...
これはイベントを使って実現しています。
-まずバトルマップとして使用している「Dungeon_2DBattleMap...
そのイベント内に変数値によって起動するイベントシートを複...
-そのうえでバトルが発生するイベントにて、背景に使いたいイ...
----
**バトルでのダメージ表示 [#iad7936d]
「ダンジョンRPGサンプル」ではバトルシーンにて、パーティの...
- これはレイアウトツール>バトルステータス画面に特殊座標...
レイアウトパーツリストに「ダメージ表示位置」というコンテ...
----
*レイアウト上に表示する項目の絞込み [#ub90277f]
「ダンジョンRPGサンプル」では、「アイテムリスト」や「図鑑...
これはデータベースの「管理タグ」とレイアウトツールの機能...
**データベースの管理タグ [#nda5276c]
データベースの項目ツリーの下に位置する管理タグ+メモ...
またアイテムは基本設定の「消耗品」「武器」「防具」の...
**レイアウトツールでのタグによる絞込み [#w6df7914]
タグがついた項目のうちどれを表示するかをレイアウトツ...
アイテム選択画面などのレイアウトプロパティーにある「...
タグを複数指定するとAND条件(「〇〇かつ××」)になるこ...
**「図鑑」画面への表示 [#s40887f6]
「図鑑」タイプのレイアウトでは、データベースの各項目...
ダンジョンRPGサンプルの図鑑、すなわち「探索手帳」のモ...
これを実現するために、まずデータベース>キャストでい...
そしてレイアウトツール>キャスト図鑑のレイアウトプロ...
----
*強化アイテム [#hea54bae]
「ダンジョンRPGサンプル」では「ナイフ+1」のような強化され...
下記のような機能を組み合わせてこれを実現しています。
**強化可能アイテムに指定する [#c3385359]
あるアイテムを強化できるアイテムにしたい場合は、まず...
**アイテムの「カスタムイベント」を使った強化 [#b4831b39]
宝箱から出てくるアイテムについては、データベース>[[...
カスタムイベントはアイテムを取得したときに起動します。
イベントの中では乱数とループを使って”+1”から”+3"まで...
**強化するアイテム選択画面とコモンイベントを使った強化 [#...
B1マップでのアイテム強化イベントはレイアウトツールと...
レイアウトツール>「強化するアイテム選択」画面のサブ...
またレイアウトプロパティー「変数指定」に、コモンイベ...
強化するアイテム選択画面は、コモンイベントとの組み合...
アイテムのどの能力を強化するかはイベント内容で自由に...
アイテムの強化についてはサンプルイベントを共通イベン...
''(注意)''
強化したアイテムはそれぞれ別の種類のアイテムとして扱...
ゲーム定義>ルールと描画にて設定できるアイテム袋の容...
すなわち強化したアイテムはそれぞれ"1種類"とカウントさ...
----
*ミニマップ [#o77834b0]
画面上にオートマッピング付きのミニマップを表示しています。
マップ上に発見したドアや宝箱のアイコンも表示されるように...
これらは下記の機能を組み合わせて実現しています。
**ミニマップの表示 [#c3eee726]
レイアウトツールで文字列の描画用パネルに特殊書式\mini...
ミニマップのサイズや表示位置はパネルの設定が反映され...
「ダンジョンRPGサンプル」では、レイアウトツール>イベ...
**ミニマップの表示内容の設定 [#e04d351f]
-ミニマップ上で通行可能/不可の箇所を表す色やグリッドの画...
-ミニマップ上のプレイヤーアイコンを「プレイヤーの向き」に...
-地形の上を通行できるかどうかについての設定はリソース>[[...
-マップのどこまでをミニマップで表示するかについては、マッ...
演出などのために、プレイ中歩き回れる範囲を超えたサイズ...
その際不要な範囲をマップに表示しないためにはここで設定...
**ミニマップ上のアイコンの設定 [#k7634711]
-ミニマップ上のドアや宝箱のアイコンは、ゲーム定義>システ...
-システムリソースで設定した画像をどこで表示するかは、イベ...
サンプルゲーム内のドアのイベントをご覧ください。
閉じているとき、開いたときそれぞれのイベントシートの「...
イベントシートごとにアイコンを設定できるようにすること...
----
*足音の設定 [#d0f03dab]
プレイヤーが地形・物体の上を歩いた際に足音を鳴らすことが...
**地形への足音設定 [#je1ad4fc]
リソース>地形のプロパティーにある「効果音」にて足音...
**物体への足音設定 [#tea495c3]
物体の上を歩いた際の足音は、効果音を設定してある「地...
リソース>3D/2Dスタンプの簡易コリジョンのプロパティー...
「地形」に設定された「効果音」が適用されます。
-物体をイベント化した際もこの設定は有効です。
-「地形」に割り当ててある、上を歩いた際に付与される「状態...
これを利用して、例えば、物体の上を歩くと「毒」状態になる...
//---物理設定ではコリジョンごとに割り当てる地形を変えるこ...
//これを利用して物体の中で足音の違う個所を作るといったこ...
**足音の音量や再生速度の調整 [#p5ca20c1]
ゲーム定義>[[移動と操作]]に足音のボリュームと足音の...
またイベントパネル「足音の設定変更」を使って変更する...
個別の足音のボリュームを調整したい場合は、リソース>...
----
*敵に駆け寄って攻撃 [#xb43cc49]
バトルの攻撃時、モンスターに駆け寄って斬りつけるような表...
- まず[[コモンイベントパレット]]でバトルイベントを新規で...
各シートで以下のようなイベントを設定します。
-- 「駆け寄る」シート
---「行動決定時」に、パーティキャストが何をするかを判定。
---「攻撃」をするなら、攻撃対象の敵のナンバーを特定し、そ...
---攻撃をするキャストを操作対象にして、攻撃後の戻り先の座...
---モンスターの座標に向けてキャストを歩かせる。
---最後にイベントスイッチをオンにして、駆け寄ったことを記...
-- 「戻る」シート
---「行動終了時」に、駆け寄ったことを表すイベントスイッチ...
---「駆け寄る」イベントシートで取得した、攻撃前のキャスト...
---最後に駆け寄ったイベントスイッチをオフにします。
-''[ポイント]''
-- このイベントを正しく動かすためには1.4.x以前のバージョ...
''&color(red){バトルスクリプトに改変を加えらえれている...
[[マップエディター メニューバー:https://rpgbakin.com/p...
改変を行っている方は、最新版へのマージをしてください。
-- 「戻る」 シートの「イベントの座標を指定して歩かせる」...
---「移動終了時の向き」は「任意の角度を向く」をONにし、角...
---「モーションを変更しない」にチェックを入れることで戻っ...
- ''サンプルイベントデータを添付しました。''
+まず下記のファイル名を右クリックし「名前を付けてリンク先...
[[walk_attack_jp.txt:https://rpgbakin.com/pukiwiki/?plugi...
+保存したテキストファイルを''バトルイベント''にインポート...
//イベント内容については下記の画像を参考にしてください。
//#ref(./駆け寄って攻撃_駆け寄る.png,80%)
//#ref(./駆け寄って攻撃_戻る.png,80%)
----
*連続ダメージ表現 [#p238537e]
一度のスキル攻撃で連続的にダメージを与える表現はコモンイ...
- まず[[コモンイベントパレット]]でコモンイベントを新規で...
-- 「バトル情報を取得」パネルで使ったスキルの対象となる敵...
-- あとは「バトルキャストのHP/MPを回復/減らす」パネルでそ...
- 設定したイベントを、データベース>スキル>[[基本タブ:ht...
-''[ポイント]''
-- このイベントで与えたダメージが表示された後、スキル自体...
-- スキルエフェクトとイベントでのダメージ表示のタイミング...
イベント内容については下記の画像を参考にしてください。
#ref(./連続ダメージ.png,80%)
----
*レベルキャップ開放イベント [#m4aa8ae4]
キャストや職業の最大レベルを設定した上で、イベントによっ...
[[キャストのステータスの変更:https://rpgbakin.com/pukiwik...
-まず最大レベルを設定します。
--ゲーム定義>[[ルールと描画]]にて、ゲーム内の最大レベル...
--データベース>キャストにてキャストの最大レベルを設定し...
-次にレベルキャップを解放するイベントを作成します。
--「キャストのステータスの変更」パネルで、キャストの「最...
「第一章が終わったら」や、「あるアイテムを手に入れたら」...
例えば下記のようなことを表現できるようになります。
ゲーム全体の最大レベルは99
ゲームスタート時のキャストAの最大レベルは20。
第一章が終わった時点でイベントによって最大レベルが50...
#ref(./最大レベルの変更.png,80%)
----
*地面から生えている草モデルを揺らす [#a823e5c6]
a_n_wind_discard や a_n_rm_wind_discard、map_wind_discard...
『Orb Stories』の3Dスタンプsb_obj_nature002_Grass01aのマ...
-リソース>マテリアル>シェーダーにて、上記のシェーダーを...
根っこの部分は固定されたまま、草の部分が設定の度合いで風...
-ただしこれをONにしても思った通りにY軸が固定されない場合...
インポートするモデルについて、Blenderにて下記の設定されて...
1)モデルの制作時に"原点"を根っこの部分に設定する。
2)BlenderからのFBXエクスポート時の設定項目「トランス...
----
*スキル発動時のカットシーン [#w0ee7f8c]
下記のような設定をすることで、スキル発動時にスプライトア...
『Orb Stories』のスキル「ファイア」にサンプルとしてカット...
#ref(./Skill_Cutscene.png,30%)
- スプライトツールでスプライトを作成する
- 共通イベントでカットシーン用のイベントを作成する
---イベント開始条件は「開始条件なし」にします。
---[[エフェクトを表示:https://rpgbakin.com/pukiwiki/?%E4%...
表示位置を「画面の中心に表示する」に設定し、「完了する...
- データベースでスキルを作成する。
- データベース>[[スキル]]>基本タブ>スキルの効果で「呼...
- 同じくスキル>基本タブ>基本設定で「共通イベント後に発...
#br
「感情マークを表示」パネルの「完了するまで待つ」と、スキ...
----
*オートセーブの使い方 [#z367501a]
-''概要''
ゲーム定義>[[ルールと描画]]にてオートセーブをオンにする...
セーブデータ選択画面の一番上のスロットがオートセーブ用の...
『Orb Stories』にてオートセーブを利用していますので、制作...
-''セーブファイル選択画面''
レイアウトツール>セーブファイル選択画面にて、特殊書式\sa...
オートセーブスロットの表示名はゲーム定義>[[共通用語]]>...
-''オートセーブ実行時の画面表示''
オートセーブ実行時に「セーブ中」のような表示を出したい場...
''&color(red){(!)};''「セーブ中」レイアウトでは、レイアウ...
+レイアウトツール>イベント用フリーレイアウト画面にて「セ...
+オートセーブ前に[[イベント用フリーレイアウトの表示:https...
+オートセーブ後に同じく[[イベント用フリーレイアウトの表示...
-''オートセーブのタイミング''
・マップ間移動パネルを含むイベントの最後にオートセーブス...
対象となるイベントに続く形で自動的にイベントが発生するケ...
下記のイベントではイベント終了時にセーブが行われます。
#ref(./Tips_オートセーブ.png,80%)
#br
''&color(red){(!)};''「セーブ中」レイアウトは上記のセーブ...
''&color(red){(!)};''マップ間移動を行うイベントで並列シー...
例えば並列シート側でキャストの透明化→マップ移動→キャスト...
これを避けるために[[オートセーブ許可/禁止:https://rpgbaki...
#br
下記の[[強制セーブ:https://rpgbakin.com/pukiwiki/?%E5%88%...
-''強制セーブ''
[[制御]]カテゴリーにあるイベントパネル[[強制セーブ:https:...
-- セーブ先として「オートセーブ専用スロット」も指定するこ...
マップ間移動を伴わない重要なイベントの最後にこのパネル...
-- 「ゲーム定義」でオートセーブがオフの場合でも、オートセ...
これにより「オートセーブ用のスロット」を「セーブデータ...
-''強制ロード''
[[制御]]カテゴリーにあるイベントパネル[[強制ロード:https:...
このパネルとオートセーブ機能を下記のような形で組み合わせ...
・メニューから「セーブ」の項目を消す。
・ゲーム冒頭でかならずオートセーブ枠を対象に「強制ロ...
この2つを行うことにより、データがあればオートセーブか...
-''オートセーブの許可/禁止''
イベントパネルの[[スイッチ]]カテゴリーにある[[オートセー...
----
*バックログ [#q3eddc25]
ゲーム内の会話やメッセージを記録し、あとから見返せるバッ...
**バックログ画面の表示 [#c5ab1e2d]
下記はメニュー画面からバックログ画面を表示する手順です。
+レイアウトツール>画面リストにある「[[バックログ画面:htt...
+「メニュー画面」のレイアウトにて、[[サブメニューコンテナ...
#br
- 下記のイベントパネルを使ってゲーム中表示されたテキスト...
「会話を表示」/「メッセージを表示」/「バックログに文字列...
-- テキストに含まれる制御文字のうち、一部の効果は無効とな...
- バックログ画面ではスクロールバーが使えます。
特殊座標指定タグ"ScrollBar"を設定した描画コンテナを置く...
バックログ画面のシステムレイアウトを参考にしてください。
またバックログ画面では左右キーでページ単位で表示位置を...
- ゲーム定義>[[ルールと描画]]の「バックログの最大保持数...
この項目で設定する数値は「バックログに記載されるテキス...
***バックログで出来ること:そのほか [#m2d8e55b]
-''バックログだけに表示するテキスト''
ゲーム中には表示されないが、バックログにだけは記録される...
下記の方法を使うことで、たとえば「第一章終わり」のような...
-- 「[[バックログに文字列を追加:https://rpgbakin.com/puki...
-- [[制御文字:https://rpgbakin.com/pukiwiki/?%E6%96%87%E...
-''バックログには記録しないテキスト''
ゲーム中には表示されるが、バックログには記録しないテキス...
下記の方法を使うことで、例えば「アクションはAボタン」のよ...
-- [[制御文字:https://rpgbakin.com/pukiwiki/?%E6%96%87%E...
//-''バックログに話者アイコンを表示する''
////\-\z[200]\I[9,15]\-\z[100]\NPL[Isabella]What? Have y...
ページ名: