Как установить цвет фона SCNNode, чтобы очистить, не влияя на его дочернюю геометрию - PullRequest
1 голос
/ 25 июня 2019

У меня есть коллекция collectionView на SCNMaterial.Цвет фона collectionView .clear, как и цвет фона контроллера представления, в котором collectionView имеет значение

collectionView.backgroundColor = .clear
view.backgroundColor = .clear // collectionView's superview

Ячейки желтые.Существует минимум LineSpacing, установленный на 10. Цвет фона для геометрии SCNPlane по умолчанию белый, и поскольку представление collectionView - .clear, фоновый цвет SCNPlane видим, который показывает белый.

Это дает мне:

// this makes it appear the cells are sitting on either a white background or on top of another white cell
yellowCell_0
mimLineSpacing > white background color from SCNNode
yellowCell_1
mimLineSpacing > white background color from SCNNode
yellowCell_2
mimLineSpacing > white background color from SCNNode
etc

Я хочу:

// this makes it appear the cells are sitting on nothing, a clear background, or on top of clear cells
yellowCell_0
mimLineSpacing > clear background color from SCNNode
yellowCell_1
mimLineSpacing > clear background color from SCNNode
yellowCell_2
mimLineSpacing > clear background color from SCNNode
etc

Если я задаю node.opacity = 0 или node.geometry?.firstMaterial?.transparency = 0 SCNNode, ничего не видно, так как collectionView является дочерним элементом узла, он также становится невидимым.

Как настроить очистку цвета фона SCNNode, не затрагивая родительский элемент клеток / cv / cv?

let material = SCNMaterial()
material.diffuse.contents = myCollectionView.view // has yellow cells

let plane = SCNPlane(width: 0.5, height: 0.5)
plane.materials = [material]

let node = SCNNode(geometry: plane)

// node.opacity = 0.0
// node.geometry?.firstMaterial?.transparency = 0.0

node.position = SCNVector3(0.0, 0.0, 0.0)

enter image description here

Возможносделайте это, потому что я нашел эту картинку на вопрос этого парня

...