2015-09-26 65 views
0
foreach (Transform transf in spawnPoint) { 
     if (Physics.Raycast (transf.position, player.position, out test, 1000)) 
      Debug.DrawLine (transf.position, test.point, Color.yellow); 
    } 

這是我的代碼。這就是我得到的: enter image description hereUnity3D光線投射錯誤方向c#

玩家是一個帶相機的遊戲物體,轉換在這裏不可見,但它們在每一條黃線的左邊。爲什麼它不指向玩家?你要做什麼光線指向球員? Greenline的工作原理與黃色相似,但無緣無故是點畫布。

回答

2

Physycs.Raycast第二個參數是方向,所以你應該變換計算方向球員:

foreach (Transform transf in spawnPoint) { 
    if (Physics.Raycast (transf.position, player.position - transf.position, out test, 1000)) 
     Debug.DrawLine (transf.position, test.point, Color.yellow); 
}