Why iPhones XR, XS and XS Max, doesn't apply environment image to scene in ARKit?

会有一股神秘感。 提交于 2019-12-25 03:45:33

问题


After download everything from backend (textures, environment, 3D object) into the app, I created a new SCNScene programmatically, with all this stuff.

It works perfectly on all devices, but on iPhones XR, XS and XS Max the textures of those models, that need environment image appear black. As if "None" environment was set.

I can't post code nor images, it's not my project. I'd just like to know if anyone has experienced any problems of this kind, with iPhone XR, XS or XS Max and ARKit.

It's strange that it doesn't happen on other devices.

Thanks.

EDIT 1:

Here is the trace of the error, I'll try to post more info about the project soon.

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:


This is an Apple bug, happens when the resolution of the environment image of the scene is too large. Resizing the environment image of the scene to 1000x500 solves the problem.



来源:https://stackoverflow.com/questions/54632453/why-iphones-xr-xs-and-xs-max-doesnt-apply-environment-image-to-scene-in-arkit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!