为了账号安全,请及时绑定邮箱和手机立即绑定

Unity:应用预制件时为空引用

Unity:应用预制件时为空引用

C#
Smart猫小萌 2021-05-13 14:14:05
我已经使用Unity几年了...而且我从未遇到过这个问题。每当我尝试应用或还原预制件时,都会出现以下错误:NullReferenceException:对象引用未设置为对象的实例UnityEditor.PrefabUtility.RegisterNewObjects(System.Collections.Generic.List 1 newHierarchy, System.Collections.Generic.List1层次结构,System.String actionName)(在C:/ buildslave / unity / build / Editor / Mono / ImportSettings / PrefabUtility.cs:121)(下面的完整堆栈跟踪)知道是什么原因吗?所做的更改似乎确实适用,我在树中四处移动了东西,并修改了值,它们确实适用。但是错误有点令人担忧,我宁愿没有错误。有什么想法/建议吗?编辑:我被要求解释它与标记的重复问题有何不同。这不是简单地问“什么是空引用”。我完全知道一个空引用(正如我所说的,我已经使用Unity多年了)。这个问题与空引用的特定情况有关,在这种情况下,应用Unity预制件会在编辑器中导致空引用,并引用UnityEditor脚本(我没有写过)。
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

我遇到了同样的问题,是的,我就像“我知道什么是NullReferenceException”一样,但是为什么它在这里发生呢?好吧,我可以告诉您原因,但是却不解决,但是我有解决方法。

原因:Unity具有用于预制件的编辑器工具,因此您具有要应用的按钮,它将更新预制件,问题是Unity正在运行的脚本无法找到使预制件进行更新的基础路径,并且是的,我尝试删除并再次创建,我尝试重新打开项目,等等,而Unity仍未找到预制ID。快速观察,我删除了原来的预制件,然后创建了一个新的预制件,删除了游戏中的所有实例,只剩下了一个全新的预制件,当我创建了这个预制件的新实例时……错误仍然存在,我可以不会更新,所以这是Unity内部的事情,我们对此无能为力。

解决方法:好消息是,我们有一个解决方法,将实例从“层次结构”拖动到“项目”,将鼠标悬停在预制件的顶部,直到其周围出现蓝色方块,然后释放对象,并确认要替换您的预制件将被更新。

最后,Unity正在更新预制系统,每个人都在Unity 2018上庆祝,就像我们的团队刚刚赢得了世界杯决赛一样。相信很快这个问题将只是一个玩笑,但愿。


查看完整回答
反对 回复 2021-05-29
  • 2 回答
  • 0 关注
  • 506 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信