Physics.Raycast参数说明
Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);
參數(shù)1:Ray,射線的起點(diǎn)坐標(biāo)和方向向量
Vector3 RayDir = m_OwnerPlayer.transform.forward;
Rayray = new Ray(m_OwnerPlayer.transform.localPosition, RayDir);
主要說(shuō)說(shuō)Ray構(gòu)造函數(shù)的參數(shù)2,是單位向量,切記,單位向量。可以用transform.forward,也可以用 (m_OwnerPlayer.transform.localPosition - LastPosition).normalized 。
參數(shù)2:碰撞物體的返回信息
參數(shù)3:射線的距離
參數(shù)4:過(guò)濾層,如果層是Default,那么寫法是 1<<0
當(dāng)懷疑函數(shù)有問(wèn)題時(shí),請(qǐng)打印自己的射線,用函數(shù) Debug.DrawRay,參數(shù)與 RayCast類似
下面是例子:
Vector3 RayDir = m_OwnerPlayer.transform.forward;
//打印射線
Debug.DrawRay(m_OwnerPlayer.transform.localPosition, RayDir, Color.red);
Ray SceneRay = new Ray(m_OwnerPlayer.transform.localPosition, RayDir);
//加射線
RaycastHit SceneHit;
if (Physics.Raycast(SceneRay, out SceneHit, 5000, 1))
{
if (null == SceneHit.collider ||
null == SceneHit.collider.gameObject)
{
return;
}
if (SceneHit.collider.gameObject.name == "wushi_3_SnakeBody")
{
}
}
參考帖子:
Transform.Forward和Vector3.Forward的正確使用方法_linuxheik的專欄-CSDN博客_transform.forward
Unity Physics.Raycast 深入理解_pdw_jsp的專欄-CSDN博客
總結(jié)
以上是生活随笔為你收集整理的Physics.Raycast参数说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信用卡还款了怎么还显示未还款?两个原因了
- 下一篇: unity3d-射线(Ray)