Question>
카메라의 위치를 폰 뒤로 빼고 팔과 무기를 숨겨서 3인칭을 대충 구현은 했습니다.
그런데 카메라가 상하로 180도 회전이 되더군요?
저는 45도 정도로 제한을 두고 싶은데 어떻게 하면 될까요.
-------------------------------------------------------------
Answer>
아래의 class와 함수들을 참고하시고요.
unreal engine 3(or UDK):
class PlayerController;
event Rotator LimitViewRotation( Rotator ViewRotation, float ViewPitchMin, float ViewPitchMax );
unreal engine 4:
class APlayerCameraManager;
void APlayerCameraManager::LimitViewPitch( FRotator& ViewRotation, float InViewPitchMin, float InViewPitchMax );
void APlayerCameraManager::LimitViewRoll( FRotator& ViewRotation, float InViewRollMin, float InViewRollMax);
void APlayerCameraManager::LimitViewYaw(FRotator& ViewRotation, float InViewYawMin, float InViewYawMax);
camera의 회전 제한하려면,
위 내용의 class를 상속받아서, 관련 함수들을 재정의하시기 바랍니다.^^
P.S.
unreal engine 3(or UDK) 기준으로 상세히 설명하자면..^^;;;;
class PlayerController를 상속하셔서,
님의 class(예를 들면 class YourPlayerController)를 만드시고,
YourPlayerController::LimitViewRotation()의 결과 값에 대해서,
pitch, yaw, roll을 님이 원하시는대로 제한해서 결과 값을 돌려 주시면 됩니다.^^
여기서 제일 중요한 건!!!
YourPlayerController::LimitViewRotation()에서 제한이 이루어져야 한다는 겁니다!!! ^^
PlayerController::LimitViewRotation()에서 제한이 이루어지는 게 아닙니다.@_@;;;;;
만약에 PlayerController::LimitViewRotation()를 님이 직접 수정하신다면,
같이 일하시는 동료한테, 욕을 바가지로 먹어도 감수하셔야 합니다.@_@;;;;;;;;;
Tag:
안기훈, Kee Hoon Ahn, 언리얼, Unreal, UDK, iPhone, iPad, app, 앱, iOS