1

我开始学习 Unity,但我遇到了 Raycasting 的问题。所以我有这个代码

   if(Physics.Raycast(cam.position,cam.forward,out hit,100f,layer)){
    Debug.Log(hit.point);
    if(hit.transform!=this.transform){
     showPreview(hit);   
     print(hit.transform.name);
    }
   }

它适用于物体和其他任何东西,除了地形。如果地形是平坦的,则光线投射不会检测到它,但如果我制作一些山脉,它就可以正常工作。平坦的地形,零日志/小山丘,它检测到我试图改变距离,但没有奏效。

4

1 回答 1

0

我发现了问题。在脚本中,我使用 fps 字符作为相机,但它没有检测到垂直旋转:D 感谢您的帮助!

于 2020-07-05T15:07:41.993 回答