ARKit 3.0 может обнаруживать и отслеживать только 4 изображения одновременно - PullRequest
6 голосов
/ 29 июня 2019

Используя приведенный ниже код, я могу выявлять и отслеживать только 4 изображения одновременно при использовании ARKit.

ARImageTrackingConfiguration *configuration = [ARImageTrackingConfiguration new];  
configuration.trackingImages = [ARReferenceImage referenceImagesInGroupNamed:@"AR Resources" bundle:nil];  
configuration.maximumNumberOfTrackedImages = 100;  
[self.sceneView.session runWithConfiguration:configuration]; 

Кто-нибудь может подтвердить то, что я вижу? Мне нужно иметь возможность отслеживать большее количество изображений / маркеров, и я был взволнован, когда увидел это предложение в объявлении ARKit 3.

Было бы замечательно, если бы кто-то смог повторить это, так что я знаю, что я не воображаю вещи ^^

Надеюсь, это не ограничение Apple, 3DS может обнаруживать и отслеживать более 4 изображений более 8 лет назад.

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Нашел официальный ответ в комментарии к ARImageTrackingConfiguration:

@discussion Image tracking provides 6 degrees of freedom tracking of known images. Four images may be tracked simultaneously.

РЕДАКТИРОВАТЬ: найдено в ARConfiguration.h, строка 336

1 голос
/ 29 июня 2019

Попробуйте использовать .detectionImages свойство экземпляра в ARWorldTrackingConfiguration вместо .trackingImages в ARImageTrackingConfiguration .

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    ARWorldTrackingConfiguration *configuration = [ARWorldTrackingConfiguration new];
    configuration.detectionImages = [ARReferenceImage referenceImagesInGroupNamed:@"AR Resources" bundle:nil];

    configuration.maximumNumberOfTrackedImages = 100;   // in ARKit 3.0 image-tracking session
    //configuration.maximumNumberOfTrackedImages = 25;  // in ARKit 2.0 image-tracking session

    [self.sceneView.session runWithConfiguration:configuration];
}

Документация Apple одинакова как для trackingImages, так и для detectionImages:

Используйте это свойство, чтобы выбрать известные 2D-изображения для ARKit, которые можно найти в среде пользователя и представить как ARImageAnchor для использования вваш опыт AR.

и документация Apple также гласят:

Отслеживание только по изображениям позволяет привязывать виртуальный контент к известным изображениям только тогда, когда эти изображенияв поле зрения камеры. Отслеживание мира с обнаружением изображений позволяет использовать известные изображения для добавления виртуального контента в трехмерный мир и продолжает отслеживать положение этого контента в мировом пространстве даже после того, как изображение больше не отображается.

Хотя сеанс отслеживания мира с включенным отслеживанием изображений может одновременно отслеживать небольшое количество изображений, поэтому обычно вы можете отслеживать больше изображений с помощью сеанса отслеживания изображений. Но в случае, когда отслеживаемые изображения не видны, сеанс отслеживания мира является более предпочтительным.

...