学习Unity射线的创建使用

来源:互联网 发布:北京新机场 知乎 编辑:程序博客网 时间:2024/05/18 12:37

射线的意义:射线从原始的“触摸”碰撞检测到物体,开始转向“视野”碰撞,以此检测到某个物体,在这个视野(射线)范围内的物体,我都可以拿到他的碰撞器Collider,以此拿到“看到”的物体;拿到物体碰撞器用结构 RaycastHit 类型的变量存储。这个信息可包含Transform组件,以此可以获得碰撞到的物体的所有属性组件。

RaycastHit 光线投射碰撞

Struct

Structure used to get information back from a raycast.

用来获取从raycast函数中得到的信息反馈的结构。


1.如何创建射线

Ray ray=new Ray(new vector3(0,0,0),new vector3(0,0,0));参数为射线方向,射线发射点

 2.投射法线

void Update()
    {
        if (Input.GetMouseButtonDown(0))//点击鼠标左键
        {
            Ray rays = Camera.main.ScreenPointToRay(Input.mousePosition);//创建一条射线,参数是摄像机即将发射到的坐标点
            RaycastHit info;//声明光线投射碰撞,用来获取从raycast函数中得到的信息反馈的结构。
            if (Physics.Raycast(rays, out info))//返回值是bool,射线是否碰到某个碰撞器,并返回输出所碰到的碰撞器信息
            {

                if (info.collider.gameObject.tag == "T")
            {
                Destroy(C);
                C =Instantiate(GameObject.FindWithTag("B"), info.point, Quaternion.identity)as GameObject;//克隆B物体,在鼠标点击的位置
              
            }
                Debug.Log("碰撞点"+info.point);//在世界空间中,射线碰到碰撞器的碰撞点。
                Debug.Log("法线"+info.normal);//射线所碰到的表面的法线。 
                Debug.Log(info.distance); //从光线的原点到碰撞点的距离。 
            }
        }
    }

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电信sim卡未激活怎么办 小米5c老是黑屏怎么办 小米4x黑屏了怎么办 金立s10经常卡屏怎么办 x9来电屏幕不亮怎么办 小米手机拔号黑屏怎么办 小米手机进水黑屏了怎么办 小米6手机黑屏打不开怎么办 小米手机王者荣耀黑屏怎么办 小米5c手机黑屏怎么办 小米2s开机闪退怎么办 小米手机打不开机怎么办 苹果手机打电话闪退怎么办 红米手机通话时黑屏怎么办 小米手机通话时是黑屏怎么办? 华为手机通话时出现黑屏怎么办 微信屏幕变黑了怎么办 乐视手机打不开机怎么办 金立手机屏幕不亮怎么办 笔记本开不了机怎么办屏幕黑屏 红米4刷机失败怎么办 红米手机开不了机怎么办 红米not开不了机怎么办 红米2开不起机怎么办 小米手机免提声音小怎么办 红米手机1s黑屏怎么办 红米2完全黑屏怎么办 红米note3接电话黑屏怎么办 红米note3死机黑屏怎么办 红米note2开机之后黑屏怎么办 红米手机白屏怎么办 红米4黑屏打不开怎么办 oppo手机拨打电话时黑屏怎么办 华为手机拨打电话时黑屏怎么办 小米6x拨电话黑屏怎么办 魅族手机打电话黑屏怎么办 三星手机拨打电话时黑屏怎么办 华为畅享5打电话黑屏怎么办 小米note通话声音小怎么办 金立m5黑屏开不了机怎么办 金立手机光感器坏了怎么办