首页 > 解决方案 > 在 Scenekit 中使用网格线打开遮挡

问题描述

我想使用带有 SceneKit 而不是 RealityKit 的 iOS ARKit 显示网格。

我可以向网格添加材料,就像这样可以很好地显示网格

let edgesMaterial = SCNMaterial()
edgesMaterial.fillMode = .lines
edgesMaterial.lightingModel = .constant
edgesMaterial.transparency = 1.0
edgesMaterial.diffuse.contents = UIColor.red
scnGeom.materials = [edgesMaterial]

但是,这会在场景中添加线框的重叠线。使用 RealityKit 修复相当简单,只需添加

arView.environment.sceneUnderstanding.options.insert(.occlusion)

如何使用场景包场景获得相同的效果?基本上我想添加一个带有线条的遮挡材质。任何指针?

更新:

通过使用这个,我可以得到一些接近但不完全相同的可视化:

sceneView.debugOptions.insert([.showWireframe])
let occMaterial = SCNMaterial()
occMaterial.colorBufferWriteMask = SCNColorMask(rawValue: 0)
scnGeom.materials = [occMaterial]

线条显示为白色,并且我放置在场景中的任何对象现在都会自动渲染线框

标签: iosswiftscenekitarkitlidar

解决方案


推荐阅读