unity实现判断B物体在A物体前方45°,且距离只有5时,出现警告

    public void Update()
    {
        Debug.DrawRay(this.transform.position, this.transform.forward, Color.red);//射线
        Debug.DrawLine(this.transform.position, GameObject.FindWithTag("Player").transform.position, Color.red);//线段
        float a = Vector3.Angle(this.transform.forward, (GameObject.FindWithTag("Player").transform.position - this.transform.position).normalized);//得到夹角
        Vector3 ab = GameObject.FindWithTag("Player").transform.position - this.transform.position;//AB之间的向量
        if (a < 45 && a > 0 && ab.magnitude < 5 && ab.magnitude > 0)//限定范围
        {
            print("发现入侵者!");
        }


    }

用法:

1.创建两个球A,B,其中一个球B的标签选择:Player(方便查找)

2.将脚本挂载A上即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值