Scenekit - 检测相机视野中有哪些节点对象,判断一个某个节点是否在视野中

2019-06-11 16:50:37 浏览数 (1)

本节学习目标

  1. 检测相机视野中有哪些节点 2.判断节点是否在相机视野中

比如ar导航项目中经常会检测某个节点是否在视野中,出现提示箭头?下面我们将实现的代码讲解一下

第一步 先将照相机节点设为场景的视野节点

代码语言:javascript复制
    self.scnView.pointOfView = cameraNode

第二步 检测视野中包含的所有节点

代码语言:javascript复制
 let nodes = self.scnView.nodesInsideFrustum(of: self.scnView.pointOfView!)

提示

不管是否在被遮挡都会检测到,但是设置节点隐藏是不会被检测到的。

如何检测节点是否在视野中?

代码语言:javascript复制
     let inFrustum = self.scnView.isNode(sphereNode, insideFrustumOf: self.scnView.pointOfView!)

提示

就算节点被隐藏,通过这个方法也能被检测出来

0 人点赞