Ios ARKit如何停止闪烁或如何将节点定位到摄影机,
我已经创造了石板墙。在该平面上,我添加了另一个平面,用户将设备指向该平面 但由于两个平面的位置相同,新添加的平面会闪烁 那么,如何保持与墙节点和平面节点的距离呢 如何添加平面节点Ios ARKit如何停止闪烁或如何将节点定位到摄影机,,ios,scenekit,arkit,Ios,Scenekit,Arkit,我已经创造了石板墙。在该平面上,我添加了另一个平面,用户将设备指向该平面 但由于两个平面的位置相同,新添加的平面会闪烁 那么,如何保持与墙节点和平面节点的距离呢 如何添加平面节点 let hitTestScene = self.sceneView.hitTest(self.sceneView.center, options:[SCNHitTestOption.categoryBitMask : 16]) if let first = hitTestScene.first { if f
let hitTestScene = self.sceneView.hitTest(self.sceneView.center, options:[SCNHitTestOption.categoryBitMask : 16])
if let first = hitTestScene.first {
if first.node.name == NodeNames.wallNode {
let value = MathHelper().getMeasurementBetween(vector1: lastNodePosition, and: first.worldCoordinates)
let node = SCNNode(geometry: SCNPlane(width: CGFloat( value) , height: CGFloat(value)))
node.geometry?.firstMaterial?.isDoubleSided = true
node.name = "Plane1"
node.geometry?.firstMaterial?.diffuse.contents = UIColor.red.withAlphaComponent(1)
node.eulerAngles = first.node.eulerAngles
node.position = lastNodePosition
self.sceneView.scene.rootNode.addChildNode(node)
}
}
红色的平面不断地翻转(出现-消失)
我尝试了node.position.z-=0.2
,但它不起作用,并且由于node.eulerAngles
任何帮助都将不胜感激我已经弄明白了
通过设置rendringOrder和readsFromDepthBuffer
我可以停止这种轻弹效果
extension SCNNode {
func renderOnTop() {
self.renderingOrder = 2
if let geom = self.geometry {
for material in geom.materials {
material.readsFromDepthBuffer = false
}
}
for child in self.childNodes {
child.renderOnTop()
}
}
}
希望有些人可以使用它,如果相同的问题如果我在我的文本上这样做,我的文本似乎不再是实心文本,但是的,没有闪烁,但它看起来不再像实心文本:(