首页 理论教育虚拟现实理论与应用开发实践:弹小球(初级)实现

虚拟现实理论与应用开发实践:弹小球(初级)实现

【摘要】:2)创建新项目启动Unity后将出现一个并列显示Projects和Getting started的窗口。图8-6查看GameScene项图8-7调整摄像角度6)创建方块和小球创建完地面后,接下来将创建代表玩家角色的小方块和球体游戏对象。将方块移动到左侧,小球移动到右侧。图8-8选中小方块图8-9X值修改7)运行游戏再次保存项目文件)。图8-10Maximize on Play图标状态启动游戏后,将自动切换到游戏视图。图8-15游戏视图11)让玩家角色跳起来由于该脚本用于操作玩家角色,所以命名为Player。

1)介绍

目的:通过尝试制作一款使用玩家角色把小球弹飞的简单小游戏,熟悉使用Unity进行游戏开发的基本流程。

软件环境:Unity 2018.2.16,Visual Studio 2017。

2)创建新项目

(1)启动Unity后将出现一个并列显示Projects和Getting started的窗口。单击窗口中央的New Project按钮或者右上方的NEW文本标签,窗口下半部分内容将发生改变,出现Project Name文本框等内容(见图8-1)。

图8-1 创建项目

(2)如果Unity曾经被启动过(比如我),窗口中央将不再显示New Project按钮,取而代之的是曾经载入过的项目文件列表。这时右上方的NEW文本标签依然会显示,可以通过它来创建项目。

接下来在指定的位置上依次输入项目名称、存储路径、项目创建者,单击右下角的创建项目,这样一个Unity项目就创建好了(见图8-2)。

图8-2 项目创建完成

图8-3 创建地面

提醒:虽然文件夹名称和项目可以取任意名字,但是最好不要使用汉字。因为如果路径中包含了汉字,有可能导致Unity编辑器在保存和读取文件时出错。

3)创建地面(创建游戏对象)

(1)在窗口顶部菜单中依次单击GameObject→3D Object→Plane按钮(见图8-3)。

(2)场景视图中央将出现一个平板状的游戏对象,同时层级视图中也增加了一项Plane(平面)(见图8-4)。

4)创建场景,保存项目

(1)观察Unity的标题栏,能发现在最顶端文本右侧有一个“*”符号。

图8-4 增加平面后的场景视图

这个符号表示当前项目文件需要保存。保存后该符号就会消失,之后如果又做了什么操作需要重新保存,该符号会再次出现。在窗口顶部菜单中依次单击File→Save Scene按钮(见图8-5)。

图8-5 保存

(2)保存完毕后,项目视图中也添加了GameScene项(如果无法看见,可以尝试单击左侧的Assets标签),如图8-6所示。

5)调整场景视图的摄像

稍微调整一下摄像机的角度,使之能够从正面视角俯瞰我们刚才创建的地面对象(见图8-7)。

调整摄像机角度的方式如下:

(1)按住Alt键的同时拖动鼠标左键,摄像机将以地面为中心旋转。

(2)按住Alt和Ctrl键的同时拖动鼠标左键,摄像机则将平行移动。

(3)滚动鼠标滚轮,画面将向着场景深处前后移动。

图8-6 查看GameScene项

图8-7 调整摄像角度

6)创建方块和小球

(1)创建完地面后,接下来将创建代表玩家角色的小方块和球体游戏对象。

(2)在窗口顶部菜单中依次单击GameObject→3D Object→Cube和GameObject→3D Object→Sphere按钮。

(3)将方块移动到左侧,小球移动到右侧(拖动对象上的XYZ轴进行移动)。

(4)精确移动:在层级视图中选中小方块(小球也是如此)(见图8-8)。把检视面板中Transform标签下的Position的X值由0改为-2(见图8-9)。

图8-8 选中小方块

图8-9 X值修改

7)运行游戏

再次保存项目文件(返回步骤4))。保存完成后,让我们把游戏运行起来。

(1)确认游戏视图标签页右上方的Maximize on Play图标处于按下状态,然后单击画面上方的播放按钮(位于工具栏中间的播放控件中最左边的三角形按钮),如图8-10所示。

图8-10 Maximize on Play图标状态

(2)启动游戏后,将自动切换到游戏视图。场景视图中配置好的3个游戏对象将显示出来。若希望终止游戏运行,再次单击播放按钮即可(见图8-11)。

图8-11 播放

提醒:游戏启动后,再次进行编辑前请务必先终止游戏运行。

8)摄像机的便捷功能

在层级视图选中Cube后,将鼠标移动到场景视图中,然后按下F键,可以看到摄像机将向Cube移动(见图8-12)。

图8-12 移动摄像机

切记:选中某游戏对象后再按下F键,场景视图中的摄像机将移动到该对象的正面。当需要查看某游戏对象时这个方法会很方便。

9)修改游戏对象的名字

