본문으로 건너뛰기

힘과 임펄스 (Forces and Impulses)

동적 강체는 힘과 임펄스에 반응하여 움직입니다. 힘은 일정 시간 동안 몸체에 적용되는 반면, 임펄스는 순간적으로 적용되는 힘입니다.

강체에 힘이나 임펄스를 적용하려면 pc.RigidBodyComponent 스크립팅 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);
}
};