不同 iPhone 上的 ARKit

Posted

技术标签:

【中文标题】不同 iPhone 上的 ARKit【英文标题】:ARKit on different iPhones 【发布时间】:2021-06-23 22:52:18 【问题描述】:

我一直在寻找有关 ARKit(特别是 ARSCNView)是否在所有设备上显示相同屏幕/视图/场景大小的答案。我只有 iPhone XS,因此无法在其他设备上测试我的 ARKit 应用。

目前我用 SpriteKit 的 SKScene 覆盖它,在 SpriteKit 中有 2 种不同的尺寸,所有设备都可以在上面运行。

通过打印语句,我已经能够使用前置摄像头找到,​​从而在屏幕上显示我的脸,并用 SKScene 覆盖它,屏幕/视图/场景/等的大小是 375x812。

有没有人碰巧知道 ARKit + SpriteKit 覆盖是否所有设备都呈现相同的尺寸?

【问题讨论】:

我可以推荐我的实用程序Projector吗?它是实验性的,但可以模拟不同的屏幕尺寸。 【参考方案1】:

当然,不同的 iPhone 型号呈现不同的分辨率。 iPhone 的screen sizeviewport size 之间有很大的不同。看看这张表。在某些情况下,viewport sizescreen size 的 1/9,有时是 1/4。不过,有些型号的screen sizeviewport size 是相同的。

|---------------------|-----------------|-----------------|
|       <Device>      |  <Screen Size>  | <Viewport Size> |
|---------------------|-----------------|-----------------|
|---------------------|-----------------|-----------------|
|  iPhone 12 Pro Max  |    1284 x 2778  |      428 x 926  |
|---------------------|-----------------|-----------------|
|  iPhone X           |    1125 x 2436  |      375 x 812  |
|---------------------|-----------------|-----------------|
|  iPhone SE 2        |     750 x 1334  |      375 x 667  |
|---------------------|-----------------|-----------------|
|  iPhone 8 Plus      |    1080 x 1920  |      414 x 736  |
|---------------------|-----------------|-----------------|
|  iPhone 6s          |     750 x 1334  |      375 x 667  |
|---------------------|-----------------|-----------------|

更多详情可以阅读this SO post。

This guide 为您提供视觉表示。

【讨论】:

感谢安迪提供的图表和 SO 帖子的链接,这是一本非常有教育意义的读物!简而言之,视口基本上渲染了一个 1x 屏幕?我的假设是否正确?谢谢你:) 嗨@syds,简单地说——是的。

以上是关于不同 iPhone 上的 ARKit的主要内容,如果未能解决你的问题,请参考以下文章

在 ARKit 中检测对 SCNNode 不同位置的触摸

ARKit中的变换中的不同列代表什么?

如何在相机ARKit上添加半透明背景

ARKit 是不是考虑 iPhone 和 iPad 中的镜头失真?

ARKit 演示在 iPhone 6/iPhone 6 Plus 上崩溃

行高在 iPhone 和 iPad 上的显示方式与在其他设备上不同