2017-04-21 28 views
0

我正在使用與holotoolkit的統一開發應用程序hololens。問題是無論輸入什麼值,主攝像頭的視場(FOV)始終爲16.97196。我甚至添加了一個腳本來故意將FOV值設置爲60,但重置爲16.97196。可以根據用戶要求設置FOV值。使用holotoolkit FOV的Unity hololens總是16.97196

FOV

回答

4

實際hololens設備運行在17〜FOV,Holotoolkit將攝像頭的視界〜16.97獲得相同的輸出,同時發展和團結測試。

當您爲Hololens開發應用程序時,沒有任何理由在統一測試時更改FOV並具有與實際Hololens設備不同的輸出。

此外,你可以得到問題的詳細信息here

+0

感謝您的回覆。之所以我想改變FOV,是因爲我需要在一個球體中播放360視頻。視頻看起來非常接近,無法獲得理想的結果。 360球的標準FOV是60 – Muniraj

1

您可以通過腳本直接設置另一個投影矩陣到攝像機來縮短FOV。舉例來說,如果你需要60度視界你可以寫:

public class SetCameraProjectionMatrix : MonoBehaviour 
{ 
    public float fieldOfViewOverride = 60.0f; 

    void Start() 
    { 
     Camera cam = GetComponent<Camera>(); 
     Debug.AssertFormat(cam != null, "No {0} component on game object named {1} as expected.", typeof(Camera), gameObject.name); 
     cam.projectionMatrix = Matrix4x4.Perspective(fieldOfViewOverride, cam.aspect, cam.nearClipPlane, cam.farClipPlane); 
    } 
} 

Camera.projectonMatrix屬性文件:然後https://docs.unity3d.com/ScriptReference/Camera-projectionMatrix.html

的視場被忽略,直到相機的方法ResetProjectionMatrix被調用。

+0

不,它沒有改變FOV。 – Muniraj

+0

FOV屬性本身不會隨着另一個投影矩陣而改變。難道它或者你看到的那個不會改變嗎? – RCYR

+0

FOV值保持不變,相同16.97 – Muniraj