Проекция Panini в Unreal Engine 4

0
151
Проекция Panini в Unreal Engine 4

Конфигурация

По умолчанию Unreal Engine 4 использует перспективную проекцию. Однако эта проекционная модель создает искажения геометрии при работе с широким полем обзора. Это очень заметно, например, здесь сфера и FOV = 120.проекционная модель создает искажения геометрии ue4

Поэтому Unreal Engine предоставляет дополнительный шаг пост-обработки, который пытается исправить эту проблему с помощью Panini Projection. Идея этой пост-обработки заключается в смещении отображаемого пикселя в том месте, где они должны использовать проекцию panini вместо проекции перспективы. Для настройки единственное, что вам нужно сделать, это установить r.Upscale.Panini.D > 0. Этот эффект пост-обработки выполняется в окне Upscaling pass. Это означает, что этот шаг затем будет использоваться, если r.ScreenPercentage != 100 или r.Upscale.Panini.D > 0. Для дальнейшего понимания этого параметра вы можете обратиться непосредственно к оригинальной исследовательской работе, указанной в нижней части этого страницы.Panini Projection ue4

r.Upscale.Panini.D > 0 прямо подчеркивает эффект. Однако это не единственный параметр. r.Upscale.Panini.S lerp с жестким сжатием бумаги. И если еще какая-то сфера по-прежнему выглядит эллипсом в углах, то этот параметр также может быть изменен. Тем не менее, для r.Upscale.Panini.S < 0, запуск показывает не закрашенные черные пиксели в углах.незакрашенные черные пиксели в углах ue4

Чтобы лучше понять, как работают эти эффекты, можно также изменить параметр r.Upscale.ScreenFit. Одна вещь, о которой нужно иметь в виду, состоит в том, что некоторые из перспективных пикселей в конце не отображаются на экране вблизи верхней и нижней части экрана.некоторые из перспективных пикселей не отображаются на экране ue4

Прямые линии

Проекция panini приносит гарантии на линию. Во-первых, вертикальные линии гарантировано остаются прямыми для любых r.Upscale.Panini.D и r.Upscale.Panini.S. Во-вторых, линии, проходящие через центр экрана, гарантировано остаются прямыми, а также для любого r.Upscale.Panini.D, но r.Upscale.Panini.S = 0. Таким образом, это математическое свойство идеально подходит для игры – Шутер от первого лица, потому что проекция панини оружия, направленная к центру экрана, будет держать свои прямые линии в направлении центра.Проекция panini приносит гарантии на линию ue4

Проекция panini приносит гарантии на линию ue4

Центр Bluryness

Одна из проблем этого эффекта пост-обработки заключается в том, что размытие в центре экрана происходит с увеличением значения r.Upscale.Panini.D. Проекция панини была реализована в высококлассном проходе, особенно для того, чтобы получить заострение фильтра для борьбы с этим явлением. Однако это может быстро стать недостаточным для решения этой проблемы. Поэтому вам может потребоваться увеличить r.ScreenPercentage, чтобы помочь исправить эту проблему, но это будет стоить рендеринга во всех ваших показателях из-за увеличения количества пикселей для рисования. Вы можете подумать о лучшем выборе, а затем выбирать более низкое значение r.Upscale.Panini.D на аппаратном обеспечении, которое не может позволить себе более высокий процент экрана, и по-прежнему получать этот эффект, полагаясь только на фильтр заострения резкости.

Проекция Panini в Unreal Engine 4Другим способом использования проекции Panini является функция Material, отображающая смещение по мировому положению, которое должно быть подключено к входному штырю смещения по мировому положению материала. Это фактически то, что использует Unreal Tournament вместо того, чтобы давать оружие в другом FOV, чтобы исправить искажения проекции перспективы. Возможно, вам захочется взглянуть на него в репозитории github UT.

Рекомендации

  • Сайт оригинальной статьи.
  • Оригинальная статья.

 

 

 

 

 

 

 

 

 

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: