중력의 조건에서 표면 (트램펄린)에 작용하는 공 (원 모양의 역동적 인 몸체)이 있습니다.특정 충격 각에 대한 box2d 임펄스를 계산합니다.
공이 트램 폴린 (그림 A에서 점 B로 그려지는 부분)에 충격을 주었을 때 공 (트램 폴린 표면에 정상 임펄스)을 적용하고 싶습니다.
(도면에서 빨간색 방향)에서 (표면)에 수직하게 볼을 보낸다b2Vec2 impulse = b2Vec2(0, [self fullMass]*[GameMaster sharedInstance].usrTrampolineForce);
b2Vec2 impulsePoint = _body->GetWorldPoint(b2Vec2(0/PTM_RATIO, -1.0/PTM_RATIO));
_body->ApplyLinearImpulse(impulse, impulsePoint);
비록에게 그것이 존중해야
는문제는 지금 제가 사용한다는 것이다 어떤 현실적인 궤도 (검은 색으로 그려 짐).
충동을 적용하여 실제 점프를 적용하려면 어떻게해야합니까?
즉 볼 교차점의 모든 경우에 관심이 있습니다. 예를 들어 공이 트램폴린 위에 떨어질 수 있고 공이 여전히 올바른 궤적을 가져야합니다.
사실적인 궤도 빨간색 _is_. 정상에 반영, IIRC. – brice
@brice 나는 그림을 그려 그 지점을 만듭니다. 코드를 살펴보면 AB 엣지 (엣지와 볼 방향 벡터 사이의 각도)와 관계없이 볼과 AB 엣지 간의 모든 상호 작용이 볼을 생성한다는 것을 의미합니다 현실 세계에서 잘못된 점프. – Alex
오셨습니까? 단단한 표면은 아니지만 충돌이있을 때 적극적으로 볼에 충격을주고 싶습니다. – brice