惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
T
The Blog of Author Tim Ferriss
C
Check Point Blog
博客园_首页
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
L
LangChain Blog
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
Vercel News
Vercel News
博客园 - Franky
V
V2EX
IT之家
IT之家
U
Unit 42
N
Netflix TechBlog - Medium
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
博客园 - 叶小钗
H
Help Net Security
V
Visual Studio Blog
GbyAI
GbyAI

博客园 - 幻化成疯

今天又是一年的最后一个工作日 今天是最后一个工作日 过年了,龙年 新年又来了!今天是放假的最后前的最后一个工作日! Vue开发时运行npm install命令导致npm包自动升级而引起bug iOS AppIcon透明圆角导致的动画问题 iOS14 毛皮玻璃Blur效果英文教程推荐 Swift5 的 Enum iOS14 Core Location后台定位 用.Net 开发Windows Service ,合并dll到exe中 iOS SpriteKit 字体设置无效问题 2021又来到了! Dart 和 Javascript 中的await 和 async的理解 iOS12 判断网络链接状态NWPathMonitor 又离职了~ 留个纪念,过了这么多年,又干回Android了! mac上运行shell脚本遇到回车字符错误 - 幻化成疯 - 博客园 iOS12 中的后台下载与上传 以iphone作为热点时ios程序中的UDP广播地址
iOS14 SceneKit Camera 的视角
幻化成疯 · 2021-03-17 · via 博客园 - 幻化成疯

fieldOfView 是什么

在SceneKit里,我们需要可以调整相机的视角,显示不同内容。看下图很好理解:
image

但是iOS14里, SCNCamera的xFov,yFov属性都被废弃了,用 fieldOfView 和projectionDirection代替:当projectionDirection为水平方向时,设置fieldOfView就代表设置了xFov,而yFov会根据scene view的长宽比例,自动计算。

调整fieldOfView的作用

当摄像机和物体的距离不变时,把摄像机的视角 调大,相机看到的范围就变大,而视野里的物体就会变小,这个物体看起来更远。这个效果和把相机在自己z轴方向前后移动的效果类似,可以根据实际情况,选择一种方法。
下面是2副截图,调整了fieldOfView:
image
image

这个角度可以无限趋近于180度,但是当过大时,摄像机近处物体根据透视法则,形变地厉害,人无法识别图像。
image

sensorHeight,focalLength 和 fieldOfView 的关系

下图是一个成像原理图,其中 Angle of View 就是 ios的Field of View,通过这个图,可以知道如何使用sensorHeight,focalLength 计算 fieldOfView
image

另外,apple 的官方说明对于他们3者的计算,好像是说错了,见下图:
image
这里说 sensorHeight 为24, focalLenght为50的时候,fieldOfView是60度,和我们上面的计算方法不符合。之后我用xcode的工具计算了一下,证明确实是文档说错了。
image