# Timed Events（制限時間付きイベント）

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FyP4tWgVzjTs3eEaJz1cT%2FTimed%20Events_Header_01.gif?alt=media&#x26;token=67c65e12-966a-4910-be15-4693e611384d" alt=""><figcaption></figcaption></figure>

## Timed Events のビヘイビアについて

メッセージをトリガーできるタイマーを様々な方法でカスタマイズすることができるビヘイビアです。設定したタイマーは一回、もしくは繰り返し設定することがでます。さらにビヘイビア内の親タイマーを使用して複数のサブイベントタイマーを設定することもできます。

このツールをフレキシブルに使用して環境サイクル、定期的なロジックチェック、ダイナミックなクエストメカニクスを作成することができます。

{% hint style="info" %}
プロパティパネル内で設定した数値をシステム上にカウントダウンの値として設定することができますが、カウントダウンがユーザーの画面には表示されることはありませんのでご注意ください。
{% endhint %}

## マルチプレイヤーのビヘイビア

このビヘイビアのマルチプレイヤーバージョンを選択すると制限時間付きイベントの進行はすべてのプレイヤーに適用され、ビヘイビアから送信されるメッセージも他のすべてのプレイヤーと同期されます。

例： Timed Events のビヘイビアがマルチプレイヤー向けのDoor のビヘイビアに対してドアを定期的に開閉するというメッセージを送信した場合、イベントの進行とDoor のビヘイビアがトリガーされる瞬間はすべてのプレーヤーの間で同時に起こります。

{% hint style="info" %}
マルチプレイヤーのビヘイビアやコンポーネントから送信されるメッセージはマルチプレイヤーのビヘイビアとコンポーネントのみに受信されます。またシングルプレイヤーのビヘイビアやコンポーネントはマルチプレイヤーのビヘイビアやコンポーネントからのメッセージを受信することはできませんのでご注意ください。
{% endhint %}

## ビヘイビアの適用方法

このビヘイビアはシングルプレイヤーでもマルチプレイヤーでも使用することができるため、ビヘイビアを選択するパネルのType のドロップダウンメニューからシングルプレイヤーの場合はClient Only を、マルチプレイヤーの場合はSynchronized を選択してアクターに追加してください。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2Fw997MhuLJzq09clbyW1I%2FTimed%20Events_Select%20SP%20MP%20.gif?alt=media&#x26;token=e0699377-bdda-4344-abc5-61114fc4df43" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
このビヘイビアには目に見えてわかる機能はないためロジックアセットに適用することをお勧めします。それにより編集モード内でロジック機能として簡単に識別することができる上に体験内でのフェイスカウントを減らしてパフォーマンスを向上させることができます。
{% endhint %}

## パラメーター

### Wait for Message （メッセージを待つ）

True に設定した場合、ビヘイビアをトリガーするメッセージを追加することができます。

False に設定した場合、ビヘイビアは体験の読み込みが終わり次第スタートします。

### Reset（リセット）

True に設定した場合、Timed Events のビヘイビアはすべての制限時間付きイベントとサブイベントが終了したあとに再びスタートします。

False に設定した場合、制限時間付きイベントを再びスタートさせるためには再度トリガーを設定する必要があります。再度トリガーを設定しないと制限時間付きイベントは無効のままになります。

{% hint style="info" %}
リセットを行うためにはすべての制限時間付きイベントとサブイベントの設定時間が終了していることが条件になります。
{% endhint %}

## イベントの種類

制限時間付きイベントには**Timed Events**（制限時間付きイベント）と**Sub Events**（サブイベント）の2種類のカテゴリーがあります。&#x20;

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FOKALKBBtlRgWwapDPF67%2FTimed_Events_Behaviour.png?alt=media&#x26;token=074e2351-6938-4647-9eb2-97436dc1220f" alt=""><figcaption></figcaption></figure>

**Timed Events** ではビヘイビアがスタートした瞬間から終了するまでの時間経過を秒単位で計る**プライマリータイマー**を設定することができます。&#x20;

**Sub Events** は**Timed Events** に紐づけされて作成され、親となるTimed Events がトリガーされてからスタートします。Sub Events はプライマリータイマーではなく、親となるTimed Events がトリガーされる時間に合わせて設定してください。

### Timed Events（制限時間付きイベント）

ビヘイビアがトリガーされた瞬間からの経過時間を設定できる**プライマリータイマー**に合わせてメッセージの送信時間を設定することができます。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2F8ZscQUo8vIrKnA10wQPk%2FTimed%20Events_Time%203.gif?alt=media&#x26;token=955755d8-0e75-4f95-bb8d-2208047bc92c" alt=""><figcaption><p>3つの異なる動きをトリガーするアニメーションのビヘイビアに3つの異なるメッセージを送って作成された制限時間付きイベントの例</p></figcaption></figure>

それぞれにタイムラインが設定されている複数のTimed Events を1つのビヘイビアに紐づけすることができます。&#x20;

{% hint style="info" %}
Timed Events は時間順に設定されるため、入力順序に関わらず設定時間に基づいて順番が決まります。
{% endhint %}

例：Timed Event 1が00：01に設定してあり、Timed Event 2が00：02に設定してある場合、Timed Event 1が一番上に表示され、最初にトリガーされます。

