ステルスメカニックを実装するとき、プレイヤーが木の葉のようなオブジェクトの後ろに隠れるようにすると便利なことがよくあります。これを実現するには、プレイヤーを隠すオブジェクトに、IsTriggerモードに設定されたCollider2Dコンポーネントを与えます。便宜上、Hideレイヤーが使えるようになるので、hideオブジェクトのレイヤーをHideに設定してください。
プレイヤーがトリガー/非表示ゾーンに入ると、非表示の状態と非表示フラグがtrueに設定されます。AIが存在する場合、彼らはhideフラグを読み、それに応じて行動を調整することができます。hideステートにいる間、exitメソッドがButtonToggleに設定されていれば、プレイヤーはenterボタンを押すことなく、他のhideゾーンに移動することができます。
Important
ハイドゾーンではダメージを受けない。

Important
プレイヤーがhideゾーンの外に移動すると、hideフラグがfalseに設定される。プレイヤーは再びダメージを受けるようになる。
Property | |
---|---|
Hide Button | このボタンを押すと、プレイヤーがハイドゾーンで非表示になります。 |
Target Layer | 各HideオブジェクトがHideゾーンである場合に持たなければならないレイヤー(通常はHide)。 |
Exit | Automaticなら、プレイヤーはHideゾーンから外れると自動的に非表示状態を終了する。 Button Toggleなら、プレイヤーは非表示ボタンをトグルすることで非表示状態を終了します。 Bothなら、両方の終了方法が同時に動作します。 |
Player Hide Sorting | Hideになったときにプレイヤーが設定されるソートレイヤー。 |
Player Hide Order | プレイヤーがHideされるときのレイヤーの順番。 |
Event | |
---|---|
On Hide | プレイヤーが最初に非表示状態になったときに呼び出されるUnityイベント。 |
On Unhide | プレイヤーが非表示状態を解除するときに呼び出されるUnityイベント。 |
以下の例では、AIがプレーヤーの非表示フラグを読み取る方法を示しています。これを実現するには、Collision Statusノードを使用し、そのタイプをIsHidingに設定する必要があります。この例では、プレイヤーが隠れている場合、AIはIdleステートに移動します。プレーヤーが隠れていない場合、AIはプレーヤーを追いかけます。
Idle ステートには、プレイヤーの非表示フラグを読み取る Collision Status ノードも含まれていることに注意してください。これにより、AIはプレイヤーが隠れなくなったときにパトロール状態に戻ることができます。
