Class CameraSystem
ICameraSystem 구현체. CameraBrain 위에 얹히는 Gameplay Facade.
public sealed class CameraSystem : ICameraSystem
- Inheritance
-
objectCameraSystem
- Implements
Remarks
[규칙] CameraBrain 은 Framework 내부 오케스트레이터. 이 클래스 밖으로 노출 금지. [규칙] 블렌드 기본값은 DefaultBlend(생성자 주입). 없으면 instant 처리. MonoBehaviour 가 아니므로 DI 컨테이너에서 Singleton 으로 관리. CameraBrain(MonoBehaviour) 은 씬에서 RegisterComponentInHierarchy 로 주입받는다.
Constructors
CameraSystem(CameraBrain, CameraAuthorityService, ICameraBlendService, CinemachineBridge)
public CameraSystem(CameraBrain brain, CameraAuthorityService authority, ICameraBlendService blend, CinemachineBridge cinemachineBridge = null)
Parameters
brainCameraBrainauthorityCameraAuthorityServiceblendICameraBlendServicecinemachineBridgeCinemachineBridge
Methods
DisableAim()
조준 모드 해제.
public void DisableAim()
EnableAim()
조준 모드 진입. FOV 축소 및 오프셋 적용.
public void EnableAim()
EnterCinematic()
연출 모드 진입. Authority 획득 → Gameplay 카메라 정지 → Cinemachine 활성화.
public void EnterCinematic()
ExitCinematic()
연출 모드 종료. Cinemachine 비활성 → Authority 반납 → 이전 모드 복귀.
public void ExitCinematic()
Initialize(SpectatorCameraProfile)
관전 프로파일 기반 초기화.
public void Initialize(SpectatorCameraProfile profile)
Parameters
profileSpectatorCameraProfile
Initialize(Transform, FirstPersonCameraProfile)
1인칭 프로파일 기반 초기화.
public void Initialize(Transform followTarget, FirstPersonCameraProfile profile)
Parameters
followTargetTransformprofileFirstPersonCameraProfile
Initialize(Transform, QuarterViewCameraProfile)
QuarterView 프로파일 기반 초기화.
public void Initialize(Transform followTarget, QuarterViewCameraProfile profile)
Parameters
followTargetTransformprofileQuarterViewCameraProfile
Initialize(Transform, ThirdPersonCameraProfile)
TPS 프로파일 기반 초기화.
Start() 에서 1회 호출. 이후 SetMode 로 모드를 지정한다.
public void Initialize(Transform followTarget, ThirdPersonCameraProfile profile)
Parameters
followTargetTransformprofileThirdPersonCameraProfile
Initialize(Transform, TopDownCameraProfile)
TopDown 프로파일 기반 초기화.
public void Initialize(Transform followTarget, TopDownCameraProfile profile)
Parameters
followTargetTransformprofileTopDownCameraProfile
LockOn()
자동 탐색으로 LockOn 활성화.
public void LockOn()
LockOn(Transform)
지정 타겟으로 LockOn 활성화.
public void LockOn(Transform target)
Parameters
targetTransform
Recoil(Vector3)
반동 추가. 누적 가능.
public void Recoil(Vector3 recoil)
Parameters
recoilVector3
SetFollowTarget(Transform)
추적 대상 런타임 교체. 차량 탑승 / 빙의 등.
public void SetFollowTarget(Transform target)
Parameters
targetTransform
SetMode(CameraModeType)
기본 블렌드로 모드 전환.
public void SetMode(CameraModeType mode)
Parameters
modeCameraModeType
SetMode(CameraModeType, bool)
즉시 전환 (블렌드 없음) 또는 duration 오버라이드.
public void SetMode(CameraModeType mode, bool instant)
Parameters
modeCameraModeTypeinstantbool
SetMode(CameraModeType, float)
블렌드 지속 시간을 지정해 모드 전환.
public void SetMode(CameraModeType mode, float blendDuration)
Parameters
modeCameraModeTypeblendDurationfloat
Shake(ShakeConfig)
카메라 흔들림 트리거.
public void Shake(ShakeConfig config)
Parameters
configShakeConfig
Unlock()
LockOn 해제.
public void Unlock()