しかしTimed Event 1の時間が00：03に変更された場合、Timed Event 2が上に表示されTimed Event 1は2番目にトリガーされます。

{% hint style="warning" %}
ビヘイビアがプレイモードで使用されるまではプロパティパネル内での表示順序は変わりません。
{% endhint %}

### Sub Events（サブイベント）

Timed Events は時間順に設定されるため、入力順序に関わらず設定時間に基づいて順番が決まります。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FdITPrLm2IGw8gw79idkI%2FTimed%20Events_Time%202.gif?alt=media&#x26;token=03f922f5-4174-4d3c-87aa-e19f5d49304a" alt=""><figcaption><p>Timed Events（緑）とSub Events（青）でトリガーされたアニメーションの例 - すべてTimed Events 　のビヘイビアで設定可能</p></figcaption></figure>

例えば**Timed Events** が10秒に設定してある場合、一番最初の**Sub Events** は10秒が経過しないと始まりません。&#x20;

### タイマーの設定方法

Timed Events もSub Events も同じ設定方法を使用しますが、実行の順番に関しては異なる部分もあります。

**Timed Event** はプライマリーのタイムラインに合わせて時間順にトリガーされ、プライマリーのタイムラインはビヘイビアがトリガーされるとすぐにスタートします。

**Sub Events** は親に設定されているTimed Event の時間に合わせてトリガーされます。そのためTimed Event が00：01に設定されていて、Sub Events が00：01に設定されている場合にはSub Events はプライマリーのタイムラインに合わせて00：02にスタートします。

{% hint style="info" %}
Sub Events の時間を計算するにはSub Events の時間を親のTimed Event に足して算出してください。（Timed Events ＋Sub Events＝プライマリータイムライン）
{% endhint %}

最初に設定したTimed Event の次のTimed Event は前に設定したTimed Event のサブイベントが終わるのを待つことなくトリガーされます。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2F894bwMJhlgzkFiY7xjev%2FTimed_Events_Timing%20Fireworks.png?alt=media&#x26;token=6fbe10a7-52ea-40f5-89d0-30834de1d17f" alt=""><figcaption><p>プライマリーのタイマーに合わせて6つのTimed Event のトリガーを設定した例。5つのサブイベントは一番最初のTimed Event にトリガーされます。</p></figcaption></figure>

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FoOpIGTpi7L7NHyOr3cPw%2FTimed%20Events_Time%204.gif?alt=media&#x26;token=e56d4448-09f9-401b-a030-5dee6c7b6492" alt=""><figcaption></figcaption></figure>

例：**Timed Event 1** が00：02に設定されていて、**Sub Event** が00：03に設定してあるけれども**Timed Event 2** が00：04に設定してある場合、**Timed Event 1**と**2**は**Sub Event** の前にトリガーされます。リストではSub Event がTimed Event 2の前にあったとしてもSub Event の時間が親となるTimed Event の影響を受けプライマリーのタイムラインに合わせて00：05にトリガーされます。

以下の表を参考にしてください。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FyQhxi8tFkpifCg8D8uVJ%2FTIMERS.JPG?alt=media&#x26;token=8530ebf1-8aeb-4b2b-bdf5-13d313e0e976" alt=""><figcaption></figcaption></figure>

### Event Name（イベント名）

デフォルト設定ではタイマー名はカスタマイズする場合を除いてエレメントと数字で表示されます。

タイマー名はゲーム内では表示されませんが、Timed Event とSub Event 両方に異なる名前を付けることでトリガーした際に識別しやすく、とりわけ時間を変更した際にイベントの順番が移動した際に識別しやすくなります。

### Time（時間）とRelative Time（相対時間）

Timed Event のトリガー時間とSub Event のRelative time のトリガーを設定することができます。

時間を入力する欄には2種類あり、左には分を、右には秒を入力することができます。両方とも最大値は59です。

時間を入力するとイベント名に追加されます。

{% hint style="warning" %}
設定された時間がTimed Event よりも小さい、または大きい、もしくはSub Event の前後の場合、リスト上の順番が変更になります。
{% endhint %}

{% hint style="info" %}
タイマーはプレイヤーには見えない設定になっています。
{% endhint %}

### Message（メッセージ）

設定した時間になった時にTimed Event やSub Event が流すメッセージです。&#x20;

新規のメッセージを作成するかドロップダウンメニューから既存のメッセージを選択してください。

{% hint style="info" %}
メッセージを作成する際はスペース、大文字、小文字が区別されますのでご注意ください。
{% endhint %}

### Tags（タグ）

時間のなった時に送信されたメッセージのターゲット先になる特定のアクターを設定することができます。

### TIMED EVENT とSUB EVENT の追加

プロパティパネルの一番下にあるボタンを使ってTimed Event を追加することができます。時間設定を行うまでは作成順に表示されています。時間設定を行うと時間順に表示が変更になります。

<figure><img src="https://10474629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXlUUmw082AL1UVCwsyho%2Fuploads%2FKx1kLYHWIbZpslse9Ymk%2FTimed%20Events_Add%20Event.gif?alt=media&#x26;token=fc12e67a-4813-464c-8059-3286f6400de0" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
サブイベントを追加するオプションはそれぞれのTimed Event 内にあります。
{% endhint %}

時間が設定されるまで（0：0を除く）はSub Event は作成順に表示されます。時間設定を行うと時間順に表示が変更になります。
