ロジック
オブジェクトを配置しただけの状態のレベルは、勝利判定やリスポーンの設定がなく、まだ不完全です。
そこでロジックの出番です。
ロジックを組むことで、作成したレベルにゲーム性を持たせる事ができます。
また、応用すればレベルに特有のギミックを付加することも可能です。
ロジックは、「トリガー」と「イベント」の組み合わせから構成されています。
トリガーとイベントは、「○○なら△△が実行される」の関係にあります。
「○○なら」の部分がトリガーに相当し、「△△が実行される」がイベントに相当します。
Trigger(トリガー)
レベルエディタには多くのオブジェクトが用意されており、オブジェクトによって設定できるトリガーの種類が異なります。
例えば、燃えるオブジェクトはオブジェクトが燃えた事をトリガーとして設定できます。
※ここでは、説明に「コライダー」という単語を用います。コライダーとは「物理的な当たり判定」だと解釈してください。
例えば、Cloudのようなオブジェクトは見る事は出来るますが、触れても何の当たり判定もありません。これはCloudにコライダーが設定されていないためです。
+
|
トリガーリスト |
トリガー名 |
トリガーの発動条件 |
ON LEVEL START |
シミュレーションをスタートした時に発動 |
ON ACTIVE |
ロジックを設定したオブジェクトがアクティブになった時に発動 |
ON DEACTIVE |
ロジックを設定したオブジェクトがディアクティブになった時に発動 |
ON VARIABLE |
変数の大小比較(>,≧,=,≦,<)を行い、その結果が正しい時に発動 円にメッシュの入ったマークはグローバル変数を表し、レベル全体で共用している変数を参照する。 曲線のマークはローカル変数を表し、ロジックを設定しているそのブロックでのみ使用している変数を参照する。 |
ON DESTROY |
破壊可能オブジェクトのみ設定可能。ロジックを設定したオブジェクトが破壊された時に発動 |
ON IGNITE |
木製オブジェクト及び生物のみ設定可能。ロジックを設定したオブジェクトに火が着いた時に発動 |
ON DEATH |
生物のみ設定可能。ロジックを設定したオブジェクトが死亡した時に発動 |
BEHAVIOR |
生物のみ設定可能。実行できるイベントはBEHABIORイベントに限られる |
ON EXPLODE |
BOMB及びEXPLOSIVE BARREEL、生物のみ設定可能。爆発や炸裂したした時に発動 |
ON ENTER 詳細条件 |
vitrualオブジェクトのみ設定可能。 オブジェクトの判定範囲の内側に、 ブロックまたはコライダーの設定されたレベルオブジェクトが存在する時に発動 |
ON EXIT 詳細条件 |
vitrualオブジェクトのみ設定可能。 オブジェクトの判定範囲の内側に存在したブロックまたはコライダーの設定されたレベルオブジェクトが、 外側に移動した時に発動 リスポーンによる消失では反応しない。 |
ON START SIMULATION |
BUILD ZONEのみ設定可能。詳細求む |
ON STOP SIMULATION |
BUILD ZONEのみ設定可能。詳細求む |
ON MACHINE DAMAGE |
BUILD ZONEのみ設定可能。そのBUILD ZONEに入ったプレイヤーのHPが設定したHPを下回った時に発動 HPの基本的な仕組みはマシンを構成する全ての接着判定に対する剥離した接着判定の割合である。 ダメージによる自動リスポーンで重宝する。バニラ環境ではリスポーンのHPを10~15%に設定する事が多い。 |
ON KEY PRESSED |
BUILD ZONEのみ設定可能。そのBUILD ZONEに入ったプレイヤーが設定したキーを押した時に発動 トリガーとなるキーは選択可能。任意リスポーンで使われることが多い。 |
ON KEY PRESSED |
BUILD ZONEのみ設定可能。そのBUILD ZONEに入ったプレイヤーが設定したキーを離した時に発動 トリガーとなるキーは選択可能。 |
ON ENTER / ON EXIT の詳細条件 〇はトリガー発動を、×はトリガー発動せずを示す。
トリガーの詳細条件 |
STARTING BLOCK |
STARTING BLOCK以外のブロック |
大砲の弾及び弓矢 |
レベルオブジェクト |
STARTING BLOCK |
〇 |
× |
× |
× |
ANYTHING |
〇 |
〇 |
〇 |
〇 |
ANY BLOCK |
〇 |
〇 |
× |
× |
ANY LEVEL OBJECT |
× |
× |
× |
〇 |
ANY PROJECTILE |
× |
× |
〇 |
× |
チームカラーを設定できる場合は、グレー(無所属チーム)、赤(赤チーム)、緑(緑チーム)、橙(橙チーム)、青(青チーム)のブロックにのみ反応する。 どのチームのブロック/オブジェクトも反応させたい場合は、+マークから同様の条件を設定する必要がある。(例として赤チームと青チームのスターティングブロックが反応するトリガーの画像を貼る)
|
Event(イベント)
レベルエディタのロジックでは、一つのトリガーに対して複数のイベントを設定することができます。
例えば、INSIGNIAに以下のようなロジックを組むことができます。 //画像を貼りたい
「プレイヤーが紋章の中に入ったら(トリガー)、3秒待って(イベントA)、プレイヤーを給弾して(イベントB)、紋章が消える(イベントC)」
この場合、イベントは設定した順番に上から実行されます。
もしイベントを同時に実行して欲しい場合は、そのイベントの数だけトリガーを用意する必要があります。
+
|
イベントリスト |
Increase Completion Progress |
実行されると達成度(画面下部のゲージ)が設定した色別に数値分増減する |
Victory |
実行されると設定した条件の高いチームが勝利となる |
Wait |
指定した秒数分、ロジックの処理に間隔を設ける |
Deactivate |
指定したオブジェクトを無効化する |
Reset |
指定したオブジェクトをリセットする。リセットされたオブジェクトは位置や角度、状態がレベル開始時に戻る。 |
Respawn Player |
指定したバウンディングボックスのプレイヤーをリスポーンさせる。 オブジェクトカテゴリの「trigger」の場合、Trigger Resultを指定することで、トリガーを発動させたプレイヤーを指定できる |
set respawn |
Update 0.85にて追加。マシンのリスポーン位置を「TARGET」欄で指定した「respawn zone」トリガーオブジェクトへと変更する。このイベント単体ではリスポーン自体は行われないので、すぐにリスポーンさせたい場合は指定後に「Respawn Player」イベントを実行する必要がある。 |
Reload Player |
指定したバウンディングボックスのプレイヤーに指定の弾薬を補給する。オブジェクトカテゴリの「trigger」の場合、Trigger Resultを指定することで、トリガーを発動させたプレイヤーを指定できる |
Transform |
指定したオブジェクトを移動させる。Instant:即座に移動/Duration;指定した秒数をかけて移動/Force:物理ベクトルとして移動する力をかける/の三種類がある。 |
Modifie Variable |
指定した変数の数値を変更する |
Randomise Variavile |
指定した変数の数値を範囲内でランダムに変更する |
repeat |
指定回数分ロジックの先頭から再びリピートする |
|
グローバル変数とローカル変数
Q.変数とは?
A.変数は、「数字を保存できる箱」だと考えてください。
そして、その箱には名前を付ける事ができます。
例えば、{DeathCount}という名前の変数を定義したとします。
プレイヤーのHPが尽きるたびに、{DeathCount}を+1する、というロジックを組むと、プレイヤーが死ぬ度に{DeathCount}は1ずつ増えていきます。
この変数をトリガーに使用すれば、プレイヤーが10回死んだらゲームを終了する、といったロジックを組むことができます。
Q.グローバル変数、ローカル変数とは?
A.変数にはグローバル変数とローカル変数の2種類があります。
グローバル変数はどこからでも参照できる変数です。
ローカル変数は、そのオブジェクト内でのみ参照できる変数です。
グローバル変数はマップ全体で共有されるため、例えばチームゲージの管理やマップギミックの管理等に使うのが妥当です。
一方、ローカル変数は、同じ名前の変数だとしてオブジェクトごとにそれぞれ違う変数として計算されまるので、バウンディングボックスのリスポーンロジックをローカル変数で管理すれば、バウンディングボックスをコピーするだけでそれぞれのプレイヤーが独立してリスポーン操作を行うことができます。
Q.グローバル変数、ローカル変数はどうやって設定するの?
A.Besiegeではデフォルトの状態では変数はグローバル変数として扱われます。
変数の設定方法について、トリガーとして使う場合、イベントとして使う場合でそれぞれ説明します。
[トリガーにおいて]
地球儀のようなマークがグローバル変数、指紋のようなマークがローカル変数であることを示しています。
グローバル、ローカルの切り替えはこのマークをクリックすることで行います。
[イベントにおいて]
変数を変更するイベントにおいて、SCOPE OF CHANGEの下の欄が ≪GROBAL≫となっているときはグローバル変数です。
ローカル変数にするには、この欄をクリックし、次にローカル変数を設定したいオブジェクトを次にクリックすると反映されます。
武器のリロードの種類
レベルエディタでは、「イベント」の「リロード」を活用することで、シングルプレイでは不可能な、武器のリロードを行うことができます。リロードロジックでは、設定変更によりどの武器種に何発のリロードを行うかを設定することができます。
+
|
リロードロジック詳細 |
マシン |
各武器に1発ずつ弾が補給される。 武器の数よりも指定した補給数が少ない場合は、その分だけ設置順が若い武器の補給がされなくなる。 |
各武器 |
各武器に指定した数の弾がそれぞれ補給される。 |
|
すべて |
|
キャノンおよび榴散弾キャノン |
|
フレイムスロワー |
|
クロスボウ |
|
上記3種類のうちからランダム |
|
トランスフォームの種類
最終更新:2020年02月27日 13:44