2013-12-13 27 views
2

我正在將一些3D模型從Rhino 3D導入Unity。這樣做時,我需要導入攝像機視圖。在犀牛他們有屬性焦點和在團結我們有視野。 我需要將焦距轉換爲視場。我發現了一個公式,將值轉換這裏 http://paulbourke.net/miscellaneous/lens/
我打算用這個公式
視圖= 2 ATAN(0.5高度/焦距)
我的問題是的垂直場我怎樣才能找到的值高度。我不確定我在Unity中從哪裏獲得。焦距到視場

感謝

回答

2

數學是不是我的強項,但我不記得在一定BFBC2 fov tool

hFov = 2 * atan(tan(vFov/2) * width/height)

其中寬度和高度是你當前的屏幕分辨率尺寸,使用的公式。 我希望這對你的目的是正確的。

2

要回答我的問題,這是我最後使用的公式。希望這對任何有類似問題的人都有用。

在C#代碼在Unity

// Standard film size 
int filmHeight = 24; 
int filmWidth = 36; 

// Formula to convert focalLength to field of view - In Unity they use Vertical FOV. 
// So we use the filmHeight to calculate Vertical FOV. 
double fovdub = Mathf.Rad2Deg * 2.0 * Math.Atan(filmHeight/(2.0 * focalLen)); 
float fov = (float) fovdub;