为啥 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中的场景?