画角からカメラの距離を求める

画面のサイズと画角からカメラの距離を求めるコード。すぐ忘れるので。

depth = ( 0.5*height ) / tan( 0.5*fov )
// 高さは幅とアスペクト比から求めたり、対象のバウンディングから求める
float height = 9.0f; // 仮に 9m
float upFovDegrees = 60.0f; // 画角
float halfHeight = 0.5f * height;
// 半分のラジアン
float halfAngleRadians = 0.5f * upFovDegrees * Mathf.Deg2Rad;
// 高さと画角から距離を求める
float depth = halfHeight / Mathf.Tan( halfAngleRadians);
// 実装次第だが、仮に Unityのカメラに設定する 
camera.transform.position = new Vector3( 0, 0, -depth);

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です