gpt4 book ai didi

android - 如何在 Sceneform Android SDK 中将相机类型更改为正交?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:19 25 4
gpt4 key购买 nike

在 SceneView(无 AR)中呈现模型时,我想使用正交相机。在 API 中找不到这样做的方法。我是否遗漏了什么或缺少该功能?

最佳答案

据我所知,在 ARCore 中没有用于相机投影的ORTHO 方法(cube frustum)/Sceneform 此刻。但是您可以通过 4x4 矩阵自己制作。因此,您需要做的就是计算leftrighttopbottomnear far 属性使用 following principles .

enter image description here

这是您的 4x4 投影矩阵的样子:

enter image description here

编辑:工作代码,其中 scaleFactor 是 1.3 左右的值,height/widthSceneView 的属性>.

private fun buildOrthographicMatrix(right: Float, 
top: Float,
far: Float,
near: Float): FloatArray {
val matrix = FloatArray(16)

matrix[0] = 1 / right
matrix[1] = 0f
matrix[2] = 0f
matrix[3] = 0f

matrix[4] = 0f
matrix[5] = 1 / top
matrix[6] = 0f
matrix[7] = 0f

matrix[8] = 0f
matrix[9] = 0f
matrix[10] = -2 / (far - near)
matrix[11] = 0f

matrix[12] = 0f
matrix[13] = 0f
matrix[14] = -(far + near) / (far - near)
matrix[15] = 1f

return matrix
}

val newMatrix = buildOrthographicMatrix(1f / scaleFactor,
1f / scaleFactor * height / width,
30f,
0.01f)

camera.projectionMatrix = Matrix(newMatrix)

关于android - 如何在 Sceneform Android SDK 中将相机类型更改为正交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53103712/

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