如何讓Maya中的相機和Unity相機的FOV(Angle of View)對上


問題:

Unity中的Camera的FOV和Maya中Camera的Angle of View即使設置成相同值,預覽時結果會有很大差異

原因:

Unity Camera的FOV是 Vertical FOV的角度
Maya Camera的Angle of View是 Horizontal FOV的角度
 
 

解決方法

先保證Maya和Unity中的Aspect Ratio一致,然后再按照長寬比換算兩者各自應該使用的FOV或者Angle of View。
 
例如按照下面的方式設置,即可實現兩邊完全一樣
Unity中的設置:
  • Field of View:45
  • AspecRatio:4/3

Maya中的Camera設置:

  • Angle of View:60
  • AspecRatio:4/3

不同Aspect Ratio的屏幕適配

我們游戲中對不同Aspect Ratio的屏幕的適配方法是:
  • Vertical FOV維持不變
  • Horizontal FOV  = VerticalFOV * AspectRatio
也就是說 使用16:10設備的用戶在水平方向上看到的東西比使用4:3屏幕的用戶多!
制作過場動畫或者和相機關系密切的動畫時,建議在Maya中以4:3屏幕為准,以保證沒有東西跑到畫面外
 

2015年7月11號更新

經過反復測試發現horizontalFov和verticalFov的關系並沒有那么簡單。
橫縱FOV與長寬比的關系如下:
tan(hFOV/2) = tan(vFOV/2) * aspect
 
針對我們的需求,horizontalFov為90°,verticalFov為60°,那么aspect應該是:
tan(hFOV/2) = tan(vFOV/2) * aspect
aspect = tan(hFOV/2) / tan(vFOV/2)
aspect = tan(90/2) / tan(60/2)
aspect = tan(45) / tan(30)
aspect = 1 / 0.57735 = 1.732
結論:當aspect為1.732的時候,攝像機的horizontalFov為90°,verticalFov為60°






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM