gpt4 book ai didi

android - 如何在目标图像上完全拟合 AR ViewRenderable?

转载 作者:太空狗 更新时间:2023-10-29 16:26:11 26 4
gpt4 key购买 nike

我希望将 AR ViewRenderable 放置在真实世界的目标图片上并完全适合其边界。虽然 ViewSizer 用于更改 AR 对象的大小,但它是全局执行的(为每种情况设置 dpPerMeter)。但是,我想根据目标大小缩放它,

我认为可以通过 setLocalScale 方法以及 getExtentX 和 getExtentZ 来完成一些事情,但不确定如何为我的原因设置参数。

看看当前的代码 fragment :

    setAnchor(image.createAnchor(image.getCenterPose()));
Node cornerNode = new Node();
cornerNode.setParent(this);
cornerNode.setLocalRotation(new Quaternion(new Vector3(1,0,0), -90));
cornerNode.setLocalPosition(new Vector3(0.0f, 0.0f, 0f));
cornerNode.setRenderable(targetImage.getNow(null));

最佳答案

默认情况下,250dp 等于 1 米,但您可以通过 ViewRenderable.builder().setSizer(DpToMetersViewSizer(you_size)) 进行更改

你必须通过图像大小和 AR 核心估计大小来计算比例,所以添加这些代码如下

// in this example, the image is 100 cm x 66 cm
val imageWidth = 1f // = 1m
val imageHeight = 0.66 // = 66 cm

val scaledWidth = imageWidth / image.extentX
val scaledHeight = imageHeight / image.extentZ

// scale the Node
node.localScale = Vector3(scaledWidth, scaledHeight, scaledWidth)

// also, my view_wall.xml is 250dp x 166dp and the VerticalAlignment is center, like
val wall = ViewRenderable.builder().setView(this, R.layout.view_wall)
.setVerticalAlignment(ViewRenderable.VerticalAlignment.CENTER)
.build()

它对我有用,帮助它对你有用。

顺便说一句,这是我的练习项目https://github.com/swarmnyc/arcore-augmented-image-swarm

关于android - 如何在目标图像上完全拟合 AR ViewRenderable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52379289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com