unity3d - 尝试在 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);
}
}
}
}
请帮忙?
解决方案
推荐阅读
- arrays - 在for循环的每次迭代中动态分配内存以制作动态数组
- javascript - 如何用 Jest 模拟子函数
- api - Paypal API 订阅 curl 沙箱目录产品 权限不足授权失败
- html - 输入文件未在 Android 11 的 FB 应用内浏览器中选择
- c - 端口 setrlimit RLIMIT_CPU 到 windows
- websocket - 我可以在 websphere 应用程序服务器中运行 wicket websocket 吗?
- xml - 尝试检查并替换我的 AIR 应用程序中使用的 xml 文件
- android - ConstraintLayout 中居中对齐的边距行为
- mediaelement.js - 安装 mediaelement.js - 怎么办?
- python - 无法弄清楚如何正确应用线程来阻止 tkinter 冻结