Commit Graph

167 Commits

Author SHA1 Message Date
4ba6d9d9ff fix: 애니메이션 클립 트리머 경계값과 참조 커브 보존
- 트리밍 구간에 기존 키가 없더라도 시작점과 종료점 값을 샘플링해 경계 구간이 비지 않도록 보정

- ObjectReference 커브를 함께 잘라 VFX와 소품 전환 키가 새 클립에서도 유지되도록 수정

- 새 클립 생성 시 루트 모션, 루프, 미러 등 AnimationClipSettings를 원본에서 복사하도록 보강
2026-04-09 23:24:24 +09:00
a9b58571cc chore: 외부 피니셔 애니메이션 팩 추가
- Brutal Unarmed Finisher 애니메이션 원본 FBX와 React 변형 세트를 프로젝트에 추가

- 샘플 컨트롤러, 프리팹, 씬, 재질 등 패키지 동봉 리소스를 함께 보관하도록 정리
2026-04-09 23:22:44 +09:00
abfc43ae76 fix: 플레이어 접촉 이동과 타깃 표면 추적 보정
- TargetSurfaceUtility를 추가해 플레이어와 적의 실제 충돌 표면 기준으로 거리, 방향, 목적지를 계산

- 플레이어 이동과 적 루트모션, 추적 로직에서 접촉 시 수평 이동을 제한해 겹침과 밀어내기 문제를 완화

- 드로그 AI 거리 판정 노드들이 표면 거리 기준을 사용하도록 맞춰 사거리 분기 오차를 줄임
2026-04-09 23:22:28 +09:00
0fa23d4389 feat: 피격 반응 면역을 경직/넉백/다운으로 분리
- 상태이상 데이터와 관리자에서 단일 피격 면역을 경직, 넉백, 다운 개별 면역으로 분리

- 플레이어 프리팹과 디버그 메뉴, 공용 경직 애니메이션을 갱신해 분리된 면역 상태를 테스트 가능하게 정리

- PlayMode 테스트를 추가해 각 면역이 대응하는 반응만 차단하는지 검증
2026-04-09 23:22:02 +09:00
7776f7ed05 feat: 드로그 BT 및 전투 패턴 재구성
- 드로그 BT를 페이즈 전환, 부활 트리거, 가중치 근접 패턴 중심으로 재구성

- 땅 울리기 및 콤보-기본기1_3 패턴/스킬/이펙트를 추가하고 기존 평타 파생 자산을 정리

- 드로그 행동 검증용 PlayMode/Editor 테스트와 관련 런타임 상태 추적을 추가
2026-04-09 23:21:38 +09:00
1307123029 chore: 드로그 기본기 애니메이션 자산 정리
- 콤보 기본기 1, 2 계열 애니메이션 자산을 현재 재빌드 결과 기준으로 반영
- 콤보 발구르기 계열 애니메이션 자산도 함께 정리
- 드로그 전투 자산과 맞지 않던 기본기 클립 상태를 현재 기준으로 동기화
2026-04-08 22:36:07 +09:00
81d2f4a5a1 fix: 드로그 강타 다운 및 밟기 연계 복구
- 드로그 BT를 밟기 우선, 콤보-강타, 추적 순서로 유지하도록 관련 자산을 정리
- 강타/밟기 클립에 효과 이벤트를 추가하고 밟기 패턴의 Phase 1 진입을 복구
- 플레이어 다운 시간을 DownBegin 이후 루프 구간 기준으로 계산하도록 조정
2026-04-08 22:33:25 +09:00
3c59f35fae feat: 드로그 모델과 애니메이션 자산 정리
- 드로그 씬에 Model_Boss_Drog FBX와 AC_Boss_Drog 컨트롤러를 연결하고 기존 보스 기본 컨트롤러/프리팹 의존을 정리했다.

- 콤보/집행/대기/방어 애니메이션 클립과 하반신 마스크, TMP 글리프 자산을 갱신했다.

