前提・実現したいこと
Unityで2Dゲームを作成しています。
接地判定をRigidBody2D.Castを利用したいと考えています。
ContactFilter2DのLayerMaskで地面のみを判定したいです。
発生している問題・エラーメッセージ
LayerMask.GetMaskの部分で
CS1503: 引数 2: はintをUnityEngine.ContactFilter2Dへ変換できません
というエラーが出てきます。
該当のソースコード
C#
1int number; 2RigidBody2D rb; 3RaycastHit2D[] result = new RaycastHit[0]; 4 5bool CheckGrounded() 6{ 7 number = rb.Cast(Vector2.down, LayerMask.GetMask("Ground"), result, 0.1f); 8 if(number > 0) 9 { 10 return true; 11 } 12 return false; 13}
試したこと
事前にLayerMaskの指定をしてみましたが、同じエラーが出てきます。
以前Raycastを使ったときに同じようにLayerMask.GetMaskで判定できることは確認済みです。
BoxCastなどの代用も考えていますが、あくまでRigidBody2D.Cast()で判定したいと考えています。
参考にした情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/18 08:38