Unityバージョン5.5を5.6にアップデートしたとき、Collision2D.contacts配列にエラーが発生しました。連絡先配列にアクセスしようとすると、今すぐ連絡先情報を取得できません。Unity5.6 Collision2Dコンタクトポイントの配列インデックスが範囲外エラー
void OnCollisionExit2D(Collision2D col)
{
if (col.gameObject.CompareTag("Ground"))
{
if ((_transform.position.y - col.contacts[0].point.y) > colliderHeight/2 + .15f)
{
Debug.Log ("Contact count = " + col.contacts.Length);
_onGround = false;
ParticleController.PlayDustEffect();
}
}
}
エラーログ:
IndexOutOfRangeException:配列のインデックスが範囲外です。 (資産/スクリプト/ CharacterController/Player.csで:759) Player.OnCollisionExit2D(UnityEngine.Collision2DのCOL)
私は、エラーを解決することができますか?
お時間をいただきありがとうございます。
アドバイスをいただきありがとうございますが、ここに問題があります。最後に検出された衝突の情報にアクセスできます。 https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionExit.html - Unity 5.5を5.6にアップデートした後、OnCollisionExit2D関数をもう使用したときに連絡先情報を取得できません。この問題を解決できない場合は、Unity 5.5をインストールします。 –
これはOnCollisionEnter2Dで私に起こります。接触点なしで衝突を起こすことはどのように可能ですか? –