NGLE講座
■条件とトリガ
条件とは
NGLEでは、TRLEにはなかった条件という新しい考えがあります。
英語でいうIFみたいなものです。もし○○○なら□□□、そうでなければ△△△というものです。
この条件の指定がNGLEでは色んな所で出来ます。
私もよくわかっていないので、正確な情報は実際に海外のフォーラムなどで調べてください。
CONDITIONトリガ
まずはCONDITIONトリガ。
ところが、このCONDITIONトリガは一つのセクターに一つしか設定できません。
複数の条件を設定することができないのです。
そこで、次に登場するのが、TriggerGroupコマンドです。
TriggerGroupコマンドは複数のトリガを処理できるため、条件をどんどん追加できます。
条件の一杯詰まったTriggerGroupコマンドをマップ内で呼び出すのが、FLIPEFFECTトリガです。
混乱しそうなのですが、そのFLIPEFFECTトリガにCONDITIONトリガを重ねることができたりします。
つまり、条件の一杯詰まったTriggerGroupコマンドを条件のついたCONDITIONトリガで呼ぶわけです。
なんだか、2度手間ですね。
その場合は、TriggerGroupコマンドに条件を詰め込んでFLIPEFFECTトリガで呼べばいいでしょう。
そうすれば、条件はTriggerGroupコマンド内だけになります。
いろんな条件指定トリガ
この他にフラグメンテッドトリガ、バーティカルトリガというのもあります。
説明しやすくするため、フラグメンテッドトリガ、バーティカルトリガという名前がついているだけで、どちらもCONDITIONトリガです。
よく似た機能を持つトリガにコリジョントリガというのがありますが、こちらはCONDITIONトリガではなく、FLIPEFFECTトリガの一種です。
スクリプトコマンド内の条件
ここはトリガの項目のため関係ないかもしれないのですが、条件つながりでもう一つ。
実はスクリプトコマンドにもTriggerGroup以外に条件を追加できるものがあります。
それは、TestPositionコマンドです。
こちらは、ララのアニメーションに関するもののため、CONDITIONトリガと処理する対象が少し違います。
それでも、ララが何処にいるのかという、場所を限定しているという点では条件と言えそうです。
そして、このTestPositionコマンドにも複数の条件をつけることができます。
それが、MultEnvConditionコマンドです。
AnimationCommand.htmを読むとわかるのですが、MultEnvConditionコマンドを使って複数の条件を設定し、それをAnimationコマンドで実行しています。
さらに、GlobalTriggerコマンドにも条件を追加することができます。こちらは、TriggerGroupコマンドの条件によって動作するので、これまでのCONDITIONトリガと同じような感じで動作します。
まとめ
条件を設定する際は、まず対象が何であるかをはっきりさせましょう。
例えば、ララへの衝突なのか、ララのアニメーションなのか、ララの足場なのか。
- ララのアニメーションならTestPositionコマンド。
- ララの足場ならフラグメンテッドトリガ。
といった感じになるでしょう。
そして、その条件は、レベル単体の条件なのか、複数のレベルにまたがる条件なのか。
複数のレベルにまたがるなら、GlobalTriggerコマンドが必要でしょう。
このように対象によって条件を設定するスクリプトコマンドや、トリガが変わってきます。
そして、条件は最初は一つから始めていくと良いでしょう。
単純な条件でCONDITIONトリガやスクリプトコマンドの使い方に慣れてください。複雑な条件を設定するのはそれからです。
おそらく、複雑な条件はTriggerGroupコマンドぐらいしか設定できないでしょう。
AND、OR、NOTなどの論理演算子は、TriggerGroupコマンドしか設定できないからです。論理演算子の書き方についてはNGLEエンサイクロペディアのコンディションの項に詳しい説明があります。
あとは、プレイヤーがビルダーの思い通りにララを操作するとは限らないということです。
どんなに凝った条件を設定しても、ララ(プレイヤー)が素通りしてしまうような所に条件を配置しても意味がありません。例えば、暗くもないのに「ララはフレアを持っている」という条件をつけても、ララ(プレイヤー)は素通りしてしまうでしょう。
条件を配置する場所には注意してください。