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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么iPhone XR,XS和XS Max不会将环境图像应用到ARKit中的场景?相关的知识,希望对你有一定的参考价值。

从后端(纹理,环境,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)
答案

这是一个Apple bug,当场景的环境图像的分辨率太大时发生。将场景的环境图像大小调整为1000x500可以解决问题。

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

为啥 iPhone XR/Xs Max 不遵守比率约束?

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

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

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

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

支持Xcode10和适配iPhone XS MaxiPhone XR