Lockon Overlapping Test(Lockon目标截取)

找到锁死的目标:使用unity的Physics.OverlapBox;在这里插入图片描述
红色的就是角色向前延申碰到的就是要锁的东西;判断是否碰到就是用overlapbox来判断;还要新增一个兴趣层级Enemty:


    public void LockUnlock()
    {
        if (lockTarget == null)
        {
            //try to lock
            Vector3 modleOrigin1 = modle.transform.position;//角色脚下的点
            Vector3 modleOrigin2 = modleOrigin1 + new Vector3(0, 1, 0);//角色上半身点
            Vector3 boxCenter = modleOrigin2 + modle.transform.forward * 5.0f;//盒子的中心点位置
            Collider[] cols = Physics.OverlapBox(boxCenter, new Vector3(0.5f, 0.5f, 5.0f),modle.transform.rotation,LayerMask.GetMask("Enemy"));
            foreach (var col in cols)
            {
                // print(col.name);
                lockTarget = col.gameObject;//将被锁定的东西赋值给locktarget
                break;
            }
        }
        else
        {
            //relese lock
            lockTarget = null;//如果里面有被锁物件那么就清空他
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44025382/article/details/86590065