Программные настройки поля зрения в Unity приводят к неверным значениям - PullRequest
0 голосов
/ 07 января 2020

Я играю с камерой в Unity, где я изменяю ее свойства с помощью скрипта. Одним из свойств является Camera.fieldOfView. Это свойство зависит от фокусного расстояния и размера датчика.

Для фиксированного фокусного расстояния я вычисляю размер сенсора для желаемого поля зрения. Когда я назначаю размер сенсора и фокусное расстояние, поле зрения, рассчитанное Unity, не соответствует ожидаемому.

Мои расчеты аналогичны этим и кажутся правильными.

Использует ли Unity другую модель для своей камеры, чем модель Пинхолда? Откуда взялись несоответствия?

1 Ответ

0 голосов
/ 07 января 2020

Если бы я внимательно прочитал документацию , я бы знал, что Camera.fieldOfView определяется как:

Это вертикальное поле зрения; горизонтальное поле зрения меняется в зависимости от соотношения сторон окна просмотра.

Мои вычисления были для горизонтального поля зрения, и я не понял, что я назначаю вертикальное поле зрения камеры. Таким образом, отображаемое поле обзора постоянно отключалось с коэффициентом, равным формату изображения датчика.

В Unity вам необходимо , чтобы отрегулировать обе камеры: fieldOfView и aspect для настройки горизонтального поля. зрения

...