Ios 在scenekit摄像机前投影uiview时出现缩放问题

Ios 在scenekit摄像机前投影uiview时出现缩放问题,ios,swift,scenekit,360-virtual-reality,Ios,Swift,Scenekit,360 Virtual Reality,内容 首先,我有一个360度(等矩形)的图像查看器,将图像作为纹理应用到球体上,中心是scenekit相机 然后我进入“绘图模式”,在那里我可以用手指在透明的UIView上绘图 当我完成后,我会将图形作为注释应用到球体上 问题(视频示例) 问题是在第三步中,秤没有正确保存 临时解决方案 我能够为预期的比例添加一个神奇的数字,这减少了缩放问题,但从技术角度来看,它仍然有点偏离,显然是次优的 e、 g.“使用的比例=预期的比例+神奇的比例常数” 实施细节 我在某个自定义的场景套件摄影机前投影

内容

  • 首先,我有一个360度(等矩形)的图像查看器,将图像作为纹理应用到球体上,中心是scenekit相机
  • 然后我进入“绘图模式”,在那里我可以用手指在透明的UIView上绘图
  • 当我完成后,我会将图形作为注释应用到球体上
问题(视频示例)

问题是在第三步中,秤没有正确保存

临时解决方案 我能够为预期的比例添加一个神奇的数字,这减少了缩放问题,但从技术角度来看,它仍然有点偏离,显然是次优的

e、 g.“使用的比例=预期的比例+神奇的比例常数”

实施细节

  • 我在某个自定义的场景套件摄影机前投影UIView 场景套件世界中的距离,并试图使其成为新的 场景工具包节点将具有完全相同的视觉大小

  • 方法是计算项目的透视投影, 位于drawingContentItem.distance的世界中,使用照相机 zNear-“(屏幕高度*距离/浮动(zNear))”

  • 然后我们假设场景套件的可见世界的大小为-1000 到1000;视角为60度;并计算出 场景套件近平面视图到UIView-“(场景屏幕高度/ 近平面高度(世界坐标)”

  • 这给了我们绘制世界坐标和 我们用这个来计算比例

  • 但似乎公式中存在一些错误,并导致 对神奇数字的需求:(