Как получить ширину и высоту определенного объекта, используя 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 использует метры, поэтому вам нужно создать два якоря и рассчитать расстояние между ними. Просто используйте мировое положение якорей, вычтите их и длину полученного вектора.