简单问题: SceneKit 中有 Spritekit containsPoint
方法吗?
我认为命中测试可行,但我认为这只是用于检查2D触摸击中的对象。
答案 0 :(得分:1)
SCNGeometry
和SCNNode
都符合SCNBoundingVolume协议,可以访问边界框和边界球属性。
var boundingBox: (min: SCNVector3, max: SCNVector3)
对象边界框的最小和最大角点。
var boundingSphere: (center: SCNVector3, radius: Float)
对象边界球的中心点和半径。
如果目标是SCNVector3
点,则可以使用几何知识轻松确定框或球体是否包含它。
不确定以上是否回答了您的问题。如果您想将2D转换为3D,反之亦然或检查该点是否在相机截头尺内,SCNView
采用的SCNSceneRenderer中有一些有用的方法可供您使用。