Заставьте SceneKit светить только отбрасывать тени без освещения сцены

Я использую физическое освещение для освещения своей сцены в ARKit, однако я также хочу добавить тени, чтобы сделать ее более реалистичной. Я попытался добавить направленный свет и установить интенсивность как можно ниже, но я все еще не могу достичь желаемого эффекта. Я в основном хочу, чтобы свет отбрасывал только тени и не влиял на освещение сцены. Есть ли способ, которым я могу достичь этого эффекта?

1 ответ

Вы должны использовать правильное свойство SCNShadowMode.

Из документации яблока:

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

Случай вперед: SceneKit отображает тени во время вычислений освещения.

case deferred: SceneKit отображает тени на этапе постобработки.

модулированный регистр: SceneKit отображает тени, проецируя изображение гобо источника света. Свет не освещает сцену.

Таким образом, ваш желаемый вариант должен быть модулирован. Надеюсь, это помогло!

PS Если этот ответ вам полезен, не забудьте нажать стрелку вверх и пометить его как правильный. Удачи!

Обновить.

Источник света:

Направленная: - Интенсивность - 1000.
- Режим - динамический.
- Цвет # 000000 (rgb (0, 0, 0)).
- Shadow Mode: модулированный.

введите описание изображения здесь

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