2017-10-11 26 views
0

所以,ARKit:將SCNNode(平面幾何)放置在給定的位置,面向SCNCamera,但是在Y周圍的角度偏移?

我有我想要放置節點的確切位置。如果我測試的東西具有球形幾何結構我可以通過告訴節點放置在世界球體:

node.simdPosition =位置

(I提供了「位置」作爲輸入到該函數)。

成功地將對象置於世界上我想要的位置。

我真正想要做的是把一個平面:

 let plane = SCNPlane(width: 0.2, height: 0.3) 
     plane.cornerRadius = plane.width/10 
     plane.firstMaterial?.diffuse.contents = UIColor.red 
     plane.firstMaterial?.specular.contents = UIColor.white 
     let node = SCNNode(geometry: plane) 

然後告訴它被放置在「位置」:這一切

node.simdPosition = position 

的工作原理與飛機爲好。我有問題的是角度:

我想告訴飛機的節點放置在給定的「角度」(約Y)偏移到相機。我試過,但它不工作:

node.rotation = SCNVector4Make(0, 1, 0, currentFrame.camera.eulerAngles.z - angle) 

那麼接下來的問題是,如何才能節點放置在某個位置,並在它被放置在世界的那一刻,也有一定的ÿ角度偏移從垂直到相機?

+0

這工作:node.eulerAngles = SCNVector3Make(0,cameraEulerAngles.y - Float(0.7),0) – zumzum

回答

0

我用錯了歐拉角...(Z)

這使得它的工作:

node.eulerAngles = SCNVector3Make(0,cameraEulerAngles.y - 浮動(0.7),0)

相關問題