SightCheck
は、視野内で特定の範囲からターゲットを検出し、障害物を考慮するコンポーネントです。視野内にターゲットがある場合や、全てのオブジェクトが視野から外れた場合に InsightTargets
を呼び出します。
- 視野の設定: 検出に使用する頭部の位置を指定します。
- 視野の範囲: 視野の範囲を設定します。
- 視野の角度: 視野の角度を設定します。
- 検出レイヤー: 検出に使用するレイヤーを指定します。このレイヤー内のオブジェクトが可視になります。
- 検出タグ: 検出に使用するタグを指定します。これらのタグを持つオブジェクトが可視になります。
- 視野内のオブジェクトリスト: 視野内のオブジェクトのリストを取得します。
- 障害物のチェック: 障害物の存在をチェックします。障害物の検出には
CharacterSettings._environmentLayer
を使用します。 - 視野内の最初のオブジェクト: 視野内の最初のオブジェクトを取得します。
- 視野内のターゲット存在チェック: 視野内にオブジェクトが存在するかどうかを確認します。
- 視野内のオブジェクト変化イベント: オブジェクトが視野内に入ったり出たりしたときにイベントを呼び出します。
Name | Description |
---|---|
_headTransform |
検出に使用する頭部の位置を指定します。 |
Range |
視野の範囲を設定します。 |
Angle |
視野の角度を設定します。 |
VisibleLayerMask |
検出に使用するレイヤーを指定します。 |
_targetTagList |
検出に使用するタグを指定します。 |
InsightTargets |
視野内のオブジェクトのリストを取得します。 |
RaycastCheck |
障害物の存在をチェックするかどうかを指定します。 |
InsightTarget |
視野内の最初のオブジェクトを取得します。 |
IsInsightAnyTarget |
視野内にオブジェクトが存在するかどうかを確認します。 |
OnChangeInsightAnyTargetState |
視野内のオブジェクト変化イベントを呼び出します。 |
- 公開されているメソッドはありません。
SightCheck
コンポーネントは、Unityのゲーム開発において、キャラクターの視野内で特定の範囲内のターゲットを検出し、障害物の存在を考慮する高度な機能を提供します。特に、プレイヤーや敵の視界に基づいた検出、障害物の有無によるターゲットの可視性の判断などに有効です。視野角度や範囲の設定により、精密な視界検出が可能になります。これにより、敵の検出、アイテムの探索、環境認識など、さまざまなシーンで活用できます。