基于Unity 3D的web游戏的设计与实现

时间:2022-07-25 09:47:41

基于Unity 3D的web游戏的设计与实现

摘 要:Unity 3D是一款3D跨平台的游戏引擎,本文在介绍Unity 3D引擎的基础上,以一款《接球游戏》为例,给出了一种基于Unity 3D的web开发游戏的方法。在此基础上,开发人员可以利用Unity开发多平台的游戏。

关键词:Unity 3D;游戏开发;接球游戏;JavaScript

中图分类号:TP317

1 Unity 3D引擎简介

Unity 3D是一个非常神奇的游戏引擎,它能在各种不同的设备进行游戏的开发,包括Web、PCs、iOS平台,以及wii软件,还可以游戏至安卓平台和Xbox线上街机,它还可以方便快捷地创建建筑可视图虚拟漫游、实时三维动画类互动型的多平台游戏,它可以利用Unity web player插件将成品到互联网,支持Mac和Windows的网页浏览。基于这款引擎制作的游戏如《神庙逃亡》、《王者之剑》、《跑跑卡丁车》等,对于开发者而言,Unity3D具有强大的拓展性和可移植性,Unity3D引擎可以实现纯3D全方位自由视角,拥有高端画质效果,是目前移动游戏中较为流行的3D引擎。Unity引擎官方的下载地址为http://.cn/,本案例以Unity 4.0为例开发游戏。

这里以Windows中使用Unity为例,系统启动后,会打开上一次打开的工程文件,如果要新建一个项目,则选择菜单FileNew Project,启用一个新的项目,如图1所示。

图1 新建一个Unity项目

在窗口左边是Hierarchy(层级)窗口,它列出了当前场景中所有物体的名称,可以通过选择层级面板中的物体名称选择场景中的物体。中间部分是Scene(场景)窗口和Game(游戏)窗口,场景窗口可以显示物体所处场景的透视图,当按右上角的坐标箭头时,可以切换前、后、左、右等视口,在此窗口可对相应物体进行移动、旋转、缩放等操作;游戏窗口是在主摄像机视图下显示的游戏动画状态,可以通过调节main Camera来调整游戏运行时的物体的位置及角度。窗口是右边部分是Inspector(检视)面板,当在层次窗口、场景窗口或工程视图中选择相应对象时,检视面板会显示当前物体的基本信息,如物体的位置、旋转、缩放等,也显示它所包含的Component(组件)和组件的属性。在窗口左下方是Project(工程)面板,其面板中有一个被称为Assets(资源)文件夹。当点击工程面板中的Assets时,Assets面板会显示工程视图中所有的资源。可以通过这个资源文件夹给物体赋材质,编辑JavaScript脚本等。

2 《接球游戏》的设计与实现

设计思路是:游戏玩家通过左右移动鼠标,控制游戏中位于小球下方的一块短板左右移动,当小球下落时,通过左右移动鼠标来控制短板接住小球,小球碰撞到短板后反弹到顶部的长板,再次下落时,如果短板未及时移到小球下落点,小球将消失,游戏结束。

首先,制作游戏场景。在Unity3D中创建新项目,导入相应的资源包,单击Game ObjectCreate OtherSphere,创建一个球体,在Inspector面板中设置小球的位置离地面2个单位左右,即(0,2,0),并将小球缩小为原来的40%。按同样的方法创建一个方体Cube,其位置位于原点(0,0,0),缩放Scale(1.1,0.04,1),将方体设置为扁平状,复制这个方体,将其移动到小球上端,离地面3个单位左右,并将复制的方体变长。再在Game Object中创建一盏平行光,其位置坐标(0,4,-4),旋转坐标(44,0,0)。

其次,游戏的实现。为小球添加重力,单击菜单componentphysicsrigidbody,将小球设置为“刚体碰撞”,启用Use Gravity,为小球添加重力,按播放键可以观察小球的自由落体到下面短板不动的过程。在Sphere Collider参数面板中,选择Select PhysicMaterial为Bouncy,设置小球为弹力物理材质,这样小球就可以在上下两块板子间来回弹跳。

接下来为下面的短板创建Javascript脚本,目的是让短板能左右移动保证能接住小球,在Project面板中,单击鼠标右键选择CreateJavascript,双击新建的Javascript图标,在弹出的窗口页面中输入编码:

function Start () {}

function Update () {

transform.position.x=(Input.mousePosition.x-Screen.width/2)/(Screen.width/2);

Debug.Log((Input.mousePosition.x-Screen.width/2)/(Screen.width/2));}

第三,游戏的测试运行,选择Game游戏窗口,或单击播放按钮,可以观察游戏运行结果,如图2所示。

图2 《接球游戏》的游戏窗口

最后,游戏的打包与。在Unity中单击菜单FileBuilding&Run,在设置窗口中设置游戏打包生成的参数,切换到PC,Mac&Linux standard alone平台,设置Player Settings,根据需要设置相应参数,如游戏结果窗口大小,命名导出的文件名等,然后点击Build and Run按钮,如图3所示,即可得到打包后的exe文件,在没有Unity3D环境下执行该exe文件,也可以正常运行游戏。至此,整个游戏开发完成。

图3 打包并运行游戏

3 结束语

基于Unity游戏开发是比较方便快捷的。《接球游戏》的游戏例示了JavaScript脚本的实现方法,通过本例给出了一种基于Unity的web游戏开发的一般方法。游戏开发人员可以在此基础上进行进一步的研究,利用Unity开发多平台的游戏。

参考文献:

[1]俞亮,俞文心.基于Unity的Web游戏设计与实现[J].计算机光盘软件与应用,2014(08):225-226.

[2]林深华,范志尚,蒋建兵.基于Android平台Unity3D游戏设计与开发[J].企业科技与发展,2013(10):40-42.

[3]黄裕兴.基于Unity 3D引擎的Android手机益智类游戏开发[J].科教导刊,2014(01):138.

作者简介:张敏(1972-),女,湖南长沙人,讲师,研究方向:三维展示。

作者单位:湖南工业职业技术学院,长沙 410208

上一篇:视频监控中视频质量诊断系统的设计与实现 下一篇:一种QoS网络路由通信数据时延WRR算法优化研究