总结Unity初学者容易犯的编译与运行时错误-创新互联

 最近在教授Unity 初级课程的时候,经常被学生问及一些非常简单的Unity 出错信息如何解决的问题。我就想这些问题是否可以总结一下,给大家一张易错清单我的工作量是否可以大量减轻呢? 对! 说做就做,以下是我总结的部分内容。

公司主营业务:成都网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出太平免费做网站回馈大家。

问题1:

      当脚本添加游戏对象过程中,弹出的出错窗口: “Can't add script....." ?
解答:
      原因是Unity 规定脚本的文件名称必须与类名相同,否则报错。请更改Unity脚本的名称或者类的名称。

问题2:
      在学生学习导航寻路过程中,在运行过程中遇到的运行时错误信息:  "SetDestination" can only be called on an active agent that has been placed on a NavMesh"?

解答:
       典型导航寻路错误,主要原因是你需要导航的游戏对象,放置的位置不对,要么y轴远离了“地面”(NavMesh),要么离开了烘培的"地面"。请检查与更改相关寻路主角的Y轴位置。

问题3:
      用户拿到的工程文件,发生打不开的错误(不报错)。 也就是Unity 无论怎样都打不开指定的Unity 项目?

解答:
      一般是因为Unity 对中文支持的不好,所以工程所在路径不能有中文。 请把你的工程文件的所在路径进行检查,把相关中文路径去除即可。

问题4:

      当用户导入*.unitypackage 文件的过程中显示错误信息:  "Error While importing package: Couldn't decompress package.Failed importing package ....."?。

解答:
      这个问题一般也是因为Unity 对中文支持的不好,所以需要导入的*.unitypackage 文件所在路径不能有中文。 请把你的“包”(或者一些*.unitypackage 插件)文件的所在路径进行检查,把相关中文路径去除即可。

问题5:

     用户在运行游戏工程过程中,发现没有声音? 且计算机硬件没有问题? 在Unity 的Console 窗口中有如下信息大量显示: “ There are 2 audio listeners in the scene” ?

解答:

      原因是你当前场景中存在2个以上的“Audio listeners”, 请只保留一个即可,多余的删除。 一般也都发生在学员引入Unity 自带的“第一人称/第三人称”角色的时候发生的现象。 你可以把主摄像机的Audio Listener 组件暂时禁用或者删除掉即可。

问题6:

      程序运行过程中最容易出现的一个运行时错误信息: “NullReferenceException: Object reference not set to an instance of an object” ?

解答:
      这是典型的“空引用错误”, 本质是原本需要实例化的游戏对象没有成功的加载,程序后面的指令已经在用上面没有实例化的对象所造成的! 。 具体问题还需要具体分析,看是否什么组件没有加载,或者一些 GetCompont() 与 Resource.Load() 等方法的路径名称是否正确等。

问题7:
      程序运行过程中出现的一个运行时错误信息:  “MissingReferenceException: The object of type 'GameObject' has been destroyed”
解答:
      缺少引用异常!通常原因是由于指定的游戏对象已经销毁了,而其他代码还要访问(调用),造成的错误!。

问题8:
      程序运行过程中出现的一个运行时错误信息:“InvalidCastException: Cannot cast from source type to destination type”?
解答:
       无效的转换异常: 不能从源类型转换到目标类型。 需要学员仔细检查程序中强制转换是否合理? C# 的“装箱拆箱”是否正确等。

问题9:
       “UnassignedReferenceException: The variable goLineRedDiamend_Prefab of 'ScenceManager' has not been assigned”?
解答:
       未分配引用异常。 通常是脚本中的public 类型字段,在游戏运行过程中,没有给予附加相对应的“预设”或者游戏对象所造成的。 即: 没有给脚本的公共字段添加参数造成的。

问题10:
       学员在做关于Animation 帧动画时出现的错误:“AnimationEvent has no function name specified"?

解答:
       在Animation 中你定义了一个事件,而没有给事件添加对应的“事件方法”,导致出错!

       以上是我总结出的目前十个常见编译期与运行期错误,请大家多提宝贵意见,不断丰富这个文档使得初学者少走 弯路", 谢谢!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:总结Unity初学者容易犯的编译与运行时错误-创新互联
路径分享:http://myzitong.com/article/digihj.html