Add On Ground Sensor(新增落地侦测器)

判断碰撞框是否触地
在PlayerHandle下面增加代码On Ground Sensor在这里插入图片描述在原有碰撞框上面加一个测试用的碰撞框当测试用的碰撞框和地面测试碰撞框相撞就判定On Gound
代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OnGroundSensor : MonoBehaviour {

    public CapsuleCollider capcol;//在外面灌handle的collider;

    private Vector3 point1;
    private Vector3 point2;
    private float radius;
	// Use this for initialization
	void Awake () {
        radius = capcol.radius;//得到playerhandle的collider的半径
        //print(radius);
	}
	
	// Update is called once per frame
	void FixedUpdate () {
        point1 = transform.position + transform.up * radius;
        point2 = transform.position + transform.up * capcol.height - transform.up * radius;


        Collider[] outputCols = Physics.OverlapCapsule(point1, point2, radius,LayerMask.GetMask("Ground"));//有几处和Ground发生碰撞
        //print(outputCols.Length);

        if (outputCols.Length != 0)
        {
            foreach (var col in outputCols)
            {
                print("collision:" + col.name);//发生碰撞的物体名称
            }
         
        }
		
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44025382/article/details/85010729
Add