Изображение отображается как черный и красный цвета только в ARKit

Мы пытаемся создать SCNNode с SCNMaterial, у которого есть изображение (расширение.png) в ARSCNView с платформой ARKit. Проблема состоит в том, что при рендеринге изображения возникает проблема, что изображение отображается только в черном и красном цветах, оно не отображает изображение правильно. Проблема существует только в версии iOS 11.2. В бета-версиях iOS 11.0, 11.1 и 11.3 проблем нет.

Наш код ниже;

let materialMain_Front_Back = SCNMaterial()
let fromBackImage = createImage(color:mainNode_Color)
materialMain_Front_Back.diffuse.contents = UIImage(named: "nodeBackground")

let materialMain_Other = SCNMaterial()
materialMain_Other.diffuse.contents = createImage(color:mainNode_Color)

let boxGeometryMain = SCNBox(width: CGFloat(mainNode_Width), height: CGFloat(mainNode_Height), length: 0, chamferRadius: 0.0)
boxGeometryMain.firstMaterial?.diffuse.contents = UIColor.white
boxGeometryMain.materials = [materialMain_Front_Back, materialMain_Other, materialMain_Front_Back, materialMain_Other, materialMain_Other, materialMain_Other]

let nodeMain = SCNNode(geometry: boxGeometryMain)
nodeMain.position = SCNVector3(x: 0, y: 0, z: -1)

//... other codes

annotationNode.addChildNode(nodeMain)

У кого-нибудь есть идея?

2 ответа

Решение

Я решил это, просто используя изображения.jpg. Да, просто используя изображение JPG вместо PNG. Я также сообщил об этом в Apple, как ошибка. Они ответили, что это проблема в 11.2 только с изображениями в оттенках серого с прозрачностью. Они исправили это в 11.3.

Для меня проблема произошла только на устройстве, и продолжает происходить на iOS 11.4.

Решением для меня был не тип изображения. В моем случае у меня уже были текстуры JPG, однако цветовое пространство было серым.

Xcode показал это как:

Настройка оттенков серого

Изменение его на RGB устранило проблему. После изменения Xcode показывает это:

Настройка RGB

Да, и чтобы перейти от оттенков серого к RGB с помощью Photoshop, достаточно просто открыть изображение и выбрать: Изображение-> Режим-> Цвет RGB, как показано здесь:

введите описание изображения здесь

Другие вопросы по тегам