gpt4 book ai didi

ios - SceneKit - 什么 orthographicProjection 用于 1 :1 points to SceneKit position ratio

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:14:54 27 4
gpt4 key购买 nike

必须使用什么 orthographicProjection 才能在 SceneKit 中以 1:1 SceneKit 点与屏幕点/像素比率制作 2D 应用程序?

例子:我想在屏幕上的 (200, 200) 位置放置一些东西,我想为它使用带有 (200, 200, 0) 的 SCNVector。为此,我需要什么 orthographicProjection?

最佳答案

如果您想要一个场景空间单位对应于屏幕空间点的正交投影,您需要一个投影,其中左裁剪平面为零,右裁剪平面为屏幕宽度(以磅为单位)。 (对于顶部/底部和近/远并不重要,只要您将对象保持在您设置的近/远范围内即可。)

为此,最简单的方法可能是设置您自己的投影矩阵,而不是计算出与您需要的尺寸相对应的 orthographicScale 和相机位置:

GLKMatrix4 mat = GLKMatrix4MakeOrtho(0, self.view.bounds.size.width,
0, self.view.bounds.size.height,
1, 100); // z range arbitrary
cameraNode.camera.projectionTransform = SCNMatrix4FromGLKMatrix4(mat);
// still need to position the camera for its direction & z range
cameraNode.position = SCNVector3Make(0, 0, 50);

关于ios - SceneKit - 什么 orthographicProjection 用于 1 :1 points to SceneKit position ratio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29456861/

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