我對SceneKit非常新,您的幫助將會非常感謝!
我在我的UIView中有一個200x200大小的SCNView,它位於超級視圖的中心。 我想把SCNCylinder放在裏面,這樣SCNCylinder覆蓋了完整的SCNView。我讀過Scenekit的所有這些視圖都是以米爲單位定義的,所以我如何形成我的屏幕和SCNCylinder的尺寸之間的關係。如何定位一個SCNNode來覆蓋整個SCNView?
我想:
var coinNode = SCNNode()
let coinGeometry = SCNCylinder(radius: 100, height: 2)
coinNode = SCNNode(geometry: coinGeometry)
coinNode.position = SCNVector3Make(0, 0, 0)
coinScene.rootNode.addChildNode(coinNode)
let rotate90AboutZ = SCNAction.rotateByX(-CGFloat(M_PI_2), y: 0.0, z: CGFloat(M_PI_2), duration: 0.0)
coinNode.runAction(rotate90AboutZ)
ibOutletScene.scene = coinScene
但這離開我coinScene和ibOutletScene之間的餘量。我如何刪除這個空間?
我也嘗試添加攝像頭:
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = SCNVector3Make(0, 0, 100)
coinScene.rootNode.addChildNode(cameraNode)
但我看到這個隨機的行爲和coinNode獲取隱藏!我應該如何擺放相機?或者有沒有其他方法可以從我的ibOutletScene中刪除額外的空間?
編輯: 這是它看起來如果我不添加相機。紅色的場景和綠色的硬幣之間有一段距離。我嘗試了多種尺寸的硬幣,但除非添加相機,否則我無法刪除此邊距。但是,如果我添加相機,我會遇到另一個問題,在屏幕截圖下面提到。
如果我不添加相機,硬幣上的旋轉動畫完美地工作,但如果我添加相機,旋轉放大,然後再與動畫變小。如何在不增加尺寸的情況下在軸上旋轉它? 我正在使用下面的代碼來旋轉幣: 相同的代碼沒有相機工作正常,但添加相機後放大硬幣。檢出快照。
let rotate = SCNAction.rotateByX(0, y: -2 * CGFloat(M_PI_2), z: 0, duration: 2)
coinNode.runAction(rotate)
該動畫用於對齊XY平面上的圓柱體,因此持續時間爲0,該線條正常工作。 – Anshuman
我編輯了我的問題以包含快照。 – Anshuman