为什么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 / XS Max CSS 媒体查询
iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等
物理尺寸Iphone XS Max和Iphone XR屏幕[重复]