Модификация модели для работы с ARBodyTrackingConfiguration (ARKit 3) - PullRequest
4 голосов
/ 24 февраля 2020

Я работал над тем, чтобы научиться выполнять 3D-слежение за телом, используя пример проекта Apple . Моя цель - заменить модель в этом проекте моей собственной 3D-моделью, которую я построил в соответствии с доступным образцом Apple «robot.usdz», включенным в этот проект.

Я успешно смог импортировать свою 3D-модель. модель в Xcode, после преобразования в USDZ и присоединения модели к ARBodyAnchor. Тем не менее, моя модель (см. Прикрепленный скриншот) отображается в ожидаемом месте, но выглядит совершенно неправильно. Я загружаю модель;

var cancellable: AnyCancellable? = nil
        cancellable = Entity.loadBodyTrackedAsync(named: "character/mytest").sink(
            receiveCompletion: { completion in
                if case let .failure(error) = completion {
                    print("Error: Unable to load model: \(error.localizedDescription)")
                }
                cancellable?.cancel()
        }, receiveValue: { (character: Entity) in
            if let character = character as? BodyTrackedEntity {
                character.scale = [0.5, 0.5, 0.5]
                self.character = character
                cancellable?.cancel()
            } else {
                print("Error: Unable to load model as BodyTrackedEntity")
            }
        })

Когда я импортирую эту же модель просто как сущность, убирая отслеживание тела, я могу прикрепить ее либо к горизонтальной плоскости, либо к телу, и она загружается нормально. Поэтому что-то не так с моделью для отслеживания 3D.

Кто-нибудь успешно загружал пользовательскую 3D-модель в Xcode для использования с отслеживанием тела?

Improper appearance of model when using body tracking (Неправильный внешний вид модели при использовании отслеживания тела) Proper appearance of model when adding solely as an Entity (Правильный внешний вид модели при добавлении только в качестве сущности - отслеживание тела здесь не включено)

...