ARKit - прятать предметы за стеной - PullRequest
1 голос
/ 02 апреля 2019

У меня есть идея для приложения AR, и я заметил, что в большинстве приложений AR объекты не прячутся за стеной, возможно ли, например, то, что я прикрепил портрет AR в своей комнате, и это можно увидеть, только еслиЯ иду туда, а не через стены?

У меня нет опыта в AR, я только собираюсь его изучить.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Вы можете легко спрятать все свои объекты за стеной, используя три различных подхода для создания стены: SCNBox (), SCNShape () с выдавливанием или SCNGeometry ().Что бы вы ни выбрали, просто присвойте ему пустое свойство экземпляра .colorBufferWriteMask.renderingOrder свойство экземпляра должно быть -1.Сначала отображается узел с отрицательным значением порядка рендеринга.

let wallNode = SCNNode()
wallNode.geometry = SCNBox(width: 15.0, height: 3.0, length: 0.1, chamferRadius: 0)
wallNode.position = SCNVector3(x: 0, y: 0, z: 5)

//wallNode.geometry = SCNShape(path: NSBezierPath?, extrusionDepth: CGFloat)
//wallNode.geometry = SCNGeometry(sources: [SCNGeometrySource], elements: [SCNGeometryElement]?)

wallNode.geometry?.firstMaterial?.colorBufferWriteMask = []
wallNode.renderingOrder = -1
scene.rootNode.addChildNode(wallNode)

Надеюсь, это поможет.

0 голосов
/ 02 апреля 2019

это простой способ сделать это, вы должны обнаружить плоскость (в вашем случае стену) и настроить для

node.geometry.firstMaterial?.colorBufferWriteMask = []
node.renderingOrder = -1
...