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.
This commit is contained in:
2026-06-02 23:18:20 +08:00
parent 150440495d
commit d27ae9407d
17 changed files with 1946 additions and 335 deletions

View File

@@ -1244,16 +1244,17 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_hudRoot: {fileID: 1496719665}
_pauseMenuRoot: {fileID: 414932415}
_deathScreenRoot: {fileID: 1071624567}
_settingsRoot: {fileID: 83002174}
_mapRoot: {fileID: 1189402268}
_shopRoot: {fileID: 1859511082}
_panels: []
_addressablePanels: []
_addressablePanelParent: {fileID: 0}
_onGameStateChanged: {fileID: 11400000, guid: aa9c327d03e82c84e87d054545412578, type: 2}
_onPauseRequested: {fileID: 11400000, guid: a02c7f0e5fa99054bac624adc82c4a53, type: 2}
_onFastTravelOpen: {fileID: 11400000, guid: 9f308b954701a484083fb120aa6c7ee3, type: 2}
_onShopOpen: {fileID: 11400000, guid: 804a6cfdb23f0554195cebcf8270756f, type: 2}
_onMapOpen: {fileID: 11400000, guid: b972e8c7aec9da34d80381e643d49cb2, type: 2}
_onCharmPanelOpen: {fileID: 0}
_onSpellSelectOpen: {fileID: 0}
--- !u!1 &737017260
GameObject:
m_ObjectHideFlags: 0
@@ -1676,6 +1677,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
_deathMessage: {fileID: 0}
_btnRespawn: {fileID: 307714527}
_showDelay: 1.5
_defaultDeathText: "\u6C7A\u6B7B"
_onDeathScreenConfirmed: {fileID: 11400000, guid: c5237081444b4b54682df1087095fc89, type: 2}
--- !u!1 &1100545355
GameObject:
@@ -1977,6 +1980,7 @@ MonoBehaviour:
_onSceneLoadRequest: {fileID: 11400000, guid: 7a4675ba5f3b784448ce2d1e0048f119, type: 2}
_onFadeInRequest: {fileID: 11400000, guid: f8d520fe699782b4184ff72ce5200c25, type: 2}
_onFadeOutRequest: {fileID: 11400000, guid: a17901d6793dcf2409e2672ffb383208, type: 2}
_onSceneWorldStateRestored: {fileID: 0}
_sceneLoader: {fileID: 1100545357}
_roomFadeDuration: 0.05
_sceneFadeDuration: 0.4
@@ -2488,8 +2492,7 @@ MonoBehaviour:
_springContainer: {fileID: 0}
_springIconPrefab: {fileID: 0}
_formIcons: []
_interactText: {fileID: 0}
_interactPromptRoot: {fileID: 0}
_interactPromptWidget: {fileID: 0}
_onHPChanged: {fileID: 0}
_onMaxHPChanged: {fileID: 0}
_onSoulPowerChanged: {fileID: 0}
@@ -2497,8 +2500,6 @@ MonoBehaviour:
_onLingZhuChanged: {fileID: 0}
_onSpringChargesChanged: {fileID: 0}
_onFormChanged: {fileID: 0}
_onShowInteractPrompt: {fileID: 0}
_onHideInteractPrompt: {fileID: 0}
--- !u!1 &1657595859
GameObject:
m_ObjectHideFlags: 0