- GPU Resident Drawer를 비활성화하고 Unity 강제 리프레시 후 콘솔 에러 0건을 확인했다.
2026-04-07 23:46:49 +09:00
0c9967d131 feat: 방어 시스템과 드로그 검증 경로 정리
- 애니메이션 이벤트 기반 방어/유지/해제 흐름과 HUD 피드백, 방어 디버그 로그를 추가했다.
- 드로그 기본기1 테스트 패턴을 정리하고 공격 판정을 OnEffect 기반으로 옮기며 드로그 범위 효과의 타겟 레이어를 정상화했다.
- 플레이어 퀵슬롯 테스트 세팅과 적-플레이어 겹침 방지 로직을 조정해 충돌 시 적이 수평 이동을 멈추고 최소 분리만 수행하게 했다.
2026-04-07 21:28:52 +09:00
147e9baa25 feat: 플레이어 경직/다운 회복 구간 추가
- HitReactionController에 경직, 다운 회복 가능 구간, Hit 속도 배율 파라미터 처리를 추가

- DownBegin/Recover 상태 종료를 StateMachineBehaviour로 받아 구르기 허용 구간과 다운 해제를 분리

- 드로그 발구르기를 경직 이펙트로 전환하고 넉백/경직 이펙트에서 Hit 애니메이션 속도 배율을 설정 가능하게 정리

- PlayMode 테스트를 추가해 경직/넉백이 Hit 애니메이션 속도 배율을 실제로 반영하는지 자동 검증
2026-04-06 18:03:50 +09:00
daaf54169a feat: 드로그 콤보 스킬 자산을 타격 단위로 재구성
- RebuildDrogCombatAssets를 갱신해 기본기/강타/발구르기 콤보를 타격 단위 스킬 시퀀스로 생성하도록 변경
- 외부 후보 모션을 드로그 로컬 애니메이션 클립으로 복제하고 콤보 관련 스킬을 루트모션 사용 기준으로 재생하도록 정리
- 레거시 단일 콤보 스킬/클립/이펙트를 제거하고 드로그 리뷰 씬 삭제를 함께 반영
2026-04-06 15:07:18 +09:00
cf103baf57 chore: 외부 에셋 권한 및 줄바꿈 재기록 반영
- Assets/External 하위 샘플 및 서드파티 에셋 파일의 실행 비트 변경을 별도 커밋으로 분리
- PolygonGeneric, SidekickCharacters, Synty 도구 자산 전반의 줄바꿈 및 재직렬화 차이를 그대로 보존
- 프로젝트 고유 로직 변경과 분리해 이후 히스토리에서 외부 에셋 노이즈 범위를 식별하기 쉽게 정리
2026-04-06 14:04:09 +09:00
c48d1bee52 chore: 드로그 후속 자산 및 테스트 씬 정리
- 드로그 전용 무기 프리팹과 네트워크 프리팹 등록을 추가하고 관련 솔루션 및 패키지 잠금 파일을 갱신
- Drog 메인 씬 보정과 DrogSidekickAttackReview 테스트 씬을 추가해 후속 검증용 환경을 정리
- SpawnEffect가 BossBehaviorRuntimeState의 현재 대상을 참조하도록 맞추고 TMP 폰트 자산 재생성 결과를 반영
2026-04-06 14:03:27 +09:00
904bc88d36 feat: 드로그 보스 AI 및 런타임 상태 구조 재구성
- 드로그 전투 컨텍스트를 BossBehaviorRuntimeState 중심 구조로 정리하고 BossEnemy, 패턴 액션, 조건 노드가 마지막 실행 결과와 phase 상태를 직접 사용하도록 갱신
- BT_Drog와 재빌드 에디터 스크립트를 확장해 phase 전환, 집행 결과 분기, 거리/쿨타임 기반 패턴 선택을 드로그 전용 자산과 노드 파라미터로 재구성
- 드로그 패턴/스킬/이펙트/애니메이션 플레이스홀더 자산을 재생성하고 보스 프리팹이 새 런타임 상태 및 등록 클립 구성을 참조하도록 정리
2026-04-06 13:56:47 +09:00
60275c6cd9 feat: 보스 가림 시 플레이어 외곽선 표시
- PlayerOcclusionOutline: 보스(Enemy 레이어)가 플레이어를 가릴 때 외곽선 활성화
- Outline.shader: URP 법선 확장 외곽선 셰이더 (Fresnel 기반 알파)
- 외곽선용 별도 SkinnedMeshRenderer를 자식 GameObject에 생성
- ObstacleTransparencyController: Enemy 레이어 장애물 숨김 제외
- PlayerCamera: PlayerOcclusionOutline 초기화 연동

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 10:51:10 +09:00
c88487ef4c feat: 카메라-플레이어 사이 장애물 숨김 처리
- SphereCast 충돌 당기기 로직 제거로 카메라가 항상 원래 거리 유지
- ObstacleTransparencyController 신규: 카메라-타겟 사이 장애물을 renderer.enabled로 숨김
- 플레이어 발 위치 이하의 바닥/지형은 숨김 대상에서 제외
- 파티클/트레일 렌더러는 숨김 스킵

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-04 08:20:35 +09:00
90da884718 feat: 플레이어 스킬 애니메이션 클립 OnEffect 이벤트 추가 및 10종 신규 클립
- 기존 6종 클립에 OnEffect 애니메이션 이벤트 추가 (마법발사, 마법휘두르기, 모아베기, 베기, 올려베기, 찌르기)

