Ios 阿基特&x2013;在墙后隐藏物体
我有一个AR应用的想法,我注意到在大多数AR应用中,对象都不是通过墙隐藏的,比如我把AR肖像钉在房间里,只有我去那里才能看到,而不是通过墙 我没有AR方面的经验,只是即将学习Ios 阿基特&x2013;在墙后隐藏物体,ios,swift,xcode,arkit,Ios,Swift,Xcode,Arkit,我有一个AR应用的想法,我注意到在大多数AR应用中,对象都不是通过墙隐藏的,比如我把AR肖像钉在房间里,只有我去那里才能看到,而不是通过墙 我没有AR方面的经验,只是即将学习 谢谢。这是一种简单的方法,您必须检测平面(在您的情况下是墙)并设置 node.geometry.firstMaterial?.colorBufferWriteMask = [] node.renderingOrder = -1 这是一种简单的方法,您必须检测平面(在您的例子中是墙)并设置 node.geometry.fi
谢谢。这是一种简单的方法,您必须检测平面(在您的情况下是墙)并设置
node.geometry.firstMaterial?.colorBufferWriteMask = []
node.renderingOrder = -1
这是一种简单的方法,您必须检测平面(在您的例子中是墙)并设置
node.geometry.firstMaterial?.colorBufferWriteMask = []
node.renderingOrder = -1
使用三种不同的墙创建方法可以轻松地将所有对象隐藏在墙后: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)
希望这能有所帮助。您可以使用三种不同的墙创建方法轻松地将所有对象隐藏在墙后: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)
希望这能有所帮助。Didar,你已经实施了这种方法吗?@ARGeo嘿!还没有。因为我是AR新手,只对它的实际工作方式感兴趣,但是谢谢你的帮助!!迪达,你已经实施了这个方法吗?@ARGeo嘿!还没有。因为我是AR新手,只对它的实际工作方式感兴趣,但是谢谢你的帮助!!