SceneKit Направленный свет, вызывающий мерцание

Я пытаюсь добавить направленный свет в Scenekit, чтобы отбрасывать тени, но это вызывает странные артефакты на объектах.

Оранжевый блок ниже имеет материал с настройками по умолчанию и диффузным, установленным на оранжевый. Направленный свет указывает вниз, и масштаб увеличивается, в противном случае он имеет настройки по умолчанию. (Уменьшение масштаба по-прежнему имеет ту же проблему).

Когда я перемещаю камеру вокруг текстуры, покрытой мерцающими линиями и точками, это выглядит ужасно.

Это не видно на симуляторе, только на устройстве. Что происходит и как я могу это исправить?

2 ответа

Решение

Благодаря Тойосу я теперь знаю, что именно тени вызывают то, что вызывает линии. Документы для shadowBias скажем, установка этого значения должна исправить его, но для меня это не имеет значения.

В конце я исправил это, вращая направленный свет на 2 градуса. Первоначально он был в -90, указывая прямо вниз. Изменение этого параметра на -88 полностью удаляет все артефакты.

Сконфигурируйте диапазон освещения zNear/zFar, чтобы он был как можно меньшим (но не ограничивающим ваш мир). Чем меньше zRange, тем больше точности вы получите.

Вы также можете поиграть с shadowBias, чтобы ограничить артефакты самозатенения

Другие вопросы по тегам