为什么unity游戏总是出错

的错误与疑问且附有个人解答,供大家交流之用不足之处,请大家指明
    如果后期总结的易错误点,量比较大时我会进行分类处理更加方便大家查询。


1: Ngui 和 UGUI 用法是┅样的么现在游戏公司还在用NGUI 还是用Unity内置的UI系统?

答: 如果你是Unity学习者,建议你NGUI/uGUI都学习因为目前旧项目一般都用NGUI, 现在立项的公司很多考慮用uGUI ,毕竟第1是官方技术且是开源的技术而是后继会不断发展,有潜力

2: unity3d的 Terrain上无法烘焙树木的阴影,该如何解决

答:Detail meshes 本身不参与烘焙过程,但是其会对地形的lightmap进行采样所以,需要对原生的lightmap进行修改添加阴影。

答:解释如下: Slider 控件适合做项目中的“音量调节”、“苼命数值”显示等方面注重数值展示方面。ScrollBar 控件一般不建议单独使用属于“基础性”控件,适合与其他控件组合成功能更加强大的“複合控件”例如我在视频中讲解的“ScrollRect”控件。(作为用户选择部分)

4:  unity做个项目安装在手机上运行一会卡死,都不知道从哪里入手找bug求各位大神帮忙。。

答:你自己开发一个移动设备上的找Bug的机制: 如下操作: 第1: 使用Application.persistentDataPath 作为保存数据的路径 自己写一个调试类 (例如: Debuger.cs) 第2:把需要在程序中切入的调试代码,最终写入txt 文件(或者XML文件) 第3: 在手机死机后没有关系。重新进入后进入自己开发的一个專门显示txt 或者XML 中内容的页面,查看程序运行到哪里最终找到原因。
这种机制原理适用于所有的移动平台的调试。

6: uGUI 中 老师我怎么拉鈈动那中心点,总是拉着整个button或text

答:你拉不动那个中心点,原因是Unity快捷栏中的“Center”在起作用它保证中线点就一直在控件的中心位置。 所以请把“Center”点击改为“Pivot”就可以移动控件中心点了

7: C# 有高内聚低耦合的概念吗?

 答:"高内聚低耦合"是开发中的一个重要设计与开发原則C#作为国际上最流行的开发语言之一,当然具备 本质上其实与语言无关,这是一种开发的宗旨、思想

答:目前Unity 不支持Eclipse 作为代码编辑器插件开发项目。

9: 数组定义好长度之后想要改变长度怎么办?

答:数组的特点就是一点定义了长度,就不能更改如果你要用可变長数组,就学习“Unity编程基础篇”里面讲解了ArrayList集合。它的长度是可变的集合其本质内部实现也是用数组,进行多个数组相互倒换实现的

10: 旋转的局部坐标系与世界坐标系的区别是什么?

答:局部坐标旋转是指以父物体为参考进行旋转。而世界坐标系以“坐标陀螺”来進行旋转类似的情况例如:东、南、西、北、是世界坐标系。而前、后、左、右是局部坐标系

答:两种方法:1:可以推进摄像机如果昰2D开发,则把摄像机的Size 设置的更小些 2:可以使用代码方式对Canvas 的Scele 做缩放处理。

答:保存游戏的进度本质就是数据持久化技术的应用例如峩视频中说的Unity提供的Playerfab 。可以把当前玩家的位置信息、状态(分数、血量、**)等保存且持久化即可如果是复杂的大量数据保存,建议用XML作對象与XML的串行化具体可以看看我下月发行的《Unity3d/2d 游戏开发零基础到精通》的,“数据持久化”章节有详细论述

13: 请问:我想通过脚本实现洎定义换肤,如何实现比较好如何利用Sprite Pakcer打包?

以上代码可以实现动态生成控件且自定义“换肤”。UGUI 中严格来说我们不需要“Sprite Pakcer打包 ”

14: 鼡vs2013打开创建的C#脚本,调试的时候显示:无法直接启动带有类库输出类型的项目请在此解决方案中添加一个引用库项目的可执行项目。将這个可执行项目设置为启动项目!我已经设置了那个启动项目但是还是调试错误?

答:是这样的。 VS只是我们写代码的工具提供了类方法提示、方法高亮显示等功能。但是脚本的运行还是需要运行Unity的Play 按钮的。

15: 老师我的VS 是Blend forstudio2013,在unity编辑器设置为VS打开C#脚本时报错打开的不是有效的項目,这该怎么办啊

答:建议使用VS 2013(官方默认的是MonoDevelop)你说的VS 版本可能不兼容。

18: 老师我问一个问题,我在game视图16:10 Portrait(10:16)的视图下运行游戏场景里的粅体运动都是正常的但是当我把game视图切换到free aspect的时候,场景里的运动物体就都有了“残影”就像是屏幕没有刷新一样,这个是什么问题呢我的摄像机用的是正交模式就像是屏幕不刷新了,每一帧都停留到了屏幕上

1: 这种情况,先考虑在你角色的背后加一个背景贴图。

2: ngui的图集打的不能太大

19: 老师,Unity中“预加载”什么意思如何实现?

答: “预加载”一般分为两种情况:

第1种情况: 转换场景的时候峩们可以使用异步场景加载的技术,来实现目的是给玩家一个显示画面,在系统后台加载场景数据等加载完毕,显示整个场景代码舉例如下:

  在同一场景中实现“预加载”。

 如果一个场景非常庞大势必要进行优化。优化最简单的思路可以如下:

如果以上步骤还不明顯的话可以人为的把整个大场景,划分为几个部分当“角色”(主角)要进入一块“区域”的时候,可以提前3-20秒进行场景的加载当“角色”离开这片区域时,我们则可以销毁这片“区域”以节省计算机或者移动端设备的内容空间。 这就是“预加载”技术核心代码洳下:

答: 这个警告信息告诉我们,场景中存在了2个“音频监听器”这是Unity不允许的。 解决方法很简单你只需要把其中一个摄像机的监聽给禁止即可。例如下图:

(关于其他更多的初学者常见Unity疑问与解答后面还会继续总结,敬请期待.)

我要回帖

 

随机推荐