Unity官方实例——Roll A Ball 开发流程记录

1. 新建项目

新建一个项目,命名为Rolling Ball,选择3D游戏模式。

Unity官方实例——Roll A Ball 开发流程记录_第1张图片

2. 添加游戏对象

2.1 Plane(平台)

在Hierarchy窗口中通过右键新建一个Plane,并重命名为Ground。
创建成功后,将Ground的Scale X和Z设置为2。(可以在Transform窗口中直接对物体的属性进行设置。
Unity官方实例——Roll A Ball 开发流程记录_第2张图片

2.2 Sphere(球体)

添加方式和平台一样,选择添加Sphere,并重命名为Player。
将Player的Position属性中的Y值设置为0.5。

2.3 设置灯光

首先,在Hierarchy窗口中创建一个空的GameObject(右键->选择“Create Empty),并重命名为Light。
将Directional Light重命名为Main Light,并拖到Light中。(把所有灯光对象放到Light中,方便统一管理。

为了将Player和阴影进行区分,再添加一个光源照射球体:
右键点击Light -> 选择“Light” -> 选择“Directional Light”,将新建的灯光重命名为Fill Light。
选中Fill Light,将其Color设置为红色(便于和Main Light进行区分),把Rotation属性分别设置为-30, -60, 0。
Unity官方实例——Roll A Ball 开发流程记录_第3张图片

3. 让球动起来

首先,选中Player。

3.1 给Player添加刚体属性(Rigidbody)

在Inspector窗口中点击Add Component -> 输入Rigidbody并选择(刚体可以赋予Player物理效果,检测物理碰撞)。

3.2 给Player添加脚本(Script)

在Assets中创建一个文件夹,命名为“Scripts”,用来存放脚本文件。

在Inspector窗口中点击Add Component -> 选择“New Script” -> 命名为“PlayerControl” -> 点击“Create and Add”,在Project窗口中将PlayerControl放入Scripts文件夹中。
(或者右键点击Scripts -> 选择“C# Script” -> 命名为“PlayerControl” -> 在Inspector窗口中点击Add Component -> 输入PlayerControl并选择)

添加完成后开始编写脚本
Unity官方实例——Roll A Ball 开发流程记录_第4张图片

在PlayerControl类中添加一个FixedUpdate方法。
Unity官方实例——Roll A Ball 开发流程记录_第5张图片
保存修改之后,用public修饰的变量可以在编辑器中显示并进行修改,将speed的数值设置为500。
在这里插入图片描述

4. 让摄像机跟随球体移动

选中摄像机,在Inspector窗口中把Position的Y和Z设置为5,-6,Rotation的X设置为45:
在这里插入图片描述
这使视角变为45°俯视角:Unity官方实例——Roll A Ball 开发流程记录_第6张图片
给摄像机添加一个脚本,命名为“CameraControl”。
Unity官方实例——Roll A Ball 开发流程记录_第7张图片
脚本编写完成后,在摄像机的Inspector窗口中把脚本的player属性设置为player。(类似于刚刚设置的speed
在这里插入图片描述

5. 制作地图边界

因为Player移动出Ground边界后,会往下掉,所以需要一道围墙拦住Player。

添加四个Cube对象,把它们命名为“Border”1/2/3/4,设置好它们的长度后放在Ground的边界上。效果如下:
Unity官方实例——Roll A Ball 开发流程记录_第8张图片

6. 添加一个可以拾取的物体

6.1 添加一个Cube(方块)

我们用Cube来做一个可以拾取的物体,为了让它看起来与众不同一点,我们让它自动旋转起来。

创建一个Cube -> 命名为“Pick” -> 把它的Rotation的X、Y、Z值都设置为45 -> 然后把它放到一个合适的位置上
Unity官方实例——Roll A Ball 开发流程记录_第9张图片

6.2 添加一个自动旋转的脚本

命名为“Rotator”:
Unity官方实例——Roll A Ball 开发流程记录_第10张图片

6.3 制作预制件

为了能够快速制作出更多的可拾取物体、方便统一进行管理,我们要把它做成一个预制件(Prefab):
在Asset文件夹下新建一个文件夹,命名为“Prefabs”,然后将Pick拖到Prefab文件夹中。

然后复制出多个Pick对象,然后放在喜欢的位置上:
Unity官方实例——Roll A Ball 开发流程记录_第11张图片

6.4 添加可拾取属性

  1. 给可拾取物体添加一个标签:如果没有制作预制件的话,就只能一个个方块去添加了,但是有了预制件之后,直接修改预制件的属性,就能应用到全部方块上了。
  2. 选中预制件文件夹中的Pick,创建一个新标签,命名为“Pick”:
    Unity官方实例——Roll A Ball 开发流程记录_第12张图片
  3. 将Pick方块的标签选为Pick。
  4. 修改PlayerControl脚本:
    Unity官方实例——Roll A Ball 开发流程记录_第13张图片
  5. 在Inspector窗口中把Pick预制件设置为碰撞触发器:
    Unity官方实例——Roll A Ball 开发流程记录_第14张图片

7. 制作计分板

7.1 记录玩家分数

修改PlayerControl脚本:
Unity官方实例——Roll A Ball 开发流程记录_第15张图片

7.2 将分数显示出来

  1. 创建一个文本UI,然后放在合适的地方。Unity官方实例——Roll A Ball 开发流程记录_第16张图片

  2. 修改PlayerControl脚本:
    Unity官方实例——Roll A Ball 开发流程记录_第17张图片

  3. Unity官方实例——Roll A Ball 开发流程记录_第18张图片

至此,这个实例就已经全部结束了
Unity官方实例——Roll A Ball 开发流程记录_第19张图片

你可能感兴趣的:(unity)