弾丸 (rigidbody2d、boxcollider2d) を別の敵オブジェクト (rigidbody2d、kinematic、circlecollider2d) に向けて発射しようとしています。この2つの衝突点が欲しいです。それらが衝突すると、衝突パーティクル効果が必要になり、接触点から、すべて異なる方向に移動する 5 つの岩オブジェクトを作成したいと考えています。どうすればこれを達成できますか? 問題は、私が取得した連絡先が間違っているように見えることです。衝突が発生すると、衝突パーティクル エフェクトが作成されますが、岩オブジェクトは、接触点ではなく、接触点に近い別のポイントに作成されます。また、岩のオブジェクトをインスタンス化した後に別の方向に移動するにはどうすればよいですか?
私のコード:
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.gameObject.tag == "Enemy")
{
ContactPoint2D contact = coll.contacts[0];
GameObject rock1 = Instantiate (rock, contact.point, transform.rotation) as GameObject;
rock1.rigidbody2D.velocity = transform.up * 20;
GameObject rock2 = Instantiate (rock, newPos, transform.rotation) as GameObject;
rock2.rigidbody2D.velocity = transform.right * 20;
Destroy(coll.gameObject);
Destroy (gameObject);
Instantiate (explosion, transform.position, Quaternion.identity);
}
}