小弟自己记录学习
一:射线的使用
1:普通射线
只检测射线检测的第一个物体
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit2 = new RaycastHit();
if (Physics.Raycast(ray, out hit2))
{
//hit2输出射线检测物体的相关信息
}
射线检测的所有物体(可穿透)
* 最后一个参数代表检测的层数,1<<9表示只检测第九层
* 1 << 10 打开第10的层。
* ~(1 << 10) 打开除了第10之外的层。
* ~(1 << 0) 打开所有的层。
* (1 << 10) | (1 << 8) 打开第10和第8的层
RaycastHit[] hitArr =Physics.RaycastAll(ray, Mathf.Infinity, 1 << 9);
if (hitArr.Length > 0)
{
//for循环检查数组里的每个射线检测物体的信息
}
2:形状的射线检测
Collider[] ColliderArr = Physics.OverlapSphere(transform.position, 3, 1 << 9);
if (hitArr.Length > 0)
{
//for循环检查数组里的每个射线检测物体的信息
}
二:射线的检查
画出形状射线:
void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawSphere(transform.position, 3);
//或者Gizmos.DrawWireSphere(transform.position, 3);
}
总结
愿你为自己的梦加油!
涤净~苍~生~~直至~~山~明水秀~~~
情深~意~重~~丝丝~不~能露~~~
金戈~铁~马旧~~~烈酒~喝~不够~~~
梦~里~见你~~在~桥头~~~
深情~不死~终有~重逢~时候~~~
湮灭~千年~不曾~放开~手~~
再看~你~眼眸~~~光彩~依旧~~
续~写~那~万~世千秋~~~