unity发射斜射线_Unity发射射线
void Update () {
ShootRayA();
ShootRayB();
}
private void ShootRayA()
{
//實例化射線,參數1 開始位置, 參數2 結束位置
Ray ray = new Ray(Vector3.zero, transform.position);
RaycastHit hit;
//發(fā)射一個長度為10的射線,如果沒有碰撞到物體,則射線不顯示,碰撞到目標則顯示出一條直線
if (Physics.Raycast(ray, out hit, 10))
{
print("擊中目標");
//射線的起點和終點
Debug.DrawLine(ray.origin, hit.point);
//print("起點 ? " + ray.origin + " ? ? ?終點 ? " + ray.GetPoint(10));
}
}
private void ShootRayB()
{
//實例射線,?Input.mousePosition為屏幕坐標
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit222;
if (Physics.Raycast(ray222, out hit))
{
print("擊中目標");
}
}
//向射線方向發(fā)射一條長為10的射線,該方法返回true說明射線射到某物體,返回false說明射線沒有射到任何物體
//Physics.Raycast(ray, out hit, 10)
//向射線方向發(fā)射一條射線,無限長
//Physics.Raycast(ray, out hit)
//該方法來創(chuàng)建一條由攝像機向鼠標當前位置發(fā)射的射線,然后使用Physics.Raycast()判斷這條射線是否與某游戲對象相交,如果該方法返回true則表示相交,返回false則表示未相交
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
總結
以上是生活随笔為你收集整理的unity发射斜射线_Unity发射射线的全部內容,希望文章能夠幫你解決所遇到的問題。