- 신규 10종 클립 추가: 마법_방패치기, 마법_내려찍기, 한손_연속베기, 방패_방패치기, 방패_연속베기, 양손_내려찍기, 양손_연속베기_0, 양손_연속베기_1, 마법_전진베기, 마법_회전베기

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:54:59 +09:00
feb34e6ecf feat: 24종 플레이어 스킬 데이터에 이펙트 연결 및 레거시 effects 필드 제거
- legacy effects 필드를 triggeredEffects/castStartEffects/channelTickEffects로 마이그레이션

- 한손 5종: 베기, 올려베기, 연속베기, 찌르기, 전진베기에 DamageEffect 연결

- 양손 5종: 모아베기, 내려찍기, 찌르기, 연속베기, 회전베기 이펙트 재연결

- 마법 5종: 마법발사, 마법휘두르기, 마법오름, 마법광선(채널링), 유도탄

- 방패 2종: 방어태세(ThreatModifier), 방패치기(DamageEffect)

- 지원 4종: 광역치유(HealEffect), 치유광선(채널링), 보호막(ShieldEffect), 부활(ReviveEffect)

- 공용 3종: 도발(TauntEffect), 구르기, 돌진

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:54:29 +09:00
117b0ad8bc chore: MixamoAvatar 에셋을 External/Animations로 이동
- Assets/_Game/Animations/MixamoAvatar → Assets/External/Animations/MixamoAvatar

- ActorCore 에셋 External/Animations/ActorCore에 추가

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:53:05 +09:00
29e8bb5726 chore: 스킬 이펙트 에셋 네이밍에 분류 접두어 누락 수정
- 한손(7): 베기, 올려베기, 연속베기×2, 찌르기, 전진베기에 한손_ 접두어 추가

- 마법(6): 마법광선, 유도탄, 보호막, 부활, 광역치유, 치유광선에 마법_ 접두어 추가

- 방패(2): 방어태세, 방패치기에 방패_ 접두어 추가

- 공용(1): 도발에 공용_ 접두어 추가

- 한손_올려베기_0, 한손_연속베기_2 에셋 재생성 (이전 rename 사고로 유실)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 17:50:34 +09:00
bbb2903ee1 feat: 채널링 빔 스킬 시스템 구현 및 PolygonParticleFX VFX 에셋 추가
- SkillData: 채널링 필드 추가 (지속시간, 틱 간격, 틱/종료 효과, VFX 프리팹, 마운트 경로, 크기 배율)
- SkillController: 채널링 상태 관리 (Start/Update/End), VFX 생성/파괴, 틱 효과 주기 발동, 버튼 해제로 중단
- SkillEffect: Beam(원통) 범위 판정 추가 (OverlapCapsule), 디버그 시각화
- PlayerSkillInput: 스킬 취소(canceled) 이벤트 구독 → 채널링 중단 통지
- SkillLoadoutEntry: 채널링 틱/종료 효과 수집 메서드 추가
- 스킬 데이터/이펙트/애니메이션/VFX 에셋 추가 (채널링 스킬용)
- PolygonParticleFX VFX 에셋 패키지 추가 (Materials, Models, Prefabs, Textures, Scenes)
2026-04-03 13:52:27 +09:00
40e3252901 refactor: 스킬 트리거 효과를 그룹 구조로 변경 — 하나의 애니메이션 이벤트로 여러 effect 발동 가능
- SkillGemTriggeredEffectEntry를 공용 타입 SkillTriggeredEffectEntry로 승격

