2015-09-26 68 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); 
}