如何解决LiDAR – SCNNode的ARMeshAnchor,进行一些操作
我已经运行了这个Git。我要尝试的是在节点距离我设置的距离较远时(例如1米)将节点移除。在其中,我添加了此方法(代码1)。
代码1
func getDistanceBtw(cameraPostion: SCNVector3,nodePosition: SCNVector3) -> Float {
let powX = (cameraPostion.x - nodePosition.x) * (cameraPostion.x - nodePosition.x)
let powY = (cameraPostion.y - nodePosition.y) * (cameraPostion.y - nodePosition.y)
let powZ = (cameraPostion.z - nodePosition.z) * (cameraPostion.z - nodePosition.z)
let powXYZ = powX + powY + powZ
let distance = sqrt(powXYZ)
return distance
}
在渲染器didUpdate Node方法中,我添加了...(代码2)
代码2
let cameraPostion = sceneView.pointOfView?.position
let nodePosition = node.position
if getDistanceBtw(cameraPostion: cameraPostion!,nodePosition: nodePosition) > 1 {
node.removeFromParentNode()
}
我认为这是我要解决的问题,它做了一些事情,但没有实现我想要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。