SceneKit может отображать как PNG, так и JPG, некоторые PNG, похоже, вызывают проблемы.Не уверен, почему или это ошибка или нет.То, что вы можете сделать, это, вероятно, лучше, чем конвертировать все в JPG (чтобы вы могли сохранить прозрачность), установить содержимое вашего материала на CGImage изображения:
if let cgImage = image.cgImage {
geometry.firstMaterial?.diffuse.contents = cgImage
}
Вы также можете конвертировать ваше изображение в JPEG с помощью чего-то вродеэто, так как SceneKit, похоже, не имеет проблем с JPG:
if let jpegData = image.jpegData(compressionQuality: 1.0) {
image = UIImage(data: jpegData)!
}
Однако при этом вы потеряете прозрачность.