我想获取诸如水壶,笔记本,键盘等活动对象的宽度和高度。所以我的问题是如何使用ARCore和Sceneform SDK android获取活动对象的宽度和高度。
示例: 就像Google测量应用一样。
答案 0 :(得分:0)
ARCore的坐标系正在使用仪表,因此您必须创建两个锚并计算它们之间的距离。只需使用锚点的世界位置,减去它们以及所得向量的长度即可。
答案 1 :(得分:0)
这里是您获取两个锚点之间距离的方法:
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);
}