- SkillData.effects를 List<SkillTriggeredEffectEntry>로 변경 (기존 flat list는 OnValidate에서 자동 마이그레이션)

- SkillLoadoutEntry, PlayerSkillInput 등 소비자 코드 그룹 구조 대응

- 기존 스킬 에셋 마이그레이션 완료

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 08:26:08 +09:00
ee8f4a5701 chore: 미사용 스킬 및 이펙트 애셋 정리
- SkillData에서 레거시 legacySkillClip/legacyEndClip 필드 및 MigrateLegacyClips 제거
  - [FormerlySerializedAs] 누락으로 인해 실제로 동작하지 않던 마이그레이션 코드 정리
- 애니메이션 클립이 없는 스킬 11개 삭제 (투척, 광역치유, 구르기, 돌진, 방어태세, 보호막, 부활, 철벽, 치유, 투사체, 회전베기)
- 삭제된 스킬에 연결된 전용 이펙트 11개 삭제
- 어떤 스킬에서도 참조되지 않는 고아 이펙트 9개 추가 삭제 (투척투사체_0_데미지, 기절, 다운, 베기_1_버프, 베기_2_디버프, 치유_0_회복, 침묵, 투사체_0_데미지, 한손_마법발사_0_데미지)
- 양손_내려찍기 애니메이션 클립 신규 추가 (untracked)
2026-04-03 00:05:05 +09:00
f4da79a699 fix: Ground Target 조작법 변경 (클릭 확정 → 같은 스킬키 확정)
- 스킬키 재입력으로 지면 타겟 확정 (좌클릭 제거)
- 타겟팅 모드 중 다른 스킬 키 입력 시 취소
- 우클릭/ESC 취소 유지
2026-04-02 22:47:49 +09:00
90e3d4ae74 fix: 3인칭 카메라 폐색 시 순간이동 및 충돌 레이어 과도 포함 문제 수정
- 카메라 충돌 시 SmoothDamp로 부드럽게 보간하도록 변경 (기존: 즉시 hit.point 이동)
- collisionMask 기본값을 Default/Enemy/Ground 레이어로 제한 (기존: 모든 레이어 포함)
- collisionRadius 0.2→0.3 증가로 보스 등 대형 오브젝트 탐지 개선
- minDistance 0.5 추가로 카메라가 플레이어 모델 안으로 파고드는 현상 방지
2026-04-02 22:35:57 +09:00
188b134062 feat: VFX 인프라 구축 및 Ground Target 시스템 구현
- VfxEffect 스킬 이펙트 클래스 추가 (일회성 VFX 스폰, 위치/스케일/파티클 제어)
- SkillEffect.IsVisualOnly 프로퍼티 추가로 서버 가드 없이 모든 클라이언트에서 VFX 로컬 실행
- SkillProjectile 트레일 VFX 지원 (OnNetworkSpawn에서 양쪽 생성, despawn 시 월드 분리)
- SkillProjectile HitEffectClientRpc 추가로 충돌 이펙트 클라이언트 동기화
- Ground Target 시스템: 타겟팅 모드 상태머신, 인디케이터, 지면 위치 RPC 전달
- 마법 오름 Ground Target 스킬 에셋 및 VfxEffect 에셋 추가
- 마법 오름 애니메이션 클립 추가
- Ground layer (Layer 7) 추가
- ProjectileBasic에 trailPrefab/hitEffect 필드 추가
- Prefabs/VFX/ 폴더 생성
2026-04-02 22:25:19 +09:00
57ab230c61 fix: 스킬 슬롯 아이템 변경 불가 문제 수정 (slot/loadoutEntry 양방향 의존성 제거)
- SyncLegacySkillsToLoadoutEntries를 양방향에서 슬롯→엔트리 단방향으로 변경
  (skillSlots를 SSOT로 지정, loadoutEntry는 항상 슬롯을 따름)
