Unity初心者です。1本目のゲームを作り終えるところなのですが、着地判定が上手くいかず、ジャンプがどうしても出来ない時が発生します。
現在、プレイヤーのBoxCollider+CapsuleClliderの底面に、もう一つBoxColliderを床にめり込むように設定して、下はisTriggerで着地判定させています。
地面のコライダーはPolygonColliderで作っています。
しかし、平面をただ走っているだけでもジャンプ出来なくなる時があります。条件はわかりません。
PolygonColliderは線の上だけ判定が出るとかではないですよね?めり込んで判定出来なくなるのか?とも思ったのですが…
Rayを飛ばすという方法でやるしかないのでしょうか?
ご教授お願いしたいです。
コードは以下のようになってます。
c#
1void Update() 2{ 3 if (Input.GetMouseButtonDown(0) && isGround == true) 4 { 5 //上方向の力をかける 6 this.rigid2D.velocity = new Vector2(0, this.jumpVelocity); 7 } 8} 9 10void OnTriggerEnter2D(Collider2D other) 11{ 12 13 //地面に接触した時 14 if (other.gameObject.tag == "groundTag") 15 { 16 isGround = true; 17 } 18} 19 20void OnTriggerExit2D(Collider2D other) 21{ 22 if (other.gameObject.tag == "groundTag") 23 { 24 isGround = false; 25 } 26}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。