refactor: 드로그 BT 의사결정 투명화 — 모든 조건을 BT 노드로 표시
- BossCombatPatternRole enum 완전 제거, BossPatternData에 직접 필드 추가 - 14개 패턴별 Check*/Use*Action → CheckPatternReadyCondition + UsePatternByRoleAction으로 통합 - BT 계단식 Branch 체인 구조 도입 (BranchingConditionComposite + FloatingPort) - 패턴별 고유 전제 조건을 BT Condition으로 분리 - Punish: IsDownedTargetInRangeCondition (다운 대상 반경) - Mobility: IsTargetBeyondDistanceCondition (원거리 대상) - Utility: IsTargetBeyondDistanceCondition (원거리 대상) - Primary: IsTargetInAttackRangeCondition (사거리 이내) - Phase 진입 조건을 BT에서 확인 가능하도록 IsMinPhaseSatisfiedCondition 추가 - IsPatternReady()에서 minPhase 체크 분리 → 전용 Condition으로 노출 - Secondary 패턴 개념 제거 (secondaryPattern, 보조 차례, 교대 카운터 로직 전부 삭제) - CanResolvePatternTargetCondition 삭제 (7개 중 5개가 노이즈) - RebuildDrogBehaviorAuthoringGraph로 BT 에셋 자동 재구성 메뉴 제공
This commit is contained in:
@@ -2001,7 +2001,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||
GlobalObjectIdHash: 860882280
|
||||
GlobalObjectIdHash: 223369646
|
||||
InScenePlacedSourceGlobalObjectIdHash: 223369646
|
||||
DeferredDespawnTick: 0
|
||||
Ownership: 1
|
||||
@@ -2030,11 +2030,13 @@ MonoBehaviour:
|
||||
characterStats: {fileID: -5454809204868423215}
|
||||
animator: {fileID: 4019041888965840580}
|
||||
navMeshAgent: {fileID: 5153439431748782209}
|
||||
abnormalityManager: {fileID: 0}
|
||||
enemyData: {fileID: 11400000, guid: f21773b42c60c4b40b609966f09146aa, type: 2}
|
||||
useThreatSystem: 1
|
||||
damageThreatMultiplier: 1
|
||||
threatDecayPerSecond: 0
|
||||
retargetThreshold: 0
|
||||
shieldStateAbnormality: {fileID: 0}
|
||||
phases: []
|
||||
initialBehaviorGraph: {fileID: -3933356984444701103, guid: 9ade9280028e9da4aa0151fe8e9ec454, type: 2}
|
||||
phaseTransitionInvincibilityTime: 2
|
||||
@@ -2185,23 +2187,26 @@ MonoBehaviour:
|
||||
bossEnemy: {fileID: 6949205239376088310}
|
||||
enemyBase: {fileID: 6949205239376088310}
|
||||
skillController: {fileID: 8818883032728065057}
|
||||
abnormalityManager: {fileID: 0}
|
||||
navMeshAgent: {fileID: 5153439431748782209}
|
||||
mainPattern: {fileID: 11400000, guid: 5efd8123be76bf844875d386d9d5f73d, type: 2}
|
||||
slamPattern: {fileID: 11400000, guid: 4a52d59d590b4eaa9ef92b7984eb08c7, type: 2}
|
||||
leapPattern: {fileID: 11400000, guid: 88e6cc7cab28baf4c8f8a742247000ec, type: 2}
|
||||
behaviorGraphAgent: {fileID: 0}
|
||||
primaryPattern: {fileID: 11400000, guid: 5efd8123be76bf844875d386d9d5f73d, type: 2}
|
||||
secondaryPattern: {fileID: 11400000, guid: 4a52d59d590b4eaa9ef92b7984eb08c7, type: 2}
|
||||
mobilityPattern: {fileID: 11400000, guid: 88e6cc7cab28baf4c8f8a742247000ec, type: 2}
|
||||
utilityPattern: {fileID: 11400000, guid: 9f7ab8078af64fd9a6ff4c9ce6aa9d3a, type: 2}
|
||||
downPunishPattern: {fileID: 11400000, guid: fe5100f855d14c0faac44b6d4f2c771e, type: 2}
|
||||
comboPattern: {fileID: 0}
|
||||
punishPattern: {fileID: 11400000, guid: fe5100f855d14c0faac44b6d4f2c771e, type: 2}
|
||||
signaturePattern: {fileID: 11400000, guid: 5e732b41722c45288bb6234f3e3fa638, type: 2}
|
||||
phase2HealthThreshold: 0.75
|
||||
phase3HealthThreshold: 0.4
|
||||
targetRefreshInterval: 0.2
|
||||
leapDistanceThreshold: 8
|
||||
downPunishSearchRadius: 6
|
||||
primaryTargetRefreshInterval: 0.2
|
||||
mobilityTriggerDistance: 8
|
||||
punishSearchRadius: 6
|
||||
utilityTriggerDistance: 5
|
||||
phase1SlamInterval: 3
|
||||
phase2SlamInterval: 2
|
||||
phase3SlamInterval: 2
|
||||
signatureMinPhase: 2
|
||||
phase1SecondaryInterval: 3
|
||||
phase2SecondaryInterval: 2
|
||||
phase3SecondaryInterval: 2
|
||||
basicLoopMinCountAfterBigPattern: 2
|
||||
signatureRequiredDamageRatio: 0.1
|
||||
signatureTelegraphAbnormality: {fileID: 11400000, guid: fb1a782e44ff4dc19fd8b3c633360752, type: 2}
|
||||
signatureSuccessStaggerDuration: 2
|
||||
|
||||
Reference in New Issue
Block a user