У меня есть CATransformLayer с несколькими CAShapeLayers в качестве дочерних элементов. CAShapeLayers находятся в разных z-позициях в трехмерном пространстве. Как только я поворачиваю всю сцену в 3D, некоторые слои CAShapeLayers исчезают под определенными углами, но этого не должно быть. Совершенно ясно, что они все равно должны быть видны на экране.
При дальнейшем вращении они снова появляются.
Что я могу сделать, чтобы убедиться, что мои слои всегда видны на экране, когда они должны?
Вот небольшой демонстрационный проект, который довольно хорошо показывает проблему. Я также должен сказать, что я использую перспективу, регулируя m34 преобразования.
Настройка 0 - это идентичность + перспектива. Настройка 1 и 2 очень близки друг к другу с точки зрения вращения, просто при одной настройке круг исчезает, а при другой нет.
https://dl.dropboxusercontent.com/u/40859730/Disappearing.zip