Предотвращение мерцания текстур и теней в ARkit и SceneKit при использовании больших 3D-моделей на расстоянии - PullRequest
1 голос
/ 15 апреля 2019

Я пытаюсь разместить большую 3D-модель высотой в несколько сотен метров на разных расстояниях от камеры. Текстура моделей и тени сильно мерцают, что разрушает ощущение погружения, даже при настройке свойств z-near и z-far камеры и источников света. Это особенно верно при включении освещения и теней (источник внешнего освещения и направленный).

Существует ли оптимальное значение z-near и z-far как для камеры, так и для источников света, которые могут уменьшить мерцание? Или есть какие-то другие свойства, которые можно установить для более точного рендеринга сцены? Или SceneKit просто недостаточно хорош для рендеринга таких больших объектов на большом расстоянии, и вместо этого я должен использовать Unity или Unreal?

Я видел, что у SCNLight есть свойство .shadowBias, которое могло бы стать потенциальным решением, но я понятия не имею, что будет хорошей ценностью, и из того, что я видел до сих пор, это ничего не меняет.

1 Ответ

0 голосов
/ 28 апреля 2019

Если чистые высокоуровневые объекты SceneKit View (в приложении VR) можно визуализировать в пределах 3000 (и более) метров от SCNCamera без мерцающих артефактов, объекты View ARKit (в приложении AR) не могут этим похвастаться, поскольку максимум Допустимое расстояние для рендеринга (без визуальных расхождений) 3D-объектов и их шейдеров в ARSCNView ARKit составляет не более 950 метров (но оптимальное расстояние составляет 300-700 метров).

Я считаю, что это ограничение было введено инженерами платформы ARKit. В данный момент нет возможности изменить его.

...