2017-04-19 30 views
0

簡單的問題:有沒有什麼像SpritekitcontainsPoint方法SceneKit類似Scenekit中的ContainsPoint

我猜測測試可以工作,但我認爲這只是用於檢查2D觸摸點擊哪個對象。

+0

目前尚不清楚你在做什麼。你想知道一個點是否包含在幾何體定義的體積內嗎? – mnuages

+0

@mnuages準確 – Pietari

回答

-1

SpriteKit具有它檢查是否一個SKNode包含CGPoint 蘋果FUNC

open func contains(_ p: CGPoint) -> Bool 

這裏在的touchesBegan方法中使用它的一個例子相同的功能

let touch = touches.first 
let touchLocation = touch!.location(in: self) 

if box.contains(touchLocation) { 
} 
0

SCNGeometrySCNNode都符合到SCNBoundingVolume協議,它可以訪問邊界框和邊界球屬性。

var boundingBox: (min: SCNVector3, max: SCNVector3) 

最小和對象的邊界框的最大角點。

var boundingSphere: (center: SCNVector3, radius: Float) 

對象的邊界球的中心點和半徑。

如果目標是SCNVector3點,則很容易通過使用幾何知識來確定箱子或球體是否包含它。

不確定上述是否回答您的問題。如果您想將2D轉換爲3D或反之亦然,或者檢查點是否位於相機內部,SCNView採用的SCNSceneRenderer中有用的方法。

+0

是否有可能獲得更多信息,如鏈接,如果「如果目標是SCNVector3點,則很容易通過使用幾何知識來確定盒子或球體是否包含它。」?謝謝 – xta