Unity

[Unity] VR Camera Init하기(Position, Rotation)

Guk-blog 2021. 2. 8. 15:13
728x90
반응형

VR로 개발하고 실행했을 때

의도하는 위치와 회전값으로

초기화하기 위한 함수입니다.

targetCameraTrans에는 씬 안에 빈 오브젝트를 만드시고

의도하시는 위치에 회전값을 적절히 조절하여 세팅해주시고

아래 클래스에 public 변수에 붙여주시면 됩니다

그리고 아래 클래스는 CameraRig 혹은 Player에 붙여주시면 됩니다.

VR에선 카메라를 직접적으로 변경 시킬 수 없으니까요 ㅎㅎ

public transform targetCameraTrans;
Camera _mainCam;

void Start(){
		_mainCam = Camera.Main;
        SetCameraPos();
        SetCameraRot();
	}

void SetCameraPos()
    {
        Vector3 gap = _mainCam.transform.position - transform.position;//_mainCam.transform.position - targetCameraTrans.position;
        //gap.y = 0f;
        transform.position = targetCameraTrans.position - gap;
    }


void SetCameraRot()
    {
        float gap = _mainCam.transform.rotation.eulerAngles.y - targetCameraTrans.rotation.eulerAngles.y;
        transform.Rotate(0f, -gap, 0f);
    }
728x90
반응형