Physics.Raycast参数说明
生活随笔
收集整理的這篇文章主要介紹了
Physics.Raycast参数说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);
參數1:Ray,射線的起點坐標和方向向量
Vector3 RayDir = m_OwnerPlayer.transform.forward;
Rayray = new Ray(m_OwnerPlayer.transform.localPosition, RayDir);
主要說說Ray構造函數的參數2,是單位向量,切記,單位向量。可以用transform.forward,也可以用 (m_OwnerPlayer.transform.localPosition - LastPosition).normalized 。
參數2:碰撞物體的返回信息
參數3:射線的距離
參數4:過濾層,如果層是Default,那么寫法是 1<<0
當懷疑函數有問題時,請打印自己的射線,用函數 Debug.DrawRay,參數與 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博客
總結
以上是生活随笔為你收集整理的Physics.Raycast参数说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡还款了怎么还显示未还款?两个原因了
- 下一篇: unity3d-射线(Ray)