2016-08-30 5 views
0

私はこのように作成されchildNodeがSCNNodeとして有するノード(nodeCollection)を有する:SCNAction.rotateクリップ

:私もそうのようなREDBOXノードを作成してい

let boxGeo = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0.0) 
let node = SCNNode(geometry: boxGeo) 
node.physicsBody = SCNPhysicsBody.staticBody() 

let redBox = SCNNode() 
redBox.geometry = SCNBox(width: 0.5, height: 0.5, length: 0.5, chamferRadius: 0.1) 
redBox.geometry?.firstMaterial?.diffuse.contents = UIColor.redColor() 
redBox.position = SCNVector3Make(0, 1, -2) 
redBox.physicsBody = SCNPhysicsBody.dynamicBody() 

私はその後、私はその後、nodeCollectionとredBoの両方を追加のノードが

let rotateAction = SCNAction.rotateByAngle(CGFloat(M_PI_2), aroundAxis: SCNVector3Make(0, 0, 1), duration: 0.15) 
rotateAction.timingMode = .EaseInEaseOut 
nodeCollection.runAction(rotateAction) 

を回転させるために以下のコードを実行していますx as childNodes to SCNScene

nodeCollectionで回転を実行するとわかるように、redBoxの物理特性は保持されません。 物理それは青い箱が回転すると、それだけでREDBOX

でクリップしないように私はこの問題を解決するにはどうすればよい

を停止し、blueboxにかかっていると赤いボックスがシーンに低下した場合に動作します

enter image description here

答えて