2014-09-29 3 views
0

Я пытаюсь архивировать сцену сцены SceneKit для сохранения с использованием NSKeyedArchiver. Поэтому я могу сохранить сцену, чтобы восстановить ее позже. Я нахожу, что восстановленная сцена, кажется, игнорирует/теряет SCNTransformConstraints, которые я добавил к различным SCNNodes. Это приводит к тому, что узлы размещаются в неправильном месте.SceneKit и NSKeyedArchiver

Мне интересно, если это по дизайну или ошибка? Или я делаю что-то неправильно?

Любые указатели будут оценены по достоинству.

+0

Как вы его архивируете? Использование 'writeToURL: options: delegate: progressHandler:'? –

+0

Я использую NSKeyedArchiver.archivedDataWithRootObject (сцена). Я не думаю, что writeToURL: options: delegate: progressHandler доступен в iOS. – BassetMan

ответ

1

SCNTransformConstraints работает с блоком, предоставляемым клиентом API. Блоки не могут быть заархивированы с помощью NSKeyedArchiver. Вам нужно заархивировать другой объект, который сможет восстановить блок и повторно назначить ограничение преобразования.

+0

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