仕掛けを連携させる-ディレクトイベントバインディング-[UEFN]

目次

ディレクトイベントバインディングとは

  • 仕掛け(Device)同士が互いに連携できるようにするもの。
  • 一方の仕掛けに何かのイベントが発生したのをきっかけにもう一方の仕掛けの機能を実行することができる。

イベントとは

  • イベントは仕掛けごとに設定されていて、その仕掛けの何かしらの動作によって発生するもの。
  • 例えば「PlayerSpawner」には「On Player Spawned」というイベントがあり、このスポナーでプレイヤーがスポーンしたときにこのイベントが発生する。
  • イベントは仕掛けを選択している状態で、「詳細」タブの「ユーザーオプション-イベント」の項目で確認できる。

機能とは

  • 機能も仕掛け毎に設定されていて、機能を実行させることで仕掛けの状態を変更することができる。
  • 例えば「Collectible Object」には「Turn Visibility On」という機能があり、これを実行するとこの仕掛けが画面上に表示される。「Turn Visibility Off」だと画面上から消える。

つまり?

  • 上記の仕掛けを例にすると、プレイヤーがスポーンしたらコインを表示させる・・といった仕掛け同士の連携ができるようになる。

実際にディレクトイベントバインディングしてみる

仕掛けを配置する

  • 「Player Spawner」と「Collectible Object」を二つ配置する。
  • 配置された仕掛けには名前が設定されていて、「詳細」タブから確認できる。
    同じ名前は設定できないので二つ目の「Collectible Object」には後ろに数字が追加されている。
    名前は変更もできます。
  • 「アウトライナー」タブで配置されている全てのものを確認できる。

仕掛けの設定を行う

  • 今回はゲームが開始してプレイヤーがスポーンしたら一つ目のコインが表示され、プレイヤーが一つ目のコインを取得したら二つ目のコインを表示させるという仕掛けの連携を設定してみる。

仕掛け「Player Spawner」を設定する

  • 「Player Spawner」はイベントを発生させるだけなので設定は特になし。
  • 「On Player Spawned」というイベントで、プレイヤーがスポーンすると発生する。
    このイベントを他の仕掛けが受け取ることになる。

仕掛け「Collectible Object」を設定する

  • 一つ目のコインの仕掛け「Collectible Object」を「詳細」タブの「ユーザーオプション – 機能」から設定する。
  • ここで機能を実行するきっかけとなるイベントを設定することができる。
  • 実行させたい機能の「+」をクリックすることでイベントを設定できる。
  • 今回はコインを表示させる状態にしたいので、機能「Turn Visibility On」にイベントを追加する。
  • 「+」をクリックすると機能に「インデックス[0]」という項目が追加される。
  • きっかけとなるイベント発生させている仕掛けを設定する。今回は「Player Spawner」のイベントがきっかけになる。
  • 「インデックス[0]」の画像の部分をクリックするとメニューが開いて設定できる仕掛けのリストが表示されるので、「Player Spawner」をクリックする。
  • イベントを発生させる仕掛けを選択したら今度はどのイベントで実行するか選択する。
  • 「インデックス[0]」の下の部分をクリックすると選択した仕掛けが発生するイベントのリストが表示される。「Player Spawner」は「On Player Spawned」というイベントのみ発生するのでそれだけ表示されている。
  • 「On Player Spawned」をクリックする。
  • 以上で仕掛け「Collectible Object」の設定は終了。
  • 「Player Spawner」の「On Player Spawned」イベントが発生したら「Collectible Object」の機能「Turn Visibility On」が実行されてコインが表示されるようになる。

仕掛け「Collectible Object2」を設定する

  • 二つ目のコイン「Collectible Object2」も同様に機能「Turn Visibility On」にイベントを追加する。
  • 一つ目のコインが取得されたときに実行させたいので「Collectible Object」を選択する。
  • コインが取得されたときに発生するイベント「On Collected」を選択する。
  • 以上で仕掛け「Collectible Object2」の設定は終了。
  • 「Collectible Object」の「On Collected」イベントが発生したら「Collectible Object2」の機能「Turn Visibility On」が実行されてコインが表示されるようになる。

テストプレイしてみる

  • ゲーム開始時に二つ目のコインも表示されてしまっている。
  • これはゲーム開始時に仕掛けを表示させるようにする項目「Visible on Game Start」にデフォルトでチェックが付いているため。
  • このチェックを外すとゲーム開始時に表示されなくなるので、「Collectible Object」「Collectible Object2」の両方ともこの項目のチェックを外す。

再度テストプレイする

  • 一つ目のコインが非表示のままになってしまっている。
  • よくわからないけどゲーム開始時にコインの非表示処理とスポーンイベント発生処理が両方とも行われているのでタイミング的にうまくいっていない?
  • ゲーム開始前になにか処理を挟めればいいのかなと思いカウントダウンを追加してみる。
  • ゲーム開始前のカウントダウン処理を入れるには「IslandSettings」の「Game Start Countdown」の値を1以上にする。
  • カウントダウンの後に一つ目のコインが表示され、コインを取ると二つ目のコインが表示されるようになった。
  • 仕掛けの非表示処理は最初に行われるが、仕掛けのイベント処理はカウントダウン後に行われるという認識でいいのかな。

コメント

コメントする

目次