- GetSkill/GetSkillLoadout에서 불필요한 sync 호출 제거로 읽기 시 역동기화 방지
- SetSkillGem에서 skillSlots 역동기화 제거
- SetSkillLoadout/SetSkillLoadouts에서 슬롯 우선 갱신 후 젬만 복사하도록 개선
2026-04-02 20:23:22 +09:00
90192e38fa chore: 신규 스킬 에셋 .meta 파일 추가 2026-04-02 19:52:01 +09:00
eead05c562 feat: 양손 모아베기, 마법 발사, 마법 휘두르기 스킬 추가
- 양손 모아베기: TwoHanded 전용, 부채꼴 Physical 범위 데미지, Root Motion
- 마법 발사: Magic 전용, 투사체형 Magical 데미지 (SpawnEffect + hitEffect)
- 마법 휘두르기: Magic 전용, 부채꼴 Magical 범위 데미지
- 각 스킬에 대응하는 DamageEffect/SpawnEffect 에셋 생성
2026-04-02 19:51:54 +09:00
5f8c39186b chore: 애니메이션 애셋 네이밍 규칙 적용 및 스킬 데이터 재구성
- 애니메이션 클립을 Anim_{소유자}_{이름}_{순서} 규칙으로 일괄 rename
  - 플레이어: 한손 → 공용 카테고리 변경, _{순서} 접미사 추가
  - 드로그: 기존 클립 rename + 밟기, 짓밟기, 스윙 등 신규 추가
  - Anim_Common_Base 추가 (모든 컨트롤러 공용 base clip)
  - 미사용 Mixamo 클립 (A_MOD_SWD_*) 제거
  - MixamoAvatar 애셋 추가
- SkillData를 Data_Skill_{소유자}_{이름} 규칙으로 rename
  - 드로그: 강타R, 평타1R, 평타2R, 밟기, 짓밟기, 스윙, 올려치기, 점프시작 등
  - 플레이어: 한손 → 공용 카테고리 변경
  - 미사용 스킬 (한손_마법사무기) 제거
- AnimatorController에 base clip 할당
- 플레이어/드로그 프리팹 참조 업데이트
- TMP 폰트 애셋 자동 갱신
2026-04-02 19:00:43 +09:00
52b0e682a8 feat: 스킬 애니메이션 N클립 순차 재생 및 이름 기반 자동 매칭 시스템
- SkillData: skillClip/endClip 단일 필드를 animationClips 리스트로 통합
  - Data_Skill_ 접두사 애셋 이름과 Anim_{key}_{순서} 클립을 자동 매칭
  - 레거시 skillClip/endClip 데이터 자동 마이그레이션
- SkillController: 클립 시퀀스 내 순차 재생 로직 (TryPlayNextClipInSequence)
  - baseSkillClip을 컨트롤러 Skill state에서 OnValidate로 자동 발견
  - waitingForEndAnimation / IsInEndAnimation 제거
- BuildSimulationEngine: 전체 클립 duration 합산 및 모든 클립 OnEffect 이벤트 파싱
- PlayerAbnormalityVerificationRunner: GetSkillDuration 전체 클립 길이 합산으로 변경
- EnemyBase: IsInEndAnimation 참조 제거
- AnimationClipExtractor: animationClips 리스트 기반 relink/collect로 변경
- AnimationClipSkillDataMatcher: 클립 변경 시 관련 SkillData 자동 갱신 (AssetPostprocessor)
- BaseSkillClipAssigner: 모든 컨트롤러의 Skill state에 base clip 일괄 할당 에디터 메뉴
- pre-commit hook: Anim_ 네이밍 규칙에 {순서} 패턴 추가 및 Anim_↔Data_Skill_ 매칭 검증
2026-04-02 18:57:03 +09:00
08b1e3d95a fix: Section Speed Editor에서 본 곡선 없는 클립 length 0으로 표시되는 문제 수정
- Mixamo export 클립 등 m_FloatCurves만 있는 경우 bone transform 곡선이 없어 length가 0으로 계산되던 문제 수정
- bone 곡선이 없으면 m_StopTime을 기준으로 폴백하도록 effectiveLength 로직 추가
2026-04-02 13:45:06 +09:00
d6d120cb61 chore: 애니메이션 클립 네이밍 체계화 및 에셋 정리
- Player 클립에 한손/양손/공용 프리픽스 추가 (강타→양손_강타, 베기→한손_베기, 구르기→공용_구르기 등)
- Drog 점프 클립을 점프시작/점프공중/점프착지로 분리
- 사용하지 않는 클립 삭제 (방어태세, 보호막, 철벽, _End 클립들 등)
- Common에 공중, 걷기, 점프 클립 추가
2026-04-02 13:34:53 +09:00
0402ca9b6c fix: SkillController 클립 자동 등록 필터 추가 및 Drog 프리팹 적용
- clipAutoRegisterFilter 필드 추가로 각 캐릭터별 클립 자동 등록 필터 분리
- 필터 좌우 _ 제거 로직 추가 (예: "_Drog_" → "Drog" 매칭)
- AutoRegisterPlayerClips → AutoRegisterClips으로 리네임
- Drog 프리팹에 clipAutoRegisterFilter = "_Drog_" 설정
- AC_Boss_Default의 Skill 상태 Motion을 baseSkillClip과 동일 에셋으로 수정
2026-04-02 12:45:11 +09:00
bd99283f17 refactor: FBX 애니메이션 클립 독립 .anim 추출 및 자동 등록 시스템 구축
- FBX 내장 AnimationClip을 개별 .anim 파일로 추출하는 에디터 툴 추가 (AnimationClipExtractor)
  - 스킬/보스/AnimatorController에서 참조 중인 클립만 선택적 추출
  - 추출 후 모든 참조(SkillData, BossPhaseData, AnimatorController)를 .anim으로 자동 relink
  - 추출 완료된 FBX 자동 삭제 (참조 안전성 검증 포함)
- SkillController: registeredClips를 OnValidate에서 _Player_ 이름 기반 자동 등록
- PlayerSkillInput: skillSlots를 OnValidate에서 _Skill_Player_ 이름 기반 자동 등록
- 38개 FBX 삭제, 40+개 .anim 파일로 교체 완료
2026-04-02 11:01:50 +09:00
affb241e85 chore: SkillRegistry 에셋 경로를 Data/Skills에서 Data로 이동 2026-04-02 11:00:16 +09:00
eadf9a7bde feat: 스킬 레지스트리 도입으로 빌드 스킬 포함 보장 및 기본 장착 구조 개편
- SkillRegistry ScriptableObject 추가: _Skill_Player_ 에셋을 자동 수집하여 빌드 포함 보장
- PlayerSkillInput에 Registry 참조 추가 및 AutoRegisterPlayerSkills 개편
  - 슬롯 0~5는 Inspector에서 디버그용 수동 설정 가능 (AutoRegister 불개입)
  - 슬롯 6(회피)에 구르기 스킬 자동 유지
  - OnValidate 호출 순서 변경: SyncLegacySkillsToLoadoutEntries → AutoRegisterPlayerSkills
- 플레이어 프리팹에 SkillRegistry 에셋 할당 (14개 플레이어 스킬 수집됨)
- 에디터 전용 EditorAllPlayerSkills 정적 프로퍼티로 전체 스킬 목록 접근 가능
2026-04-02 10:58:23 +09:00
5c2b9ccb69 feat: 애니메이션 클립 병합/잘라내기 에디터 툴 추가 및 메뉴 통합
- AnimationClipMerger: 여러 클립을 순서 조정 후 이어 붙이는 에디터 윈도우 추가
- AnimationClipTrimmerWindow: 시작/종료 프레임 지정으로 클립 잘라내기 에디터 윈도우 추가
- 기존 애니메이션 에디터 툴 메뉴를 Tools/Animation/ 서브메뉴로 통합
  - Merge Clips, Trim Clip, Reverse Clip, Section Speed Editor
