本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan Unity编程标准导引-3.4 Unity中的对象池 本节通过一个简单的射击子弹的示例来介绍Transform的用法.子弹射击本身很容易制作,只要制作一个子弹Prefab,再做一个发生器,使用发生器按频率产生子弹,即克隆子弹Prefab,然后为每个子弹写上运动逻辑就可以了.这本该是很简单的事情.不过问题来了,发射出去后的子弹如何处理?直接Destroy吗?这太浪费了,要知道Unity的Mon…
本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan 3.1组件 Component 组件是Unity中最核心的一个概念,它是一切编程的基础.没有组件,也就没有了Unity编程. 打开一个新Unity工程,我们在Project面板中右键可以直接创建出一个C#脚本. 脚本的内容如下: using UnityEngine; using System.Collections; public class NewBehaviourScript : Mono…
1.2.官方资源介绍 Unity官方提供了丰富的学习和参考资源,有以下类别: Unity手册以及API文档 Unity的官方教程 AssetStore 1.2.1 Unity手册以及API文档 前述文章中介绍过,安装Unity时,提供了可选安装包,只要安装即可获得此文档.本地文档可以在Unity安装目录找到,在线文档可以通过网址:https://docs.unity3d.com/Manual/index.html 来查阅. 一般学习的过程是,查看某个模块,通过手册详细了解此模块的细节,然后切换到…
Unity中的基本概念 本文我们介绍Unity中的基本概念,包括:场景.游戏对象.组件.预制件.资源等. 2.1.界面概览 打开Unity之后,我们大概可以看到以上画面,以上画面中即显示了我们最常用到的面板,下面介绍它们的用途.如果有些面板你没有找到,可以通过菜单Window->[面板名称]来打开,面板名称如下列英文介绍. 注意:我会在英文面板名称的下方,给出中文的翻译,不过我们在后续的章节中,尽可能还是沿用英文称呼,这样比较准确. ① Game 游戏面板 Game面板是一个画面显示区,这里显示…
2.2Unity中的基本概念 上述介绍提到了几个概念:游戏对象.场景.资源.相机,这个小节我们来深入了解,同时进行一些实践性操作.不过首先,我们需要大概了解一下Unity的工程文件夹. 2.2.1工程文件夹 在Unity工程目录下的文件夹,大致整理如下: 文件夹名称 介绍 Assets Assets文件夹是Unity中的工程资源文件夹,Unity编辑器寻找工程路径时的搜索目标.我们所有的资源都存在这个文件夹中,后续介绍的几个文件夹都由系统自动产生. Library Library文件夹是Unit…
本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan 1.1.下载和安装Unity 1.1.1 选取版本 首先找到Unity官方网站https://store.unity.com/cn,如果要下载最新版本,可以选择“立即下载”.不过我建议你最好下载一个稳定版本,Unity更迭版本比较快,一般当出现5.5的时候,你用5.4.x,x取最大的一个版本号,这个版本相对比较稳定. 以此类推,我写文章时的版本已经出到5.5.1,这时最好使用5.4.4. 下载…
本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan 每个游戏对象(GameObject),其存在于游戏世界,都有一个位置.朝向.大小等基本定位信息:其存于Hierarchy面板,也存在与其他GameObject的相对关系,如父子关系.兄弟关系.Unity中使用Transform来描述和操作这些属性. Transform的字面理解就是"变换"的意思,所有的GameObject,当其被创建完成之后,均自动创建了这样一个变换组件,你不需要…
本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.csdn.net/andrewfan 3.2MonoBehavior 组件父类重构 为了让我们的组件类用起来更方便,我们将上一节的代码进行重构.改写成如下: using UnityEngine; using System.Collections; namespace Assets.AndrewBox.Comp { /// <summary> /// 初始化状态 /// </summary> public enum…
java中的对象池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复重复创建相等变量时节省了很多时间.对象池其实也就是一个内存空间,不同于使用new关键字创建的对象所在的堆空间.本文只从java使用者的角度来探讨java对象池技术,并不涉及对象池的原理及实现方法.个人认为,如果是真的专注java,就必须对这些细节方面有一定的了解.但知道它的原理和具体的实现方法则不是必须的.   1,对象池中对象和堆中的对象 public…
点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 最近在分析一个应用中的某个接口的耗时情况时,发现一个看起来极其普通的对象创建操作,竟然每次需要消耗 8ms 左右时间,分析后发现这个对象可以通过对象池模式进行优化,优化后此步耗时仅有 0.01ms,这篇文章介绍对象池相关知识. 1. 什么是对象池 池化并不是什么新鲜的技术,它更像一种软件设计模式,主要功能…