【Wait】
単体で使うと、指定秒間なにもせず待機します。指定秒が経過すれば終了します。メンタルなProcedureとも言え、NPCに実際の行動が伴うことはありません。
このProcedure単体で使われることはあまりなく、多くの場合Simultaneous Branchにて他のProcedureと同時実行されます。特に、FollowやSandboxなど終了しないProcedureや、Findのように対象を発見できるまで終われないProcedureと同時実行することで、一定秒経過後に強制終了させることが可能になります。
また「ゼロ」秒を設定することで、エンドレスなProcedureにもなります。「Run Until All Children Complete」にチェックを入れたSimultaneous Branchにて、終わらせたくないProcedureと同時実行させることで、Branchの実行条件が変わるまでは相方のProcedureがずっと実行され続けることになります。
各Procedureの終了を制御できるようになるため、「Procedure: Find」と並び非常に有用なProcedureです。
―パラメータ―
- ActualSeconds: 単位は秒。指定秒カウントしたらProcedure終了。ゼロに設定すると永遠に続く終わりのないProcedureになる。
- StopMovement: TrueにするとNPCはその場から動かなくなる? でもプレイヤーが押したりするとどいてくれる。Falseとの違いが分かりにくいが、Procedure: Waitが実行されたときNPCが移動中だと、Wait実行中も惰性で進行方向に歩き続けてしまう傾向があるので、それを立ち止まらせるのに使えるのかもしれない。
■他Procedureの終了制御
"ActualSeconds"に有限な値やゼロを入れることで、終了するProcedure、終了しないProcedureになるため、Simultaneous Branchで他のProcedureの終了を制御するのに非常に有用です。ただしProcedureによってはWaitで強制終了してしまうと行動が中途半端なところで止められる場合もあるので、テストプレイしながらの調整が必要になります。
以前UseWeaponで弓を使わせたとき、射る前にWaitで強制終了させたら、弓を引いたまま移動する羽目になってしまいました。この場合、次のProcedureでいったん武器をしまわせる、とりあえず明後日の方向に撃たせてしまうなどの修正案が考えられます。弓を使わせるときは、Waitとの同時実行自体やめるのが一番かもしれませんが……。
前へ |
次へ