学习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); //从光线的原点到碰撞点的距离。
}
}
}
- 学习Unity射线的创建使用
- unity射线碰撞检测+LayerMask的使用
- Unity射线检测使用
- 在Unity中使用射线
- 【Unity】射线中LayerMask参数的使用方式
- Unity基础的射线使用和坐标转换
- [Unity]Ray射线物理检测碰撞和LayerMask的使用
- 在unity中有关VRTK的射线使用
- unity 射线的基础使用方法
- Unity射线
- Unity 射线
- 【Unity 3D】学习笔记四十:射线
- unity学习之射线、角色控制器
- 球形射线的使用
- unity3D 射线的使用
- Unity 射线 (之鼠标点击的坐标)
- unity射线的启发妙香
- unity射线穿透UI的问题解决方案
- 在二维数组中查找一个数
- Leetcode 147. Insertion Sort List
- 242. Valid Anagram
- More Effective C++----(6)自增、自减操作符前缀形式和后缀形式的区别
- 1年日记(5月篇)
- 学习Unity射线的创建使用
- 样式和主题
- java并发编程(14)--java的守护线程与非守护线程
- HDU 1544Palindromes(求回文字符串)
- Partition List
- RS WLAN产品测试全面解决方案
- 自由落体
- vtk实战(五十)—计算线段与多边形的交点
- UVA 11636 Hello World!