上の物体を下の物体にぶつけて、下の物体をぶっ飛ばす
プログラムを考えてみます。
上のブロックは下矢印で移動できます。
下のブロックのtagをaitesamaとします。
それぞれrigidをくっつけておきましょう。
それぞれcolliderのTriggerはtrueにしておきましょう。
上の物体に、次のプログラムをアタッチします。
ぶっ飛ばすプログラム
例えばこんな感じです。
public class futtobi : MonoBehaviour
{
//力
float chikara=100.0f;
//力の加わる中心半径
public float radius = 1.0f;
//相手のリジッドを格納
Rigidbody aiteRigid;
void Start()
{
}
void Update()
{
//動かすプログラム
if (Input.GetKey(KeyCode.DownArrow))
{
transform.position += new Vector3(0, -0.1f, 0);
}
}
//ぶつかった時トリガをもらう
void OnTriggerEnter(Collider col)
{
//相手のタグが条件に合えば
if (col.gameObject.tag == "aitesama")
{
//相手のrigidをゲットしちゃう
aiteRigid = col.GetComponent<Rigidbody>();
//中心位置を格納して
Vector3 chushin = col.transform.position;
//コリダーをセット
Collider[] colliders = Physics.OverlapSphere(chushin, radius);
//ドッカーン
aiteRigid.AddExplosionForce(chikara, chushin, 5.0f);
}
}
}
ぶっ飛ばしかたによっては、AddForceがよろしいんでしょうが。
それはまたの機会に。
それではよきプログラミングライフを!
またね。