Как исправить значение типа «SCNNode» не имеет члена «материалы» в Xcode ARKit - PullRequest
0 голосов
/ 06 мая 2018

поэтому я пытаюсь установить зеленый цвет для моего куба, но я получаю эту ошибку: C надеюсь, вы, ребята, можете помочь мне

вот мой код:

func randomFloat(min: Float, max: Float) -> Float {
    return (Float(arc4random()) / 0xFFFFFFFF) * (max - min) + min
}

let zCoords = randomFloat(min: -2, max: -0.2)

let cubeNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
cubeNode.position = SCNVector3(0, 0, zCoords)

let mate = SCNMaterial()
mate.diffuse.contents = UIColor.green

cubeNode.materials = [mate]

sceneView.scene.rootNode.addChildNode(cubeNode)

1 Ответ

0 голосов
/ 06 мая 2018

Вы получаете эту ошибку, так как только SCNGeometry имеет свойство materials, SCNNode - нет. Таким образом, вам нужно получить доступ к geometry вашего узла, чтобы добавить к нему SCNMaterial.

cubeNode.geometry.materials = [mate]

Однако, поскольку вы добавляете только один материал, вы также можете использовать

cubeNode.geometry.firstMaterial = mate
...