You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WASD控制角色移动触发NullReferenceException错误原因排查

NullReferenceException 在ThirdPersonController.Move()中的成因

核心原因

报错指向ThirdPersonController.cs第258行,对应代码里的_mainCamera.transform.eulerAngles.y语句——_mainCamera变量未被初始化,处于null状态,直接访问它的transform属性触发了空引用异常。

具体诱因

  • 未在Inspector中赋值:StarterAssets的第三人称控制器需要指定主相机作为参考,如果你没有在Unity编辑器中给ThirdPersonController组件的MainCamera(或对应私有变量_mainCamera,若通过[SerializeField]暴露)拖入场景中的主相机对象,变量会保持null。
  • 代码缺少相机初始化逻辑:脚本的Awake()或Start()方法中没有添加自动获取主相机的代码,比如_mainCamera = Camera.main;,导致运行时_mainCamera从未被赋值。

辅助验证

从你提供的Update方法代码来看,仅处理了Animator组件的获取,完全没有涉及相机变量的初始化逻辑,这进一步坐实了_mainCamera为空的问题。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 16:45:33