MRが楽しい

MRやVRについて学習したことを書き残す

Unityでカメラの投影方式を透視投影と平行投影で切り替える

本日は Unity の小ネタ枠です。
Unityでカメラの投影方式を透視投影と平行投影で切り替える方法を記事にします。

透視投影と平行投影

透視投影と平行投影はカメラから見た物体の見え方が異なる2つの投影方式です。
透視投影は近くのものは大きく見え、遠くのものは小さく見える実際の視点に近い見え方になります。
平行投影は近くのものも遠くのものも同じ大きさで表現される図面などで用いられる見え方です。
docs.unity3d.com

Unityのカメラの投影方式を切り替える

Unity のカメラのデフォルト設定では[透視投影]の投影方式が用いられます。
Camera コンポーネントを開いて[Projection]の設定が[Perspective]である場合、透視投影の見え方になります。
f:id:bluebirdofoz:20220301231256j:plain
f:id:bluebirdofoz:20220301231305j:plain

[Projection]の設定を[Orthographic]に切り替えると、平行投影の見え方に切り替えることができます。
f:id:bluebirdofoz:20220301231314j:plain
f:id:bluebirdofoz:20220301231323j:plain

より広い範囲を描画する場合

2つの投影方式でより広い範囲を描画する方法を試してみます。
透視投影([Perspective])でより広い範囲を描画したい場合、カメラを遠ざけるか画角([Field Of View])の設定をより広い角度に設定します。
・カメラを遠ざける場合
f:id:bluebirdofoz:20220301231333j:plain
f:id:bluebirdofoz:20220301231343j:plain

・画角を広げる場合
f:id:bluebirdofoz:20220301231353j:plain
f:id:bluebirdofoz:20220301231402j:plain

平行投影([Orthographic])では投射線が真っすぐなため、カメラを遠ざけても広い範囲が描画されません。
平行投影でより広い範囲を描画したい場合は投影面の範囲([Size])をより大きく設定します。
・カメラを遠ざけた場合(描画範囲は変わらず)
f:id:bluebirdofoz:20220301231412j:plain
f:id:bluebirdofoz:20220301231423j:plain

・投射面を広げる場合
f:id:bluebirdofoz:20220301231432j:plain
f:id:bluebirdofoz:20220301231442j:plain