前提・実現したいこと
前提として、赤のオブジェクトAと青のオブジェクトBと白の床があります。
3つのオブジェクトは全てspriteで、BoxCollider2Dコンポネーントが付いており
赤と青のオブジェクトだけ、RigidBody2Dが付いている状態です。
実行すると、青いオブジェクトが以下のスクリプトで、赤方向に移動し
青いオブジェクトが赤オブジェクトにに接触した瞬間に、何か処理を行いたいと考えております。
現在はこの実装を、青いオブジェクトのOnCollisionEnter2D内で行っているのですが
これをOnTrrigerEnter2Dに変更したいです。その為、青いオブジェクトの
Rigidbody2DのisTrriger
をONにしたところ、青いオブジェクトが床をすり抜けてしまいました(当たり前ですが・・・)
こちらの質問と類似かと思いますが、青いオブジェクトから赤いオブジェクトに対してだけ
OnTrrigerEnter2Dで当たり判定を行うことは可能でしょうか?解決に至らなかった為、ご教示頂けると幸いです。
発生している問題・エラーメッセージ
isTrrigerをONにすると床をすり抜けてしまう
該当のソースコード
C#
1public class BoxController : MonoBehaviour 2{ 3 void Update() 4 { 5 transform.position -= new Vector3(0.1f, 0.0f, 0.0f); 6 } 7 8 private void OnCollisionEnter2D(Collision2D collision) 9 { 10 if(collision.gameObject.tag == "A") 11 { 12 Debug.Log("当たった"); 13 } 14 } 15}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。