2014년 2월 27일 목요일

[일기]Box2D, 중력 제어.

각각의 강체에 적용될 중력을 다르게 적용하기.

 1. 먼저 강체에 적용하는 중력을 상쇄시킨다.

   bodies[1]->ApplyForce( bodies[1]->GetMass() * -m_world->GetGravity(), bodies[1]->GetWorldCenter() );

 2. 이와 같은 방법으로 원하는 중력을 적용시킨다.

  bodies[1]->ApplyForce( bodies[1]->GetMass() * b2Vec2( -10, 0) , bodies[1]->GetWorldCenter() );

 1의 단계에서 Box2D v2.2.1 부터는 저 단계를 밟을 필요가 없다. 다음 설정 한번으로 같은 효과가 발생한다.

 pBody->SetGravityScale(0);

 인자로 들어온 숫자를 적용받는 중력에 곱해준다. 0을 넣으면 적용받는 중력은 0이 된다. -1을 넣는다면 역방향의 중력을 받을 것이다.

댓글 없음:

댓글 쓰기