最近在刚开始学习Unity 3D,在这里记录一下学习心得和学习笔记,边学边写,可能会比较零散。好了,废话很少说,今天从Unity 3D入门写起,主要简要介绍一下Unity 3D的和一些学习资料。如下若是不做特别说明,均是指Windows平台的Unity 3D,版本是4.5.1f3。框架
Unity 3D是一款游戏开发引擎,目前支持2D和3D游戏的开发,其最大的优点就是跨平台性很是好,能够很容易的将PC端制做的游戏移植到Android、IOS等移动平台,固然也能够建立网页游戏。刚开始进行Unity 3D游戏开发,直接去Unity官网下载安装便可,安装好以后便可开始使用Unity 3D,不须要配置环境和安装其余软件。可是若是想要移植到Android平台,还须要下载Android SDK等工具,移植到其余平台也是相似,还须要下载相应软件,不过配置十分简单,网上也有不少教程,做为入门,能够先不用考虑这些问题,默承认以生成(Build)Win32可执行文件。编辑器
安装好Unity 3D后,开发主要分为两部分,一部分就是在Unity 3D编辑器(就是点击Unity 3D打开的主界面)上进行资源的编辑,另外一部分就是使用脚本对这些资源进行控制,让其执行相应的行为。工具
1. 游戏对象(GameObject)和组件(Component)学习
关于Unity 3D编辑器的介绍,网上有不少资料,这里就不累述了。在此主要说明一下其进行游戏开发的主要框架。字体
Unity 3D将全部游戏中须要的资源当作对象(GameObject),例如游戏中的一个城市场景就是一个对象,在城市场景中包括了路面、路灯、房屋等,这些都是对象,通常是将路面、路灯这些对象做为城市场景的子物体,这样能够保证子物体与父物体在整个游戏场景中相对位置不变,移动父物体,子物体也会跟着移动。动画
在每一个对象中,都包含了各类组件(Component),每一个对象究竟是什么样子(外观)、放置在什么位置、可否发出声音等,都是由依附于该对象上的组件决定的。每一个对象能够选择本身包含什么样的组件,这些组件决定了这个对象的属性。须要注意的是:每一个对象必须包含的一个组件是Transform,这个组件决定了该对象的位置、旋转和大小。那么为何要必须包含这个组件呢?想象一下,若是没有这个组件,那物体如何存在于场景中,放在什么位置呢?ui
由下图的菜单你们能够看到,Unity内置了不少游戏对象(GameObject),第一个选项“Create Empty”就是建立一个空的对象,即只包含Transform组件的对象,而“Create Other”菜单里面的游戏对象,都是内置的游戏对象,这些内置的游戏对象其实都是Unity 3D给一个空对象添加了一些组件(Component)构成了。意思就是,Unity 3D默认提供的这些对象,咱们均可以经过新建一个空对象,而后添加各类组件完成,不过是Unity 3D帮你作了这些工做,省去了一些麻烦,提供了常常会用到的一些游戏对象。从这里也能够看出,组件才是Unity 3D的核心,以后的必然离不开对Unity 3D各类组件的学习。关于各类组件,你们能够在之后的学习使用的过程当中慢慢了解,这里对总体结构留下一个印象就好。spa
2. 脚本3d
添加好游戏对象后,须要使用脚本对这些游戏对象进行控制。code
例如一我的要在城市里走动时,首先构造好城市对象和人。这里人能够由其余模型制做工具制做(例如3ds Max和Maya),模型中能够包含人的动画,以及人的详细结构:手啊、鼻子啊什么的,制做好的模型保存成fbx格式,直接能够导入到Unity 3D中。在上述对象构造好以后,我想按WASD控制人物行走,这就须要些脚本去控制。Unity 3D支持三种语言的脚本:C#、JavaScript和Boo。这里主要用C#进行举例和讲解。
Unity 3D安装时会自动安装MonoDevelop,这是一款代码编辑器(就是写代码用的,有自动提示),Unity 3D默认使用它为代码编辑器,能够阅读和编辑代码。若是你用不习惯,能够安装VS,经过设置,可使用VS提供的编辑器编辑代码,这个设置网上不少这里就不累述了。用VS有个好处就是可使用Visual Assist,代码高亮及代码补全很是强大。不过MonoDevelop的代码自动补全功能也还能够,可是有一个问题:就是若是一个变量打到一半,打错了,删除几个字母,而后这个变量的代码补全就不见了,必须从头开始写起,才有自动补全提示,并且代码补全的模糊匹配也没有VC助手的好用。不过整体来讲MonoDevelop也仍是不错的,用不习惯它默认的代码风格是能够进行设置的,具体以下图所示。
设置在Tool-Options里面,其中还能够修改字体,我的比较习惯用Consolas,字号大小随便,由于在编辑器中,按住Ctrl+鼠标滚轮是能够对总体进行放大缩小的。还有,建议在Tool-Options-Text Editor-Behavior里面勾选Insert matching brace和Smart simicolon placement,这样能够自动补全括号(http://www.liketocode.com/coding/185.htm),在这里感谢这位仁兄的分享,让我终于找到了括号自动匹配的设置。
第一篇就先写到这里了,若是错误之处,欢迎各位指正。