Files
zeling_v2/Assets/_Game/Scripts/Enemies/Perception/SensorSlotNames.cs
Joywayer d27ae9407d feat: Enhance Physics Perception System with new detection modes and performance optimizations
- Updated PhysicsPerceptionSystem to support seven detection modes: RangeCircle, BatchLOS, FanCast, BoxCast, Sight, RayCast, and TriggerZone.
- Improved documentation for each detection mode, including performance optimization strategies.
- Introduced PerceptionTriggerProxy for event-driven detection in TriggerZone slots.
- Added SightBatchSystem to manage Sight slots efficiently, reducing CPU spikes during high enemy counts.
- Updated SensorSlotNames to reflect new detection modes and their purposes.
- Enhanced internal logic for detecting targets and managing detection events.
2026-06-02 23:18:20 +08:00

52 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace BaseGames.Enemies.Perception
{
/// <summary>
/// <see cref="PhysicsPerceptionSystem"/> 槽位名称常量。
///
/// 统一定义字符串键,避免在 BD Task Inspector 和代码中散布魔法字符串。
/// Prefab 上 <see cref="PhysicsPerceptionSystem"/> 组件的 slotName 字段必须与此处常量保持一致。
/// </summary>
public static class SensorSlotNames
{
/// <summary>
/// 警戒范围RangeCircle玩家进入此圈触发 Alert 阶段。
/// 通常半径大于攻击范围,小于视线检测范围。
/// </summary>
public const string Aggro = "aggro";
/// <summary>
/// 视线检测BatchLOS敌我之间无遮挡时持续为 true。
/// 由 PhysicsPerceptionSystem 自研批量计算OverlapCircle + 单次 RaycastBD_IsPlayerVisible 读取结果。
/// </summary>
public const string LOS = "los";
/// <summary>
/// 近战攻击范围RangeCircle玩家进入时触发近战攻击条件。
/// </summary>
public const string AttackMelee = "attack_melee";
/// <summary>
/// 远程攻击范围RangeCircle玩家进入时触发远程攻击条件。
/// </summary>
public const string AttackRange = "attack_range";
/// <summary>
/// 巡逻范围RangeCircle定义敌人允许巡逻的地图固定区域半径。
/// 超出此范围时触发"返回巡逻点"逻辑。
/// </summary>
public const string Patrol = "patrol";
/// <summary>
/// 警觉半径RangeCircle进入此圈时敌人从待机/巡逻切换到 Alert 状态,
/// 通常比 Aggro 小,用于区分"察觉"和"追击"两个阶段。
/// </summary>
public const string Alert = "alert";
/// <summary>
/// 视线感知Sight带强制 LOS 遮挡检测的视锥传感器。
/// 仅当目标在视野锥内且无障碍物遮挡时才触发,是"看见玩家"的核心传感器。
/// </summary>
public const string Sight = "sight";
}
}