[SceneKit專題]2.physics物理效果

說(shuō)明

本系列文章是對(duì)<3D Apple Games by Tutorials>一書(shū)的學(xué)習(xí)記錄和體會(huì)此書(shū)對(duì)應(yīng)的代碼地址

SceneKit系列文章目錄

physics body物理形體

  • Static(靜態(tài)的):形體不移動(dòng):當(dāng)其他物體能夠與該類型碰撞時(shí),該類型自身不受任何力和碰撞的影響,該類型用于墻壁和大質(zhì)量不可移動(dòng)的巖石;
  • Dynamic(動(dòng)態(tài)的):可以被力和碰撞影響,用于可移動(dòng)的桌椅,杯子;
  • Kinematic(運(yùn)動(dòng)學(xué)的):類似于靜態(tài)形體,不受力和碰撞影響.但你可以移動(dòng)該類型,移動(dòng)過(guò)程中與其他動(dòng)態(tài)形體碰撞.用于移動(dòng)的電梯或可以開(kāi)關(guān)的門;

physics shapes物理形狀

物理形狀決定了物理引擎在處理碰撞時(shí)的形狀檢測(cè).
為了讓物理模擬器運(yùn)行的更快,最好將物理形狀設(shè)定為簡(jiǎn)單的方形,球形或其他系統(tǒng)提供的原始形狀,大略匹配節(jié)點(diǎn)外觀就行了

QQ20170402-223133@2x.png

如果想要添加更多細(xì)節(jié)到物理形狀,可以手動(dòng)創(chuàng)建SCNPhysicsShape并傳入,否則可使用nil

geometryNode.physicsBody = SCNPhysicsBody(type: .Dynamic, shape: nil)

Scene Kit中的scene默認(rèn)打開(kāi)了重力,當(dāng)設(shè)定過(guò)動(dòng)態(tài)形體后,物體就會(huì)受到重力影響下落

forces力

力使用3維向量SCNVector3表示,使用applyForce(_: atPosition: impluse:)方法來(lái)添加一個(gè)力,并指定位置.一個(gè)力可以同時(shí)影響線速度和角速度.
impluse脈沖狀只作用一次,比如踢一個(gè)球,非脈沖狀的則可以持續(xù)作用.
Position位置可以影響力的作用效果

QQ20170402-225158@2x.png

torque力矩

力矩使用4維向量SCNVector4表示,使用applyTorque(_: impulse:)來(lái)添加一個(gè)力矩,力矩只影響角動(dòng)量.
x-,y-,z-指定旋轉(zhuǎn)軸,w-指定旋轉(zhuǎn)角度也就是大小值
Scene Kit使用國(guó)際單位制,因此質(zhì)量單位是kg千克,力的單位是N牛,脈沖單位是N-s牛秒,力矩單位是N-m牛米.

WX20171203-134257@2x.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容