Я создаю пользовательский файл SCNGeometry. Для начала я разрабатываю его как плоскую плоскость. Он отображается, и я могу применить цвет к его диффузному содержимому, но если я попытаюсь применить что-либо, например UIImage или CALayer, он будет отображаться белым.
Код:
let positions = [
SCNVector3(-1, 0, 0),
SCNVector3(1, 0, 0),
SCNVector3(-1, 0, -1),
SCNVector3(1, 0, -1)
]
let indices: [UInt8] = [
0, 1, 2,
1, 3, 2
]
let vertexSource = SCNGeometrySource(vertices: positions)
let indexData = Data(bytes: indices, count: indices.count)
let element = SCNGeometryElement(
data: indexData,
primitiveType: SCNGeometryPrimitiveType.triangles,
primitiveCount: indices.count / 3,
bytesPerIndex: 1)
let geometry = SCNGeometry(
sources: [vertexSource],
elements: [element])
geometry.firstMaterial?.diffuse.contents = UIImage(named: "homer")