首页 > 解决方案 > 尝试在 Unity3D 中创建 RayCast 时出现异常

问题描述

我有线

Ray ray =
Camera.main.ScreenPointToRay(Input.mousePosition);

从 Unity 文档中逐字记录https://docs.unity3d.com/ScriptReference/Input-mousePosition.html

但我一直收到一个错误说

NullReferenceException: Object reference not set to an instance of an object

这里也是完整的方法

void Update()
    {
      Movement();
      GetInput();

    if(Input.GetMouseButtonDown(1))
    {
    RemoveFocus();
}
if(Input.GetMouseButtonDown(1))
{
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hit;

    if(Physics.Raycast(ray,out hit,100))
    {

        //check if we hit our interactable object
        Interactable interactable= hit.collider.GetComponent<Interactable>();
        //if we did set it as out focus
        if(interactable!=null)
        {
            SetFocus(interactable);

        }
    }

}

}

请帮忙?

标签: unity3d

解决方案


推荐阅读