您好,我尝试从 gameObject
旁边投出一条线到 gameObject
:
bool Valid(Vector3 direction)
{
Vector3 position = transform.position;
RaycastHit hit = Physics.Linecast (position + direction, direction);
return (hit.collider == GetComponent<Collider>());
}
错误:
Cannot implicitly convert type
bool' to
UnityEngine.RaycastHit'
最佳答案
Physics.Linecast
如果有任何碰撞器与 start
和 end
之间的线相交,则返回 true,它不返回 RaycastHit
。
您必须添加 hit
变量作为第三个参数:
RaycastHit hit;
Physics.Linecast(position + direction, direction, out hit);
参见 API了解更多信息。
关于c# - 无法将类型 `bool' 隐式转换为 `UnityEngine.RaycastHit',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29323335/