Вы пытались установить isGimbalLockEnabled
в true
, чтобы ограничить вращение рулона?В документации Apple упоминает: «Например, когда вы заставляете камеру следовать за движущимся объектом, установка этого свойства в true гарантирует, что горизонт остается горизонтальным с точки зрения камеры».
Если это все еще не то, что вы ищете, вам может понадобиться написать пользовательское ограничение, используя функцию класса SCNTransformConstraint.orientationConstraint
.Вы можете написать ограничение как вторичное ограничение, которое в основном ограничивает повороты по осям X и Z, или вы можете написать собственное ограничение просмотра с большим количеством ограничений (в этом случае я бы рекомендовал взглянуть на simd.look(at:)
функция и затем ограничение осей ориентации оттуда).
Это должно помочь вам в этом, или я могу добавить код позже, если он не работает.Удачи!