本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會git
此書對應的代碼地址github
SceneKit系列文章目錄swift
物理形狀決定了物理引擎在處理碰撞時的形狀檢測. 爲了讓物理模擬器運行的更快,最好將物理形狀設定爲簡單的方形,球形或其餘系統提供的原始形狀,大略匹配節點外觀就好了app
若是想要添加更多細節到物理形狀,能夠手動建立SCNPhysicsShape並傳入,不然可以使用nilpost
geometryNode.physicsBody = SCNPhysicsBody(type: .Dynamic, shape: nil)
複製代碼
Scene Kit中的scene默認打開了重力,當設定過動態形體後,物體就會受到重力影響下落學習
力使用3維向量SCNVector3表示,使用applyForce(_: atPosition: impluse:)方法來添加一個力,並指定位置.一個力能夠同時影響線速度和角速度. impluse脈衝狀只做用一次,好比踢一個球,非脈衝狀的則能夠持續做用. Position位置能夠影響力的做用效果spa
力矩使用4維向量SCNVector4表示,使用applyTorque(_: impulse:)來添加一個力矩,力矩隻影響角動量. x-,y-,z-指定旋轉軸,w-指定旋轉角度也就是大小值 Scene Kit使用國際單位制,所以質量單位是kg千克,力的單位是N牛,脈衝單位是N-s牛秒,力矩單位是N-m牛米.3d