射线知识点

 //Debug.DrawLine(transform.position, transform.position + transform.forward, Color.red);//绘制一条红色的射线  起点-终点

//Debug.DrawRay(transform.position, transform.forward, Color.green);//绘制一条绿色的射线  起点-方向

 
/从原点发射一条射线
                     //原点        //自身坐标
        Ray ray = new Ray(Vector3.zero, transform.position);//从原点创建一条射线 ray射线
        RaycastHit hit;//射线碰撞信息:RaycastHit   物理射线   
        Physics.Raycast(ray, out hit, 100);//是否能产生最长距离100米的射线   Physics.Raycast:物理射线.信息方法 out hit:输出射线信息 

        Debug.DrawRay(ray.origin, hit.point);//从原点绘制一条射线,终点是点击的位置 //ray.origin:原点位置   hit.point:射线点击位置


    //点击鼠标左键克隆一个球体
        if (Input.GetMouseButton(0))
        {
            //Input.mousePosition:鼠标点击的位置
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//鼠标点击屏幕产生一条射线  Camera.main.ScreenPointToRay:摄像机射向屏幕
            RaycastHit hit;//射线信息
            if (Physics.Raycast(ray, out hit, 100))//是否能产生最长距离100米的射线  out hit
            {
                Instantiate(qiu, hit.point, Quaternion.identity);//在鼠标点击的位置上克隆一个球体
            }

        }


 //点击鼠标左键,点到谁让谁消失
        if (Input.GetMouseButton(0))
        {
            //Input.mousePosition:鼠标点击的位置
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//鼠标点击屏幕产生一条射线
            RaycastHit hit;//射线信息
            if (Physics.Raycast(ray, out hit, 100))//是否能产生最长距离100米的射线  out hit
            {
                //判断碰到谁
                if (hit.collider.gameObject.name.Equals("Cube"))//通过名称查找对象
                 //if (hit.collider.gameObject.CompareTag("Enemy"))//通过标签查找对象
                {
                    //让谁消失
                    Destroy(hit.collider.gameObject);
                }

            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值