トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

UnityとFov設定

バラバラと書いてます

人間の目のfov

映像制作では、人間の視野に近い20~50度の中望遠レンズの方が多用される

~

標準レンズの焦点距離は50mm程度で、画角は50度程度となる。「人がリラックスしているときの視野に近いとされており、日常風景の描写や、平和・安心といった雰囲気を演出したい場合に適しています。

cgworld.jp

 

 

 焦点距離50ミリ(35ミリフィルム換算)というのは、人間の視野角にもっとも近いと言われている

www.itmedia.co.jp

 35mmフィルムで焦点距離50の時の画角

f:id:bibinbaleo:20200706151523p:plain

keisan.casio.jp


https://www.fit.ac.jp/~m-ishihara/Lab/openlab/2016/s13a1021.pdf

Unityで設定する

unityカメラのfovは垂直方向の角度

度単位でのカメラの視野。

これは垂直方向の視野です。水平方向の視野は、ビューポートのアスペクト比によって異なります。カメラが正投影されたときに視野が(参照無視され、正射投影)。

docs.unity3d.com

PhysicsCamera

PhysicsCameraにチェックを入れると、物理カメラの数値をもとにFovを設定できる。

単位はmm

カメラ - Unity マニュアル

FocalLength(焦点距離)=50、センサーサイズを36,24にしたらFovは26.991になった

f:id:bibinbaleo:20200706151558p:plain

FoVの数値は変わっていないのに、PhysicsCameraをオンにしている時としていない時で、映り方が違う。

GateFitを Verticalにしたら変わらない

Gate Fit を Vertical に設定すると、Unity は解像度ゲートをフィルムゲートの高さ (Y 軸) に合わせます。センサーの幅 (Sensor Size > X) を変更しても、レンダリングされた画像には影響しません。

docs.unity3d.com

結果

27ぐらいにしたら人間の目の見え方と同じになるということなのかな・・・

あってるのかな~

ググってもそういう設定している人いない。他の人もしてそうなもんだけど。

AR

ARするときfovは端末のカメラの画角によって変わっているのか?

VRは端末によって変わっているらしい。

一部のVR SDKには、VRカメラに使用される固定視野値があります。これらのSDKでVRが有効になっている場合、このプロパティは常にSDKから値を返します。プロパティを設定しようとすると警告がログに記録され、値は無視されます。

Camera-fieldOfView - Unity スクリプトリファレンス

 

エディタではデフォルトは60

f:id:bibinbaleo:20200703162758p:plain

極端な数値にして実行してもちゃんと現実空間にあった表示がされてたので、変更されているっぽい!

だが、ARInputManagerとARCameraBackgroundをオフにした状態だとfovはエディタで設定した数値のままだった。つまりどちらかでfovを変えている。どっちだろ〜

 

下のスレッドはVuforiaで強制的にfovを変更しようと試みている。

developer.vuforia.com

やはり、デバイスから強制的にfovを変更しているので、上書きでfovを変更するのは大変らしい。

( このARの項はこの記事にも書きました)

bibinbaleo.hatenablog.com

キャラがかわいいFov

f:id:bibinbaleo:20200703162804p:plain

雑誌の表紙風VRM - トマシープが学ぶ