2026-04-02 00:11:20 +09:00
7ff9332333 feat: 드로그 펀치R 스킬 및 애니메이션 추가
- Anim_Drog_펀치R 애니메이션 클립 및 FBX 에셋 추가
- Data_Skill_Drog_펀치R 스킬 데이터 생성
- Model_Enemy_Drog 프리팹 업데이트
2026-04-01 23:19:33 +09:00
ce883e4fa3 feat: 디버그 패널 스킬 강제 발동 및 UI 모드 토글 시스템 추가
- UIModeController: leftAlt 키로 커서 표시/게임플레이 입력 차단 토글 (공용 싱글톤)
- DebugPanelUI: 보스 스킬 강제 발동 섹션 추가 (드롭다운 + 발동/취소 버튼)
- 에디터에서 Data/Skills의 보스 이름 기반 스킬 검색, 빌드에서 패턴 슬롯 fallback
- BossCombatBehaviorContext.GetAllPatternSkills() 추가 (디버그용 스킬 목록 수집)
- TMP Settings에 한글 폰트(MaruBuri)를 fallback으로 등록
- 젬/패시브/디버그 토글 버튼을 우측 하단에 수직 정렬
- InputSystem에 UIMode 액션(leftAlt) 추가
2026-04-01 23:14:05 +09:00
3663692b9d feat: 무기 특성(WeaponTrait) 시스템 및 보조손 장착 구현
- WeaponTrait enum 추가 (Melee/TwoHanded/Defense/Magic/Ranged)

- SkillData에 allowedWeaponTraits 필드 및 MatchesWeaponTrait() 검증 메서드 추가

- WeaponEquipment에 보조손(오프핸드) 슬롯 지원 (장착/해제/스탯 보너스/네트워크 동기화)

- EquippedWeaponTraits 프로퍼티로 메인+보조 무기 특성 합산 제공

- PlayerSkillInput 4곳(OnSkillInput/RPC/CanUseSkill/DebugExecute)에 무기 trait 제약 검증 추가

- SkillSlotUI에 무기 불호환 시 회색 표시(weaponIncompatibleColor) 지원

- 기존 검 에셋에 weaponTrait=Melee 설정
2026-04-01 21:13:05 +09:00
2ec7216b6d chore: Zweihander 애니메이션 에셋 추가 (Knight_Zweihander_Animset)
- 공격: Attack01~10, Air Attack, Run Attack, SP Attack, Buff
- 방어: DefenseL1/L2/R1/R2, Block, Rebound, 방어 이동
- 공용: Idle, Equip, Unarm
- 이동: Walk, Run, Sprint, Strafe (8방향 Inplace/Root)
- 피격/사망, 구르기/회피 애니메이션 포함
2026-04-01 21:05:22 +09:00
02e4fe749e feat: 전진베기 애니메이션 구간 분할 및 회전베기·본대베기 클립 추가
- 전진베기를 WindUp/Hit/FollowThrough 서브클립으로 분할
- 회전베기(Anim_Player_회전베기) 애니메이션 클립 추가
- 본대베기(Anim_Player_본대베기) 애니메이션 클립 및 Ready 클립 추가
- BalanceDummy 씬에 AllyTargetingDebugTest 및 Temp_Player_Edit 추가
2026-04-01 16:46:38 +09:00
3015aa3c22 feat: 애니메이션 구간별 재생 속도 조절 에디터 툴 추가
- AnimationSectionSpeedEditor: 에디터 윈도우로 .anim 클립의 특정 프레임 구간 키프레임 간격 조절
  - In-Memory API 방식(AnimationUtility + SerializedObject)로 FBX 타임라인 확장 문제 회피
  - ImportAsset 미사용으로 Model Importer 재처리 차단
  - 본/IK/prop/eyeLight 모든 커브 동시 수정, Humanoid muscle curve만 제외
  - AnimationEvent 시간도 구간에 맞게 리맵핑
  - 접선 스케일링으로 속도 변경 시 곡선 형태 유지
