Как получить ширину и высоту определенного объекта, используя SDK сцены и ARCore, как приложение Google Measure?

Я хочу получить ширину и высоту живого объекта, такого как бутылка с водой, ноутбук, клавиатура и т. Д., Поэтому мой вопрос заключается в том, как получить ширину и высоту живого объекта с помощью Android-приложений ARCore и Sceneform SDK.

Пример: как приложение Google Measure.

2 ответа

Вот метод, с помощью которого вы можете получить расстояние между двумя якорями:

float getMetersBetweenAnchors(Anchor anchor1, Anchor anchor2) {
    float[] distance_vector = anchor1.getPose().inverse()
            .compose(anchor2.getPose()).getTranslation();
    float totalDistanceSquared = 0;
    for (int i = 0; i < 3; ++i)
        totalDistanceSquared += distance_vector[i] * distance_vector[i];
    return (float) Math.sqrt(totalDistanceSquared);
}

Система координат ARCore использует метры, поэтому вам нужно создать два якоря и рассчитать расстояние между ними. Просто используйте мировое положение якорей, вычтите их и длину полученного вектора.

Другие вопросы по тегам