由于Cube是玩家操作的角色,我们称它Player;Sphere是玩家要弹飞的球体,我们称它Ball;作为地面的Plane,我们称它Floor。

单击层级视图中的Cube,当背景变为蓝色后再次单击,名称文本将变为可编辑状态,把Cube改为Player后按下回车(见图8-13)。

10)模拟物理运动(添加Rigidbody组件)

为了实现让玩家角色跳起来的效果,需要为游戏对象添加物理运动组件。在层级视图选中Player,并在窗口顶部菜单中依次单击Component→Physics→Rigidbody按钮(见图8-14)。

图8-13 修改Cube为Player(www.chuimin.cn)

图8-14 添加物理运动组件

这样Rigidbody组件添加到了玩家角色中,可以在检视面板中看到Rigidbody。

再次运行游戏(步骤7)),这一次玩家角色将快速落下并在撞到地面时停止(见图8-15)。

图8-15 游戏视图

11)让玩家角色跳起来(添加游戏脚本)

(1)由于该脚本用于操作玩家角色,所以命名为Player。从项目视图的Create菜单中选择C#Script,项目视图右侧的Assets栏中将生成一个名为NewBehaviourScript的脚本文件,刚创建完成时,将其名字改为Player(见图8-16)。

现在创建的脚本是一个空的脚本,即使运行也不会发生什么。为了能够将它运用在游戏中,必须做相应的编辑。

(2)选中Player脚本,单击检视面板上的Open按钮。这时Visual Studio 2017将会启动,Player.cs脚本被打开(我将Mono Develop编辑器换成了VS2017),如图8-17所示。

注:在项目视图中双击脚本项也能够启动编辑器(在这里是VS2017)。

可以看到,创建好的脚本文件已经包含了若干行代码(见图8-18)。这些代码是每个脚本都必需的,为了省去每次输入的麻烦,所以预先设置在文件中了。

图8-16 编辑空脚本

图8-17 启动编辑器

图8-18 创建的脚本

图8-19 脚本代码

(3)脚本编辑。

①脚本的开头有一行代码,确认public class后紧跟着的类名为Player(Unity规定C#脚本中类名必需和文件夹名相同),如图8-19所示。

②代码编辑脚本。新增一个jump_speed数据成员,重写Update方法:

③保存代码。在VS2017中编辑完代码后,必须对其加以保存才能使其改动生效。单击VS2017标题栏上的文件→保存按钮,保存完后退出VS2017(见图8-20)。

④回到Unity编辑器中,也进行保存(步骤4))。

⑤把新建的类组件添加到Player游戏对象上(见图8-21)。从项目视图中将Player脚本拖拽到层级视图中的Player对象上。这样就可以把Player脚本组件添加到玩家角色,此时在检视面板中也应该能看见Player标签。

⑥再次启动游戏。单击鼠标左键后,玩家角色将“嘭”地弹起来(运行前记得再保存一次项目文件),如图8-22所示。

12)修改游戏对象的颜色(创建材质)

(1)创建材质。

①在项目视图中依次单击Create→Material按钮,创建一个New Material的项。和脚本一样,把它的名字改为Player Material(见图8-23)。

图8-20 标题栏

②改变颜色。在检视面板中单击白色矩形,将打开标题为Color的色彩选择窗口(见图8-24)。

色彩选择窗口内的右侧有调色板,单击其中的红色区域,刚才的白色矩形将立即显示为选中的颜色(见图8-25)。选择完颜色后关闭选择窗口。

图8-21 Player标签查看

图8-22 游戏启动

图8-23 创建材质

图8-24 改变颜色

图8-25 选择颜色

(2)在项目视图中将Player Material拖拽到层级视图中的Player上。这相当于把Player Material分配给Player,场景视图中的游戏对象Player就变成红色了(见图8-26)。

图8-26 材质颜色设置为红色

(3)采用同样的方式创建绿色的Ball Material和蓝色的Floor Material,并分别将他们分配给Ball和Floor对象(见图8-27)。13)调整游戏画面的尺寸(调整播放器设置)

图8-27 创建绿色Ball Material和蓝色的Floor Material

图8-28 Free Aspect下拉菜单

(1)在Game标签左下方有Free Aspect文字,单击该处将出现下拉菜单,选中位于最下方的“+”菜单项,将打开一个标题为Add的小窗口(见图8-28)。

(2)在Width&Height文字右侧的两个文本输入框中分别填入640和480,确认无误后按下OK按钮(见图8-29)。

(3)关闭Add窗口后可以在下拉菜单中看见新增了640×480项,同时该项左侧显示有被选中的标记(见图8-30)。目前为止,我们已成功将游戏画面尺寸设置为640像素×480像素了。

(4)运行游戏(运行前记得先保存),如图8-31所示。

图8-29 Width&Height设置

图8-30 640×480项选中效果

图8-31 游戏运行