Сделай скриншот в ARKit - PullRequest
       35

Сделай скриншот в ARKit

0 голосов
/ 01 октября 2018

В настоящее время я делаю свое первое приложение ARKit с использованием Xamarin.

Я пытаюсь сделать снимок вида AR (вид с камеры + 3D-сцену), чтобы пользователь мог сохранить его и поделиться им.

Как предлагалось в других постах, я использую этот метод 'Снимок' на моем ARSCNView (с именем SceneView), чтобы получить UIImage и отобразить его с ранее созданным UIImageView, и получаю этоMemberAccessException: скриншот MemberAccessException

Добавленная трассировка стека не помогает: Скриншот стека трассировки

Похоже, что Snapshot внутренне пытается создать экземплярSCNSceneRenderer, следовательно, ошибка.

Я немного в отчаянии, можно подумать, что сделать снимок с 3D-сценой в режиме AR будет просто и естественно ..

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Итак, я все еще считаю, что это ошибка Xamarin, и нашел обходной путь.

Я ссылаюсь на UIViews, чтобы скрыть их от скриншота в List ScreenshotHiddable, и я использую классический UIView.Captureметод на моем SceneView:

ScreenshotHiddable.HiddenAll(true);
UIImage screenshot = SceneView.Capture();
ScreenshotHiddable.HiddenAll(false);

Я признаю, что это немного некрасиво, но работает.

0 голосов
/ 02 октября 2018

кажется, что вы пытаетесь вызвать snapshot для самого класса, а не для экземпляра этого класса.Измените ваш вызов на snapshot для объекта просмотра.

...