ブリックブレーカーのようなシンプルなゲームを開発しています。
レンガに衝突すると、プレイヤーはリバウンドし、正常に動作するようになりました。ただし、コインとの衝突では、プレーヤーは跳ね返らず、コインは消えるはずです。
このために、私はコインの負の回復を試み、次のように b2MixRestitution を変更しました。
/// Restitution mixing law. Feel free to customize this.
inline float32 b2MixRestitution(float32 restitution1, float32 restitution2)
{
//return restitution1 > restitution2 ? restitution1 : restitution2;
float mixRest = 0.0f;
if(restitution1 > 0.0f && restitution2 > 0.0f)
mixRest = (restitution1>restitution2)?restitution1:restitution2;
else
mixRest = (restitution1<restitution2)?restitution1:restitution2;
return mixRest;
}
それでも選手は自然にリバウンドします。
硬貨の場合、返還額は -1.00f です。プレーヤーの場合、返還は 0.50f です。
これは、Box2d のボディに対して負の反発を持つことさえ可能ですか?
衝突することを意図したコイン(静的)とプレーヤー(動的)のような2つのボディでこれが可能かどうかを知りたいだけです。動的なものは衝突後に跳ね返りません。
これはできますか?