unity特殊形状的射线

小弟自己记录学习

一:射线的使用

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);
}

总结

愿你为自己的梦加油!

涤净~苍~生~~直至~~山~明水秀~~~
情深~意~重~~丝丝~不~能露~~~
金戈~铁~马旧~~~烈酒~喝~不够~~~
梦~里~见你~~在~桥头~~~
深情~不死~终有~重逢~时候~~~
湮灭~千年~不曾~放开~手~~
再看~你~眼眸~~~光彩~依旧~~
续~写~那~万~世千秋~~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值