Unity Pitfall 汇总

1、 当脚本被绑定到一个对象时,一个类对象即会被创建,此意味着此类构造函数会被调用。所以在构造函数中不要调用任何运行时才创建的类。相应的初始化方代码应该移至Start方法中。

2、需使用UNITY_EDITOR宏来避免在编辑器中调用构造函数。

  

3、Start()的调用顺序不确定,以下代码,并不能保证EventCenterService.Start方法在DataCenterService.Start前被调用。

  

4、GetComponentInChildren。

  Returns the component of Type type in the GameObject or any of its children using depth first search.

  Only active components are returned.

  会找当前GO,如果当前GO找不到,则DFS查找子结点,只有activeInHierarchy的对象的component才会返回,这点要特别当心。

5、在Prefab中设置的public字段,无法在构造函数中引用。通过prefab设置的public字段,只能在start方法开始后引用,否则取不到prefab中的值。

6、FastBloom 组件在 Adreno320下会引起 Crash。

7、error x5204。此为Shader错误,若有if语句,可尝试加上/删除else,看看是否能解决此错误。

8、如果prefab有enum的公开属性,则enum只能在末尾添加新数值,而不能在中间插入,因为Unity的prefab保存的是int,而不是真的enum值。在中间插入的话,会导致所有的enum值错乱。

9、prefab中若引用代码,则该代码文件的meta文件必须一起提交,否则会出现丢失脚本的问题。

10、若只想修改子结点相对于父结点的position、rotation,请用localPosition、localRotation来修改。

11、当协程遇上继承。在override方法中调用base的方法时,如果本身是个协程,则必须调用MoveNext方法。

12、GameComponent方法非常耗时,下图中,4次调用花费了9.28ms,MBP上环境下的数据。

  

13、将一对象A设置为DontDestroyOnLoad,若其父对象B没有此设置,则A一样会在切Scene时被移除,因为A的父对象B会被移除。

14、NGUI中ttf字体必须使用keep crisp选项才能强制不自动换行。

15、ios/mac下,图片如何会糊,就必须使用ARGB32,即不压缩图片的处理方法。

16、Application.LoadLevel。

  若连调三次 Application.LoadLevel,则UnityEngine会在后序,每帧依次执行一次清空+OnApplicationLevelLoaded.

Unity Pitfall 汇总的更多相关文章

  1. 2019年Unity学习资源指南[精心整理]

    前言 进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1.主流的学习社区与网站. 2.该领域的知名大牛与热心分享的从业者. 3.如何有效的 ...

  2. unity学习网站汇总

    由于最近要学习unity3d 开发,把自己找来的资料汇总下 unity3D官方学习资源:https://www.assetstore.unity3d.com/ unity3D API查询网站:http ...

  3. [官方教程] Unity 5 BLACKSMITH深度分享 - 汇总帖

    BLACKSMITH深度分享系列 相信此大片在Unite上的惊艳亮相,让许多人至今无法忘却它所带来的震撼,Unity的大师们为了让更多Unity开发者了解此大片是如何用Unity5诞生的,深度分享了多 ...

  4. Unity视频播放的各种实现方式汇总

    http://www.taidous.com/bbs/article-860-1.html  Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTextu ...

  5. Unity热更方案汇总

    http://www.manew.com/thread-114496-1-1.html   谈到目前的代码热更方案:没什么特别的要求   <ignore_js_op>    toLua(效 ...

  6. 汇总:unity中弹道计算和击中移动目标计算方法

    http://download.jikexueyuan.com/detail/id/432.html 弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其实还是挺复杂的 ...

  7. unity一些操作汇总

    设置父物体高度自适应子物体:父物体添加ContentSizeFitter,设置Horizeontal Fit和Vertical Fit为Preferred Size. ScrollView设置Cone ...

  8. Unity打包安卓项目问题汇总(持续更新)

    1.V1,v2签名问题 安卓11以上--v1签名无法使用: 安卓7以下--v2无法使用: 应用宝不支持没有v1签名的包: AndroidStudio版本2020打签名包时无法勾选v1,v2选项,4.2 ...

  9. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

随机推荐

  1. SQL Server 2008 R2占用内存越来越大解决方法

    最近开发sql server数据库项目的过程中发现了这么一个问题,后台网站内存占用95%,通过任务管理器查看占内存的进程sqlserver.exe,是因为SQL Server 2008 R2运行越久, ...

  2. Emgucv3.0的安装与配置

    环境:vs2015+Emgucv3.0 Emgu Cv简介: Emgu CV 是.NET平台下对OpenCV图像处理库的封装.也就是OpenCV的.NET版.它运行在.NET兼容的编程语言下调用Ope ...

  3. c++ hook 钩子的使用介绍

    转自:http://www.cnblogs.com/lidabo/archive/2012/11/29/2795269.html 例子:http://www.codeproject.com/Artic ...

  4. http状态码status

    status——http状态码 1xx 消息 2xx 成功 3xx 重定向 ▪ 301 Moved Permanently 永久重定向——下回不会再找他了 ▪ 302 Move temporarily ...

  5. Thumbnailator 图像处理

    Create a thumbnail from an image file Thumbnails.of(new File("original.jpg")) .size(160, 1 ...

  6. 异常处理--Exception(一)

    很诱人的标题,今天不是给大家介绍,而是跟大家讨论些问题. 在做开发的这几年中,大大小小的项目也经历了很多,但无论那个项目中,都没有真正的对Exception进行完整的处理.虽然我们在学C#的时候,经常 ...

  7. CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf

    先试试yum install gcc  , 1,下载最新的yum-3.2.28.tar.gz并解压 #wget http://yum.baseurl.org/download/3.2/yum-3.2. ...

  8. Java文件的写入

    写文件与读文件类似,可以是以字节为单位写入,可以是以字符为单位写入. 对应读操作FileOutputStream是以字节为单位进行写入的: FileOutputStream fileOutputStr ...

  9. python 面向对象(三大特性)

    python 面向对象(初级) (思维导图 ↑↑↑↑↑) 概述: 面向过程:根据业务逻辑从上到下垒代码. 函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...

  10. 如何使用 J2EE 连接器架构实现企业应用

    JCA (J2EE 连接器架构,javaConnector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基于 ...