Unity 3D入门简介
最近在刚开始学习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,这个组件决定了该对象的位置、旋转和大小。那么为什么要必须包含这个组件呢?想象一下,如果没有这个组件,那物体如何存在于场景中,放在什么位置呢?
由下图的菜单大家可以看到,Unity内置了很多游戏对象(GameObject),第一个选项“Create Empty”就是创建一个空的对象,即只包含Transform组件的对象,而“Create Other”菜单里面的游戏对象,都是内置的游戏对象,这些内置的游戏对象其实都是Unity 3D给一个空对象添加了一些组件(Component)构成了。意思就是,Unity 3D默认提供的这些对象,我们都可以通过新建一个空对象,然后添加各种组件完成,不过是Unity 3D帮你做了这些工作,省去了一些麻烦,提供了经常会用到的一些游戏对象。从这里也可以看出,组件才是Unity 3D的核心,之后的必然离不开对Unity 3D各种组件的学习。关于各种组件,大家可以在以后的学习使用的过程中慢慢了解,这里对整体结构留下一个印象就好。

2. 脚本
添加好游戏对象后,需要使用脚本对这些游戏对象进行控制。
例如一个人要在城市里走动时,首先构造好城市对象和人。这里人可以由其他模型制作工具制作(例如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),在这里感谢这位仁兄的分享,让我终于找到了括号自动匹配的设置。
第一篇就先写到这里了,如果错误之处,欢迎各位指正。
Unity 3D入门简介的更多相关文章
- Unity 3D类结构简介
趁着周末,再来一发.对于Unity3D,我也是刚开始学习,希望能够与大家多多交流.好了,废话不多说,下面继续. 本篇文章使用C#进行举例和说明.关于Unity 3D编辑器中的各种窗口,网上有很多资料了 ...
- C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型
遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前 ...
- 再议Unity 3D
一年前,偶发冲动,翻译了<[译] Unity3D游戏和facebook绑定(1:简介)>系列文章. 现在看有2个明显的好处, 一:给这个不温不火的博客带了top 3的人气: 二:我个人由此 ...
- (二)Hololens Unity 开发入门 之 Hello HoloLens~
学习源于官方文档 微软官文~ 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发入门 之 Hello HoloLens~ 本文主要 ...
- Unity 3D中不得不说的yield协程与消息传递
1. 协程 在Unity 3D中,我们刚开始写脚本的时候肯定会遇到类似下面这样的需求:每隔3秒发射一个烟花.怪物死亡后20秒再复活之类的.刚开始的时候喜欢把这些东西都塞到Update里面去,就像下面这 ...
- Unity Shader入门精要学习笔记 - 第10章 高级纹理
转载自 冯乐乐的 <Unity Shader入门精要> 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法.环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层 ...
- Unity Shader入门精要学习笔记 - 第4章 学习 Shader 所需的数学基础
摘录自 冯乐乐的<Unity Shader入门精要> 笛卡尔坐标系 1)二维笛卡尔坐标系 在游戏制作中,我们使用的数学绝大部分都是计算位置.距离.角度等变量.而这些计算大部分都是在笛卡尔坐 ...
- Unity 3D网络游戏实战 pdf
Unity 3D网络游戏实战(全) 目录: 掌握Unity3D基本元素 1.1 简单的游戏 1.1.1在场景中创建一个立方体 1.1.2编写可以使立方体运动的程序 1.1.3测试游戏1.1.4总结1. ...
- Unity Shader入门
Unity Shader入门 http://www.cnblogs.com/lixiang-share/p/5025662.html http://www.manew.com/blog-30559-1 ...
随机推荐
- mac安装破解的Navicat
原文:https://www.jianshu.com/p/f42785e55b6b 原始文档没操作成功,折腾了一下午,后来在如下地址看的简洁版的,突然发现一句重要的话,豁然开朗. 原文链接:https ...
- 如何使用HTML5的WebSocket实现网页与服务器的双工通信(一)
本系列服务端双工通信包括两种实现方式:一.使用Socket构建:二.使用WCF构建.本文为使用Socket构建服务端的双工通信,客户端同样使用Html5的WebSocket技术进行调用. 一.网页客户 ...
- centos6.5安装Mysql5.6及更改密码
(一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...
- C\C++控制台程序隐藏方法总结
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台, ...
- L2-001 紧急救援 (25 分)
L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快 ...
- windows安装oracle-odbc驱动错误原因
在windows7上准备使用powerdesigner16连接oracle逆向生成表结构,确发现一直无法连接oracle,其原因是本机没有ODBC驱动. 第一步 安装oracle11g客户端,这里是具 ...
- 往redis中存储数据是利用pipeline方法
在redis中保存数据时,保存和设置有效时间是分开写的话,如果中间出现的异常,这会导致数据永久有效,因此就可以采用pipeline方法. # 创建redis管道对象,可以一次执行多个语句 pipeli ...
- excel 格式化姓名
在做excel时,难免会遇到输入姓名对齐这种情况,如果数据少时我们可以手动敲空格来进行对齐,但数据量大时,手动调整就不是好办法了. 此时我们可以通过excel自带公式对 ...
- Sublime Text 3 package control 解决 "There are no packages available for installation" 错误
造成这个错误的原因估计是因为由于packagecontrol.io无法访问,所以导致无法读取“https://packagecontrol.io/channel_v3.json”文件的原因. 解决方法 ...
- UVa 712
这个题根本不用建树,因为是完全二叉树,可以把这个想成二进制.对于根是二进制数的首位,之后依次类推.到最后的叶子节点就是从0到pow(2,n)-1. 关键在于在第一次输入的不是按照x1,x2,x3,x4 ...