- ReverseAnimation: 애니메이션 반전 에디터 스크립트 추가
2026-04-01 16:32:44 +09:00
e9e6257ad4 refactor: 집행개시 시그니처 전용 경로를 BT 일반 패턴 스텝으로 통합
- PatternStepType.ChargeWait 및 ChargeStepData 도입으로 충전/차단 판정을 일반 패턴 스텝으로 표현
- UsePatternByRoleAction에서 IsSignature 분기 완전 제거, 일반 패턴 경로로 통합
- BossCombatBehaviorContext에서 시그니처 전용 메서드 10개 이상 제거
- BossStaggerAction(신규): 충전 차단 성공 시 보스 경직 처리
- SignatureFailureEffectsAction(신규): 차단 실패 시 범위 피해/넉백/다운 적용
- RebuildDrogBehaviorAuthoringGraph에 시그니처 Sequence + outcomeBranch 구조 추가
- 집행개시 에셋 스텝 구성을 ChargeWait(3초) → Skill으로 변경
- BossHealthBarUI 시그니처 UI 비활성화, PlayerSkillDebugMenu 디버그 메서드 제거
2026-04-01 14:21:38 +09:00
0a0bc45209 fix: signature/combo 브랜치 RequiresAllConditions 누락 수정
- signatureBranch에 SetBranchRequiresAll(true) 추가
- comboBranch에 SetBranchRequiresAll(true) 추가
- 누락 시 패턴 준비만 되면 페이즈 조건 무시하고 발동 가능했음
2026-03-31 23:46:42 +09:00
d4b10fa5fd feat: 돌진 및 회전베기 스킬 애니메이션 클립 등록
- 돌진 스킬에 Anim_Player_전진베기 + 전진베기_End 클립 할당
- 회전베기 스킬에 Anim_Player_돌려베기 + 돌려베기_End 클립 할당
- Prefab_Player_Default registeredClips에 4개 클립 추가 (네트워크 동기화)
2026-03-31 23:10:55 +09:00
106e53c9aa feat: 아군 타게팅 시스템 구현 — SingleAlly 투사체형 치유/보호막
- 치유/보호막 스킬을 즉발 자가시전에서 투사체형 아군 1인 타겟팅으로 전환

- TargetType.SingleAlly 추가, targetOverride 매개변수로 외부 타겟 주입 지원

- PlayerSkillInput: 카메라 레이캐스트 기반 아군 탐지, 서버 검증, RPC 타겟 ID 전달

- AllyTargetIndicator: 호버 아군 위에 디스크 인디케이터 표시, 사거리/초과 색상 변경

- SpawnEffect: 타겟 방향 회전 보정

- 투사체 스폰 이펙트 에셋 생성 (치유/보호막 각각)

- 인디케이터 프리팹 + URP/Unlit 머티리얼 생성

- Player 프리팹에 AllyTargetIndicator 컴포넌트 추가 및 설정

- Input.mousePosition → Mouse.current.position.ReadValue() 수정 (Input System 호환)
2026-03-31 23:08:46 +09:00
2c6a65d406 feat: 드로그 Phase 3 연타2강타-도약 조합 패턴 추가
- Phase 3 대표 조합 패턴 에셋 생성 (Data_Pattern_Drog_연타2강타-도약)
  - 연타2-강타(오른손치기+스윙) → 대기 0.5초 → 조건부 도약(점프+점프착지)
  - minPhase=3, category=Big, cooldown=22초
  - 거리 초과 대상 없으면 도약 스킵
- BT에 조합 패턴 브랜치 추가 (comboBranch → Sequence 구조)
  - Sequence: 연타2강타 실행 → Branch(거리 초과 대상 존재?) → 도약 실행
  - IsTargetBeyondDistanceCondition으로 조건부 도약이 BT에 시각화됨
- Drog 프리팹 comboPattern 슬롯에 에셋 할당
- 도약 패턴에 targetMode: Mobility 추가
- BT 리빌드 스크립트에 combo Sequence 구조 반영
- 전체 노드 간격 확대 (stepY 220→320)으로 가독성 개선
2026-03-30 17:41:42 +09:00
c6fc56e9c6 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 에셋 자동 재구성 메뉴 제공
2026-03-30 15:34:21 +09:00