我想获取活动物体的宽度和高度,例如水瓶、笔记本、键盘等。所以我的问题是如何使用 ARCore 和 Sceneform SDK android 获取活动物体的宽度和高度。
示例:像谷歌测量应用程序。
这是获取两个锚点之间距离的方法:
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 的坐标系使用米,因此您必须创建两个锚点并计算它们之间的距离。只需使用锚点的世界位置,减去它们和结果向量的长度。