【发布时间】:2020-03-03 21:43:47
【问题描述】:
有一个简短的问题,看看我是否正确使用了 isNode(_:insideFrustumOf:)。
我将一个节点 (SCNNode) 放入具有标准配置的 ARSCNView 中。节点中的几何图形是偏离中心的,所以我使用节点的 pivot 属性来调整它的中心点。
let c = object.boundingSphere.center
object.pivot = SCNMatrix4MakeTranslation(c.x, c.y, c.z)
object.position = c
我使用捏合手势更新对象的缩放或旋转后出现问题。发生这种情况后,我从 isNode(_:insideFrustumOf:) 和 nodesInsideFrustum(of:) 得到不同的结果。
我正在测试的节点在屏幕上清晰可见,但 isNode(_:insideFrustumOf:) 看不到它。但是,该节点位于nodesInsideFrustum(of:)的[SCNNode]结果中。
我的问题是这是否是一个错误,或者是否有一些其他适当的方法可以将几何图形居中到一个可以解决这个问题的节点。现在,我将使用 nodesInsideFrustum(of:) 函数并测试对象是否在数组中。
谢谢!
【问题讨论】:
-
你能找到解决问题的方法吗?