首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从二维投影导出视场角度

如何从二维投影导出视场角度
EN

Computer Graphics用户
提问于 2022-04-07 01:27:33
回答 1查看 466关注 0票数 3

我在找你的指导。

我不知道这是否可能,我也不知道从哪里开始。

我只需要用游戏截图来测量第一人称3D游戏的视场角度。

我被游戏的沙箱束缚住了。

我能做的最好的就是使用现有的游戏中的几何作为参考点。

直角、平行线、正方形、立方体和其他原语比较丰富,我对相机的位置和方向有相当大的控制能力。

可以从已知角度、距离或物体的二维外观(

)中推导出FOV。

如果不是从单一的图像,它可以使用多个图像;每个图像显示同一场景的不同视角,或已知对象的不同排列?

请考虑这篇文章底部的图表。

我的理解是,游戏剧本截图是由z投影平面表示的。

观景台表示游戏中可观察到的3D空间。

我需要测量以下角度:

  • 水平视场(x FOV)
  • 垂直视场(y视场)
  • 对角线视场(视场)

提供给我的东西:

  • 我可以增加和减少单一的游戏中的“视场”设置。
  • 我可以瞄准并定位摄像机
  • 我可以看到一些常见的形状、原语和角度。
  • 我知道z投影的宽度、高度和分辨率。

我不知道的事情:(除非别人知道办法)

  • 从相机原点到z投影plane中心的距离(也许这有时被称为焦距?)(不确定)
  • 照相机焦距(如果与上面不同)
  • 相机光圈(如果相关)
  • 也许更多..。

我发现了两个声称能做到这一点的在线工具,但我对此持怀疑态度。

  • 它们没有指定相机相对于参考物体的位置/方向的任何要求。
  • 唯一影响计算的是两个消失点之间的距离。

工具在这里:

https://www.desmos.com/calculator/3e9hs7usyr

https://www.desmos.com/calculator/zb2jqy5bik

最后,这些工具不适合我,因为我需要探测范围太广的FOV。我需要一种方法,可以检测小到5度和150度的FOV。在5度的视场中,两个消失点之间的距离变得非常大,远远超出了这些工具和我的图像分辨率的误差范围。

EN

回答 1

Computer Graphics用户

发布于 2022-04-12 01:55:30

经过一番钻研,我终于明白,我想做的是一种既定的做法,叫做“静止图像相机匹配”,或者仅仅是“相机匹配”。

它用于特效、增强现实、交通分析等。

这是利用相机拍摄的照片作为参考来恢复相机的信息的过程。

有一个开源项目正是这样做的:https://fspy.io/

使用起来不容易,但要把工作做好。

票数 0
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/12609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档