Namespace Framework.Systems.Camera
Classes
- AimBehavior
Aim Behavior. 조준 시 FOV 축소 및 오프셋 이동. Enable/Disable로 조준 진입/해제.
- CameraAuthorityService
카메라 제어권(Authority) 중앙 관리 서비스.
- CameraBlendService
카메라 Blend 서비스. Mode 전환 시 하드 컷 방지. Curve 기반 Position/Rotation/FOV 동시 보간.
- CameraBrain
카메라 오케스트레이션 전용 단일 진입점. Update: Input 처리 → Mode Tick. LateUpdate: Pipeline 실행 → Camera 반영.
- CameraCollisionSolver
카메라 충돌 해결기. SphereCast 기반 벽 관통 방지. LateUpdate 최종 단계에서 Pipeline이 호출.
- CameraContext
카메라 파이프라인 컨텍스트. 파라미터 폭발 방지. Mode/Behavior/Pipeline 전 단계에서 공유.
- CameraDebugger
카메라 디버그 시각화. Gizmo 및 GUI Overlay. Editor/Development Build에서만 활성화.
- CameraInputAdapter
카메라 입력 어댑터 구현체. New Input System 기반. Mode/Behavior에서 Unity Input 직접 참조 금지. 감도/반전은 이 어댑터에서 처리.
- CameraPipelineRunner
카메라 파이프라인 실행기. 고정 실행 순서: Mode Pose → Behavior → Motion → Collision → Modifier → Blend → Solver. 순서 변경 금지.
- CameraRig
카메라 Rig Transform 참조 저장 전용. 규칙: Transform 참조 저장만 담당. 로직 구현 금지. 구조: CameraRoot └─ YawPivot └─ PitchPivot └─ CameraMount (Camera 위치)
- CameraRuntimeState
카메라 핵심 실시간 상태. 프레임 간 지속되는 값 저장. Brain이 소유, Context를 통해 공유.
- CameraSystem
ICameraSystem 구현체. CameraBrain 위에 얹히는 Gameplay Facade.
- CameraTargetGroup
여러 Transform을 하나의 카메라 추적 대상으로 묶어 중심/범위를 제공.
- CinemachineBridge
Cinemachine 연결 브릿지. 연출 전용. 허용: Timeline/컷신/대화/Scripted Camera/보스 등장. 금지: TPS/FPS 핵심 플레이 카메라를 Cinemachine 의존 구조로 구현. Brain의 CinematicMode와 연동해서 사용.
- CinematicMode
연출 전용 카메라 모드. 외부(Cinemachine 연동 등)에서 Pose를 직접 주입. 게임플레이 중에는 사용 금지. 컷씬/대화 연출은 Cinemachine 사용 권장.
- FinalSolver
Pipeline 최종 단계. CameraPose를 Unity Camera에 반영. 이 클래스만 camera.transform을 수정할 수 있다.
- FirstPersonCameraConfig
1인칭 카메라 설정 ScriptableObject.
- FirstPersonCameraProfile
1인칭 카메라 설정 묶음. 생성: Create > Framework > Camera > Profiles > FirstPerson
- FirstPersonMode
1인칭 카메라 Pose 계산기. 책임: 눈 위치 / 회전 / FOV 계산만. 금지: Shake/Collision/Blend/Zoom/HeadBob 내부 구현. Unity Input 직접 참조.
- FollowBehavior
Follow Behavior. FollowTarget 위치 추적. Mode와 독립적으로 조합 가능.
- FreeMoveBehavior
Spectator 카메라 자유 이동 Behavior. WASD + 수직 이동 + 부스트를 ICameraInputAdapter 경유로 처리.
- HeadBobConfig
HeadBobModifier 설정 ScriptableObject.
- HeadBobModifier
걷기/달리기 중 카메라 상하좌우 흔들림 Modifier. Priority 80 — NoiseModifier(90) 이전에 적용.
- LockOnBehavior
LockOn Behavior. TPS/TopDown/QuarterView 어떤 Mode와도 조합 가능. 타겟 자동 탐색 및 추적. Mode 내부 구현 금지.
- LookAtBehavior
LookAt Behavior. LookAtTarget 방향으로 카메라 회전 보정.
- ModifierStack
Modifier 레이어 스택. Priority 순으로 정렬 후 순차 적용.
- MotionProcessor
카메라 이동 보간 전담 처리기. SmoothDamp / Spring / AxisDamping 담당. 금지: Mode 내부에 직접 damping 로직 작성.
- MotionSettings
Motion 보간 설정. Config에서 주입.
- NoiseModifier
상시 Perlin Noise 카메라 흔들림 Modifier. 호흡감 연출 등에 사용.
- OrbitBehavior
Orbit Behavior. ICameraInputAdapter 입력 기반 궤도 회전. 금지: Unity Input 직접 참조.
- QuarterViewCameraProfile
쿼터뷰 카메라 설정 묶음. 생성: Create > Framework > Camera > Profiles > QuarterView
- QuarterViewMode
쿼터뷰 기본 Pose 계산기. 고정 Pitch/Yaw 각도에서 등각 시점 제공.
- RecenterBehavior
Auto Recenter Behavior. 입력 없을 때 카메라를 FollowTarget 전방으로 자동 복귀. ICameraInputAdapter.IsRecenterRequested 기반.
- RecoilModifier
반동 Modifier. 총기 발사 등 충격 후 복귀 처리.
- ShakeModifier
카메라 Shake Modifier. Perlin Noise 기반 흔들림. Modifier Stack에 등록해서 사용.
- SpectatorCameraProfile
관전/자유 카메라 설정 묶음. 생성: Create > Framework > Camera > Profiles > Spectator
- SpectatorMode
자유 카메라 (Spectator) Pose 계산기. 회전만 담당. 이동은 FreeMoveBehavior에 위임.
- ThirdPersonCameraProfile
TPS 카메라 설정 묶음. Inspector 에서 이 에셋 하나만 연결한다.
- ThirdPersonMode
TPS 기본 Pose 계산기. 책임: 위치/회전/거리 계산만. 금지: Shake/LockOn/Collision/Blend/Zoom/Recoil 내부 구현. 금지: Unity Input 직접 참조.
- TopDownCameraProfile
탑뷰 카메라 설정 묶음. 생성: Create > Framework > Camera > Profiles > TopDown
- TopDownMode
탑뷰 기본 Pose 계산기. 책임: 고정 높이/각도에서 위치 계산만.
- ZoomBehavior
FOV 기반 줌 Behavior. 스크롤 입력 → CurrentFov 변경.
Structs
- CameraPose
카메라 상태 스냅샷. 모든 시스템은 이 구조체만 계산한다. 금지: camera.transform.position = xxx 직접 수정.
Interfaces
- ICameraBehavior
Mode와 독립적으로 조합 가능한 기능 단위. Unity Input 직접 참조 금지.
- ICameraBlendService
Mode 전환 시 하드 컷 방지. 반드시 Blend 경유.
- ICameraBrain
카메라 시스템 단일 진입점 계약.
- ICameraInputAdapter
Mode/Behavior 내부에서 Unity Input 직접 참조 금지. 반드시 이 인터페이스 경유.
- ICameraMode
기본 Pose 계산만 담당. Shake/LockOn/Collision/Blend 내부 구현 금지. Unity Input 직접 참조 금지.
- ICameraModifier
Pipeline 후반부에서 Pose에 효과를 레이어 방식으로 적용. Shake/Noise/Recoil/Offset.
- ICameraSystem
Camera System Gameplay 진입점 계약. Gameplay 코드는 이 인터페이스 하나만 주입받는다.
Enums
- CameraAuthority
카메라 제어권 소유자 유형. 동시 제어 충돌 방지.
- CameraModeType
카메라 모드 열거형.
- CameraModifierPriority
Modifier 실행 우선순위. 낮은 값이 먼저 실행된다. [규칙] 매직 넘버 사용 금지. 이 enum 사용.