【发布时间】:2018-12-05 00:23:46
【问题描述】:
我有一个在 ARKit2 上触发体验的图像参考,我想创建一个遮挡平面来覆盖触发器周围的所有内容,但触发器本身除外。比较有代表性的是这样的(把图片放在平面下方更好看,但实际上是在同一平面上):
到目前为止,我对像这样在常规形状上进行遮挡没有任何问题:
func setOcclusionMaterial() {
let occlusionPlane = SCNPlane(width: imageReference!.physicalSize.width, height: imageReference!.physicalSize.height)
let holdout = SCNMaterial()
holdout.isDoubleSided = true
holdout.diffuse.contents = CIColor.black
holdout.colorBufferWriteMask = SCNColorMask(rawValue: 0)
occlusionPlane.firstMaterial? = holdout
let occlusionNode = SCNNode()
occlusionNode.eulerAngles.x = -.pi / 2
occlusionNode.geometry = occlusionPlane
node!.addChildNode(occlusionNode)
}
但是,我不确定如何创建一个不包括图像区域(圆形)的平面。
我想要做的是放置一个 3D 元素,该元素看起来在我的触发器下方,但只有在自上而下或以小角度观察时才可见。
希望这足够清楚,如果您有任何想法,感谢您的帮助。
【问题讨论】:
-
你的触发器总是矩形的吗?如果是这样,请尝试从 4 个较小的平面构建遮挡几何体,中间有一个空白空间。
-
没有。它实际上总是循环的