【问题标题】:Cannot implicitly convert type `bool' to `UnityEngine.RaycastHit'无法将类型“bool”隐式转换为“UnityEngine.RaycastHit”
【发布时间】:2015-03-28 22:26:59
【问题描述】:

您好,我尝试将一条线从gameObject 旁边投射到gameObject

bool Valid(Vector3 direction)
{
    Vector3 position = transform.position;
    RaycastHit hit = Physics.Linecast (position + direction, direction);
    return (hit.collider == GetComponent<Collider>());
}

错误:

无法隐式转换类型bool' toUnityEngine.RaycastHit'

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    Physics.Linecast 如果有任何碰撞器与startend 之间的线相交,则返回true,它不会返回RaycastHit

    您必须添加hit 变量作为第三个参数:

    RaycastHit hit;
    Physics.Linecast(position + direction, direction, out hit);
    

    请参阅API 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多