augmented-reality - 如何在 Android Studio 的 ARcore 中设置投影矩阵远裁剪平面参数
问题描述
我正在渲染一个大的矩形表面(带有纹理的扁平立方体)。当尺寸超过 10 米左右时,表面的远端部分会被剪掉。在研究该主题时,我发现我的问题可能与设置近距和远距剪切平面有关(请参阅:ARCore – 渲染距相机 200m 远的对象)。如何设置这些参数?这是我渲染表面的方式:
fun renderImage(arFragment: ArFragment, anchor: Anchor, renderable: Int, width: Float, length: Float, x: Float, y: Float, z: Float, nodeName: String, scale: Float) {
Texture.builder().setSource(BitmapFactory.decodeResource(arFragment.resources, renderable))
.build()
.thenAccept {
MaterialFactory.makeTransparentWithTexture(arFragment.context, it)
.thenAccept { material ->
val modelRenderable = ShapeFactory.makeCube(
Vector3(width, 0.000001f, length),
Vector3(x,y,z), // position
material)
addNodeToScene(arFragment, anchor, modelRenderable, nodeName, scale)
}
}
}
其中长度=200f;宽度=100f;
根据上述帖子中的答案 0:“目前(2019 年 3 月)无法设置 ARCamera 的远裁剪平面和近裁剪平面。” 现在还是这样吗?有人可以建议解决方法吗?
我知道要获得投影矩阵(https://developers.google.com/ar/reference/java/arcore/reference/com/google/ar/core/Camera#getProjectionMatrix(float[],%20int, %20float,%20float))。但是我该如何设置呢?
解决方案
推荐阅读
- python - Python 冒泡排序 - 对元素进行多次排序
- android - 无法解决:appcompat-v7 android studio 3.2.1
- r - R合并数据/扩展数据集
- c# - C# 将字符串传递给 Sqlite 参数
- postgresql - 通过给定 ID 获取多行的比率
- javascript - 当a:href链接存在时,Vue.js @click不执行功能
- google-chrome - 为什么我不能检查 cypress.io 中的元素
- ruby-on-rails - 设计身份验证令牌 current_user 返回 nil
- jenkins - 詹金斯构建脚本无法从远程仓库 git pull
- python - Networkx:情节质量问题