Проблема
Я настроил минимальный проект SceneKit со сценой, которая содержит самолет по умолчанию с прозрачной плоскостью, которая действует как приемник тени.Я продублировал эту настройку, чтобы было два самолета и две прозрачные плоскости теней.
Существует направленный свет, который отбрасывает тени, и его свойство shadowMode
установлено на .deferred
.Когда две плоскости тени перекрываются, плоскость, которая находится ближе к камере, «обрезает» тень на плоскости, которая находится дальше от камеры.
Я знаю, что это связано с тем, что материал плоскостиимеет .writesToDepthBuffer
свойство установлено в true.Однако без этого отложенные тени не работают.
Вопрос
Есть ли способ показать тени на несколькихсамолеты перекрытия?Я знаю, что могу использовать SCNFloor
, чтобы показать несколько теней, но я специально хочу тени на нескольких плоскостях с разным положением Y.Подумайте о сценарии в ARKit, где обнаружено несколько плоскостей.
Код
Я настроил минимальный проект на GitHub здесь.