【问题标题】:Unity Raycast doesn't hit flat terrainUnity Raycast 不会击中平坦的地形
【发布时间】:2020-07-04 10:29:27
【问题描述】:

我开始学习 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);
    }
   }

它适用于物体和其他任何东西,除了地形。如果地形是平坦的,则光线投射不会检测到它,但如果我制作一些山脉,它就可以正常工作。 Flat terrain, zero log/Tiny hill, it detects我尝试改变距离,但没有成功。

【问题讨论】:

  • 你确定你是在 100 个单位内击中地形吗?如果您将相机向下旋转更多并靠近地形会发生什么?
  • 我还会对图层进行三次检查。在项目之间移动场景可能会弄乱图层引用

标签: unity3d unity3d-terrain


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    相关资源
    最近更新 更多