Roll-a-Ball 游戏
前言Unity官方实例教程 Roll-a-Ball 汉化视频地址,点击这里 官方视频所用的unity版本是4.3的,而现在unity最新的版本是5.2,有很多东西都不一样了,所以视频里面的一些做法需要根据最新的版本进行一些修改,在下面的具体实例中会有5.2版本的做法说明 你将学到什么?
一、创建一个新的项目(New Project)第1步:通过File->New Project菜单打开创建新项目对话框NewProject
第2步:确定项目名称、存放路径以及游戏模式新项目对话框
第3步:观察下创建后的编辑器界面编辑器主界面
Layout
二、创建第一个游戏场景(Scene)第1步:创建一个文件夹来存放游戏场景文件unity中,所有的游戏资源文件都放在Assets文件夹下面,为了便于管理游戏资源文件,我们一定要对游戏资源进行合理的分类,这一点很重要,尤其是后期游戏资源文件多起来的时候,合理的分类能帮你更好的管理资源,所以我们首先创建一个名为_Scenes的文件夹,来存放游戏场景文件。
第2步:保存当前游戏场景
三、添加游戏对象——平台(Plane)保存了游戏场景后,我们就可以开始在场景中添加一些我们所需要的游戏对象了,我们第一个需要添加的就是游戏进行的平台,这里我们使用的是unity自带的Plane对象,添加一个游戏对象(GameObject)有3种方法
平台对象创建成功后,我们最好给他起一个好的名字,来解释它的作用,我们可以给所有个游戏对象重新命名,命名的方法有2种:
名字修改完成后,我们还需要做一个很重要的事情(官方强力推荐),我们把平台的Transform属性给重置(reset)一下,我们在Inspector窗口中找到Transform组件,然后点击它右上角的小齿轮,选择reset选项,如下图: ![]() 重置平台属性
平台添加成功后,我们可以对其的属性进行一些调整,例如我们调整一下平台的大小,将目光锁定到Scene窗口,我们可以在其中可直观的来修改平台的属性,这里有3个很实用的快捷键可以使用:
四、添加我们的主角——球体(Sphere)有了平台后,制作Roll-a-Ball游戏我还需要一个球体,我们可以通过方向键来控制球体移动,添加球体的方式,和上面添加平台的方式一样,只不过我们选择的是Sphere对象,如下图: ![]() 添加球体
然后我们选中球体,通过F快捷键,定位到球体,我们会发现此时球有一个半是陷入在平台中的,不要紧,我们通过调节他的Position的Y值为0.5,让它正好处于平台上 ![]() 陷入平台的球体
![]() 处于平台上的球体
五、添加灯光(Light)这里首先要提一下,因为官方视频中所用的unity版本是4.3,而现在最新的版本是5.2,所以下面的内容会与视频有所不同,我们会以最新的版本为基础来说明
之后,我们为了让球和阴影有个明显的区分,我们在增加一个新的光源,用来照射在球体上,我们创建一个新的平行光(Directional Light),这样我们就有了两个名叫Directional Light的灯光,这样不便于区分,于是我们修改一下灯光的名字
然后我们选中Fill Light,首先我们将其的灯光颜色设置为红色,这样便于和Main Light区分开来,然后将它的Rotation属性分别调整为-33,-135,180 ![]() Fill Light设置
这样修改后,我们就可以看到球体上一层红色的光泽。 ![]() 红色光泽
六、让球体动起来——添加脚本(Script)和刚体(Rigidbody)有了平台,有了球体,有了灯光,下一步我们就应该让球体可以动起来了。unity上手很简单的一个原因,就是他的做法非常符合我们平时生活的逻辑,比如我们这里想让球体动起来,那么按照我们正常的想法,我们要做的事情就是告诉球体,让他动起来,那么装换成unity的实现方法,就是给球体添加一个脚本组件,然后在脚本组件里面告诉他怎么动,下面我们来看看具体的操作 第1步:给球添加刚体刚体可以给球体添加物理效果,让他可以检测物理碰撞,便于我们后面实现拾取物体和碰撞墙面
第2步:给球体添加脚本
要想给球体或者说任何一个GameObject添加一个脚本,我们首先选中GameObject,这里我们选中球体也就是我们的Player,然后在Inspector窗口中点击Add Component按钮,在弹出的菜单中选着New Script ![]() New Script
![]() 屏幕快照 2015-10-26 下午3.32.14.png
点击Create and Add后,我们就成功给球体添加一个脚本组件,然后我们点击脚本组件右上角的小齿轮按钮,在弹出来的菜单中选择Edit Script便可打开脚本编辑器了 ![]() 打开脚本编辑器
七、编写脚本下面没有编程经验的同学,可以直接按照例子来抄写代码,后面再来慢慢理解 ![]() 2277F32A-E488-46CD-94C9-7241F5E1626C.png
![]() 代码
|
|
来自: 雪柳花明 > 《Unity3d 小项目》