Bouncinessを0.9くらいに設定しているとスロープ内で反射しまくります。
スロープの上にいるときはBouncinessを0にして反射させずにスルスルとボールを転がしたいのですよ。
反射させないオブジェクト用にNotReflecというタグを新しく作ります。
スロープオブジェクトのPlane.002にNotReflecタグを設定。
void OnCollisionEnter(Collision col)
{
//反射させない処理
if (col.gameObject.tag == "NotReflec")
{
this.GetComponent<SphereCollider>().material.bounciness = 0;
return;
}
//反射させない処理
}
スクリプトの衝突判定処理内に上記を追加。
実行してみるとスロープの壁に反射せずにスルスルとボールが上がっていきます。やった^^
注意点としてはこの方法では反射させない障害物にぶつかっても
最初の1回は反映されずに反射してしまうようです。
2回目の衝突からは反映されて反射しなくなるみたい。
それと一度bouncinessを0にするとその後もずっと0のままなのでスロープを抜けるとまた0.9にしたい。
void OnCollisionEnter(Collision col)
{
this.GetComponent<SphereCollider>().material.bounciness = 0.9f;
//反射させない処理
if (col.gameObject.tag == "NotReflec")
{
this.GetComponent<SphereCollider>().material.bounciness = 0;
return;
}
//反射させない処理
}
最初の行で0.9fに設定しておいてNotReflecタグの時だけ0にするようにしました。

