统一的RayCastHit忽略对象并转到零点

时间:2018-01-11 12:04:17

标签: c# unity3d

我正在为坦克游戏制作机器人,现在我正试图让他逃避障碍。为此,我使用RayCastHit,问题是我的RayCastHit接缝忽略了障碍。到目前为止我已经

public float sensor_length = 10f; 

显示允许传感器的持续时间

 public float car_length = -5f; 

水箱旋转180度,这导致传感器从前面射出。 我有一个方法:

    RaycastHit hit;
    Vector3 sensorStartpos = transform.position;
    sensorStartpos.z += car_length;
    if(Physics.Raycast(sensorStartpos,transform.forward,out hit,sensor_length))
    { }
    Debug.DrawLine(sensorStartpos, hit.transform.position);

所以我得到了我的对象转换点,然后找到它的前面,它应该触发一个RayCast。问题就出现了,如图所示我没有识别hit因此它的值为null而在if语句中我应该向下一个障碍物发出一个检查,但是它会触发一个点到点(0,0,0)(我猜是因为hit = null 我如何让它碰到障碍物呢? (底部的调试行导致Ray Cast可视化)

0 个答案:

没有答案