2016-11-07 4 views
1

Unity3d와 Google Cardboard SDK를 사용하여 앱을 개발 중입니다. 개별 Cardboard 카메라의 시야 특성을 얻으려고했습니다. 이것은 편집기에서 잘 작동하지만 안드로이드에 카메라를 만들면 카메라의 fieldOfView 속성이 잘못된 값을 반환하는 것처럼 보입니다.Google 골판지 카메라를 얻는 방법 FOV?

Camera cam = GameObject.FindWithTag("Camera_Left").GetComponent<Camera>(); 
float fov = cam.fieldOfView; 

올바른 방법은이 방법입니까?

모든 의견을 매우 높이 평가합니다.

편집하는 것은

나는 FOV를 변경할 필요가 없습니다 명확합니다. 난 단지 정확한 수직 FOV 값에 접근 할 필요가있다. 나는 게임 객체가 FOV를 사용하여 카메라에 나타날 크기를 계산하려고 시도하고 있습니다.

답변

2

VR을 사용할 때 fieldOfView을 결정하는 많은 값이 있습니다. 더 이상 Camera.fieldOfView 속성이 아닙니다. StereoController 클래스는이를 확인하기 위해 사용해야합니다.

StereoController stereoCtrl = GvrViewer.Controller; 
Debug.Log("Fov: "+stereoCtrl.matchMonoFOV); 

같은 stereoCtrl.stereoMultiplierstereoCtrl.matchByZoom 보는 다른 변수가 있습니다.

+0

안녕하세요, 저는 이것을 살펴 보았습니다. 그러나 내가 틀린 것이 아니라면 matchMonoFOV는 0과 1 사이의 범위를 가지며 VR 카메라가 모노 카메라의 FOV를 매치하는 정도를 설정합니다 .. 명확히하기 위해 FOV를 변경할 필요가 없습니다. 난 단지 정확한 수직 FOV 값이 필요합니다. 카메라와 FOV의 거리에 따라 게임 개체가 카메라에 나타나는 크기를 계산하려고합니다. – Matt

+0

** "명확히하기 위해 FOV를 변경할 필요가 없습니다"** 나는 코드에서 아무것도 변경하지 않았습니다. 'StereoController stereoCtrl = GvrViewer.Controller'는'stereoCtrl.matchMonoFOV'로 속성에 접근 할 수 있도록 현재 인스턴스'StereoController'를 가져옵니다. 따라서 질문에 대한 귀하의 의견 및 편집은 의미가 없습니다. – Programmer

+0

'0과 1'을 각도로 변환하는 방법을 찾아야합니다. 'matchMonoFOV'는 당신이 찾고있는 것입니다. – Programmer