为啥 iPhone XR、XS 和 XS Max 没有将环境图像应用到 ARKit 中的场景?

Posted

技术标签:

【中文标题】为啥 iPhone XR、XS 和 XS Max 没有将环境图像应用到 ARKit 中的场景?【英文标题】:Why iPhones XR, XS and XS Max, doesn't apply environment image to scene in ARKit?为什么 iPhone XR、XS 和 XS Max 没有将环境图像应用到 ARKit 中的场景? 【发布时间】:2019-07-05 01:25:18 【问题描述】:

从后端(纹理、环境、3D 对象)下载所有内容到应用程序后,我以编程方式创建了一个新的 SCNScene,其中包含所有这些内容。

它在所有设备上都能完美运行,但在 iPhone XR、XS 和 XS Max 上,需要环境图像的那些型号的纹理显示为黑色。好像设置了“无”环境。

我不能发布代码或图片,这不是我的项目。我只是想知道是否有人在使用 iPhone XR、XS 或 XS Max 和 ARKit 时遇到过此类问题。

奇怪的是,它不会在其他设备上发生。

谢谢。

编辑 1:

这是错误的痕迹,我会尽快发布有关该项目的更多信息。

2019-02-13 11:21:33.573842+0100 BugAR[508:29509] [DYMTLInitPlatform] platform initialization successful
2019-02-13 11:21:33.769664+0100 BugAR[508:29469] Metal GPU Frame Capture Enabled
2019-02-13 11:21:33.769884+0100 BugAR[508:29469] Metal API Validation Enabled
2019-02-13 11:21:33.974845+0100 BugAR[508:29469] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-02-13 11:21:33.975620+0100 BugAR[508:29469] [MC] Reading from public effective user settings.
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 508, TID: 29535, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   libobjc.A.dylib                     0x000000021ddff534 <redacted> + 56
5   CoreMotion                          0x0000000224688040 CoreMotion + 307264
6   CoreMotion                          0x0000000224688574 CoreMotion + 308596
7   CoreMotion                          0x0000000224688484 CoreMotion + 308356
8   CoreMotion                          0x00000002246b9c64 CoreMotion + 511076
9   CoreMotion                          0x00000002246b9cc4 CoreMotion + 511172
10  CoreFoundation                      0x000000021eb98354 <redacted> + 28
11  CoreFoundation                      0x000000021eb97c38 <redacted> + 276
12  CoreFoundation                      0x000000021eb92f14 <redacted> + 2324
13  CoreFoundation                      0x000000021eb922e8 CFRunLoopRunSpecific + 452
14  CoreFoundation                      0x000000021eb9304c CFRunLoopRun + 84
15  CoreMotion                          0x00000002246b95fc CoreMotion + 509436
16  libsystem_pthread.dylib             0x000000021e80c974 <redacted> + 132
17  libsystem_pthread.dylib             0x000000021e80c8d0 _pthread_start + 52
18  libsystem_pthread.dylib             0x000000021e814ddc thread_start + 4
2019-02-13 11:21:34.312731+0100 BugAR[508:29535] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 508, TID: 29535, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   libobjc.A.dylib                     0x000000021ddff534 <redacted> + 56
5   CoreMotion                          0x0000000224688040 CoreMotion + 307264
6   CoreMotion                          0x0000000224688574 CoreMotion + 308596
7   CoreMotion                          0x0000000224688484 CoreMotion + 308356
8   CoreMotion                          0x00000002246b9c64 CoreMotion + 511076
9   CoreMotion                          0x00000002246b9cc4 CoreMotion + 511172
10  CoreFoundation                      0x000000021eb98354 <redacted> + 28
11  CoreFoundation                      0x000000021eb97c38 <redacted> + 276
12  CoreFoundation                      0x000000021eb92f14 <redacted> + 2324
13  CoreFoundation                      0x000000021eb922e8 CFRunLoopRunSpecific + 452
14  CoreFoundation                      0x000000021eb9304c CFRunLoopRun + 84
15  CoreMotion                          0x00000002246b95fc CoreMotion + 509436
16  libsystem_pthread.dylib             0x000000021e80c974 <redacted> + 132
17  libsystem_pthread.dylib             0x000000021e80c8d0 _pthread_start + 52
18  libsystem_pthread.dylib             0x000000021e814ddc thread_start + 4
2019-02-13 11:21:42.015414+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Caused GPU Hang Error (IOAF code 3)
2019-02-13 11:21:42.015509+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Caused GPU Hang Error (IOAF code 3)
2019-02-13 11:21:42.015940+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.016002+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.016152+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.016185+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.018755+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.018795+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.019140+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
2019-02-13 11:21:42.019166+0100 BugAR[508:29514] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)

【问题讨论】:

如果不是您的项目,您应该在另一个示例项目中复制它,您可以与我们分享。 【参考方案1】:

这是一个 Apple 错误,当场景的环境图像分辨率过大时会发生。将场景的环境图像调整为 1000x500 即可解决问题。

【讨论】:

以上是关于为啥 iPhone XR、XS 和 XS Max 没有将环境图像应用到 ARKit 中的场景?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone XR / XS / XS Max CSS 媒体查询

iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等

物理尺寸Iphone XS Max和Iphone XR屏幕[重复]

为什么iPhone XR,XS和XS Max不会将环境图像应用到ARKit中的场景?

为啥桌面视图与 iPhone X~iPhone XS Max 的大小不同?

iPhone XR/XS:AVAssetExportSession 状态失败并出现错误