力と衝撃
ダイナミックなRigidBodyは力 (Force) や衝撃 (Impulse) に応答して移動します。力は一定の時間内にRigidBodyに加えられるのに対して、衝撃は瞬間的に加えられる力です。
RigidBodyに力や衝撃を加えるには、pc.RigidBodyComponent scripting API を使用する必要があります。
以下にいくつかの例を考えてみましょう。重い重りを床の上を押しやるためには、時間内に力を加えます。
MyScript.prototype.update = function(dt) {
// 右矢印キーが押さ れている場合、右に力を加える
if (app.keyboard.isPressed(pc.KEY_RIGHT)) {
this.entity.rigidbody.applyForce(10, 0, 0);
}
};
大砲から砲弾を発射するには、一回の衝撃を加えます。
MyScript.prototype.update = function(dt) {
// スペースバーが押されたら、右上に衝撃を加える
if (app.keyboard.wasPressed(pc.KEY_SPACE)) {
this.entity.rigidbody.applyImpulse(10, 10, 0);
}
};