class SCNPhysicsBody : NSObject
附加到場(chǎng)景圖節(jié)點(diǎn)的物理模擬屬性。
var physicsShape: SCNPhysicsShape? { get set }
定義用于碰撞檢測(cè)的物理實(shí)體的固體體積的對(duì)象建椰。
物理模擬不使用節(jié)點(diǎn)的可見幾何進(jìn)行碰撞檢測(cè)-使用簡(jiǎn)單形狀時(shí)模擬可以更快地運(yùn)行雕欺,并且對(duì)于某些元素使用不可見碰撞形狀設(shè)計(jì)應(yīng)用或游戲也很有用。 通常棉姐,您可以將身體的物理形狀設(shè)置為大致匹配其節(jié)點(diǎn)可見內(nèi)容的邊界框或原始形狀屠列,但是可以使用更詳細(xì)的形狀進(jìn)行更精確的碰撞檢測(cè),而這會(huì)降低性能伞矩。
有關(guān)創(chuàng)建物理形狀的詳細(xì)信息笛洛,請(qǐng)參見SCNPhysicsShape。
var type: SCNPhysicsBodyType { get set }
一個(gè)常數(shù)乃坤,該常數(shù)確定物理物體對(duì)力和碰撞的響應(yīng)方式苛让。
static: 創(chuàng)建一個(gè)不受力量或碰撞影響而不能移動(dòng)的物理體。
使用靜態(tài)物體來(lái)構(gòu)建場(chǎng)景中的其他物體需要碰撞但不會(huì)移動(dòng)的固定裝置湿诊,例如地板狱杰,墻壁和地形
dynamic:創(chuàng)建一個(gè)可受力量和碰撞影響的物理體。
使用物理模擬移動(dòng)的場(chǎng)景元素的動(dòng)態(tài)物體枫吧。
kinematic:創(chuàng)建一個(gè)不受力或碰撞影響的物理體浦旱,但移動(dòng)時(shí)可能會(huì)導(dǎo)致影響其他物體的碰撞。
使用運(yùn)動(dòng)物體來(lái)直接控制場(chǎng)景元素九杂,但其運(yùn)動(dòng)操縱其他元素颁湖。
例如,要允許用戶用手指推動(dòng)物體例隆,可以創(chuàng)建一個(gè)運(yùn)動(dòng)物體并將其附加到一個(gè)不可見的節(jié)點(diǎn)上甥捺,這個(gè)節(jié)點(diǎn)將移動(dòng)跟隨事件。
(在macOS中镀层,使用相同的技術(shù)來(lái)允許用戶使用鼠標(biāo)指針移動(dòng)對(duì)象镰禾。)
var velocityFactor: SCNVector3 { get set }
速度因數(shù)
使用此屬性可以約束或限制物理模擬對(duì)包含物理實(shí)體的節(jié)點(diǎn)的影響。 例如唱逢,您可以通過將速度因子設(shè)置為{1.0吴侦,1.0,0.0}來(lái)強(qiáng)制物體僅在兩個(gè)方向上移動(dòng)坞古。
var angularVelocityFactor: SCNVector3 { get set }
角速度因子
一個(gè)乘數(shù)备韧,它會(huì)影響SceneKit如何將由物理模擬計(jì)算得出的旋轉(zhuǎn)應(yīng)用于包含物理實(shí)體的節(jié)點(diǎn)。
var isAffectedByGravity: Bool { get set }
一個(gè)bool值, 用于確定重力常量是否能加速SCNPhysicsBody
var mass: CGFloat { get set }
物體的質(zhì)量,單位為kg
只有dynamic的物體的質(zhì)量為1.0, static 和 kinematic的物體的質(zhì)量都是0
var charge: CGFloat { get set }
電荷,以庫(kù)倫為單位
var friction: CGFloat { get set }
摩擦力
var rollingFriction: CGFloat { get set }
滾動(dòng)摩擦
此屬性模擬圓形的實(shí)體與可能會(huì)對(duì)其滾動(dòng)的實(shí)體之間的牽引力痪枫。 滾動(dòng)摩擦力為0.0(默認(rèn)值)表示被誘導(dǎo)滾動(dòng)(例如织堂,放置在傾斜的表面上)的物體將繼續(xù)滾動(dòng)而不會(huì)減慢速度叠艳,除非另有作用;否則易阳,滾動(dòng)摩擦力1.0會(huì)阻止物體 滾動(dòng)附较。
var restitution: CGFloat { get set }
確定身體在碰撞中損失或獲得多少動(dòng)能的因素。
var velocity: SCNVector3 { get set }
一個(gè)既描述當(dāng)前速度(以米/秒為單位)又描述物理物體運(yùn)動(dòng)方向的向量潦俺。
var angularVelocity: SCNVector4 { get set }
一個(gè)向量拒课,它描述物理體的當(dāng)前旋轉(zhuǎn)軸和旋轉(zhuǎn)速度(以弧度每秒為單位)。