前言:想要写出一篇引人入胜的文章?我们特意为您整理了VR摘西瓜游戏制作技术浅议范文,希望能给你带来灵感和参考,敬请阅读。
摘要:为了满足人们虚拟采摘西瓜的愿望,提出一种vr摘西瓜游戏制作技术:首先使用Maya软件创建游戏3D模型,接着使用QuixelBridge软件制作材质,然后使用Unity3D软件搭建游戏场景、制作音效、设计图形界面和设置SteamVR插件,最后通过C#脚本编写游戏界面按钮代码和音效代码。实验测试结果表明:制作的VR摘西瓜游戏交互性能强,画面逼真,体验效果好。能够给体验者带来虚拟采摘乐趣,具有一定的推广应用价值。
关键词:VR摘西瓜;游戏制作;Unity3D;射线瞬移;C#脚本
0引言
随着人们生活水平的提高和生活节奏的加快,市民对农村的田野生活越来越疏远。城里长大的孩子对蔬菜和水果的生长知识知之甚少,一些家长为了给孩子补充常识,会在周末或节假日带着孩子去城郊或农村采摘园进行采摘活动,采摘蔬菜和水果已成为市民亲近自然、感受自然的一种新型的休闲方式。但是,对那些工作十分忙碌的家长而言,很少有时间带孩子去乡村体验采摘生活[1]。据此,设计与制作了一款VR摘西瓜小游戏,希望能够满足市民足不出户、虚拟采摘西瓜的愿望,从而达到亲近自然、感受自然的目的。
1游戏设计
1.1软件工具与方法
使用Unity3D(2019版)作为游戏开发主软件。使用Maya软件创建游戏3D模型,将“瓜棚”“干草卷”等3D模型导出为.fbx格式文件,并拖到Unity3D的Project视图中,再逐一添加MeshCollider网格碰撞体,使用SteamVR插件、射线瞬移和编写C#脚本实现西瓜地的交互式漫游设计[2-3]。使用QuixelBridge软件制作材质,导入Unity3D软件中,并赋予3D模型材质(直接将材质库里的西瓜模型导出到Unity3D中)。将音效文件yinxiao.mp3拖至Unity3D的Project视图Assets中,通过Compo-nent/Audio/AudioSource添加音频源。
1.2游戏交互设计
在使用Unity3D软件搭建完成“地形”“树木”等游戏场景后(如图1所示),接着进行游戏交互设计。本游戏的交互设计流程是:首先进入游戏首界面,点“开始游戏”按钮进入游戏,通过射线瞬移可移至西瓜地的每一个角落,用HTCVive两个手柄的扳机键可以采摘西瓜,可把采摘的西瓜都集中在瓜棚下。
2游戏制作关键技术
本游戏的主要制作流程是:按VR摘西瓜游戏要求调研分析各个模块的功能,如具体制作中,虚拟场景中的模型和纹理贴图都来源于真实场景,使用Maya软件创建游戏3D模型,使用QuixelBridge软件制作材质,使用Unity3D软件搭建游戏场景、制作图形界面、设置SteamVR插件、编写C#脚本语句、制作音效和发布游戏[4-5]。
2.1游戏首界面按钮交互控制
2.2创建玩家预设体Player在Unity3D资源商店中搜索并下载安装SteamVR插件,将Project视图中的玩家预设体Player拖入到Scene视图的游戏场景中,关闭主摄像机MainCamera,点播放按钮,戴上HTCVive头盔,以玩家Player视角进入游戏场景。
2.3射线瞬移交互控制
首先将SteamVR中的Teleporting.prefab拖到游戏场景中,添加射线瞬移预设体。接着复制一个地面(Plane1)用于传送区域处理,将TeleportArea.cs添加到Plane1上。再找到SteamVR中的Tele-portPoint.prefab拖到游戏场景中,点击HTCVive手柄的触控板控制射线瞬移。按此方法,在西瓜地各角落中添加若干个Teleportpoint.prefab[6-7],可实现整个西瓜地中的定点射线瞬移。
2.4抓取抛掷制作
为西瓜添加刚体Rigidbody组件、速度估算脚本VelocityEstimator、悬停事件InteractableHover-Events、抛掷Throwable后,就可以使用HTCVive两个手柄的扳机键采摘、抛掷西瓜。
2.5给游戏添加音效
选中西瓜,为西瓜添加SphereCollider组件。在西瓜上添加一个AudioSource组件,并指定Au-dioClip为音效文件yinxiao.mp3。取消勾选PlayOnAwake和Loop复选框。在Project视图中创建一个新的脚本,将其命名为GuaCollider.cs,输入下列代码[8-9]:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassGuaCollider:MonoBehaviour{//定义一个AudioSource对象AudioSourceguaAudio;voidStart(){//初始化音效guaAudio=GetComponent<AudioSource>();}//当发生碰撞的时候调用该方法publicvoidOnCollisionEnter(Collisioncollision){//播放音效guaAudio.Play();}}。
2.6游戏的发布
在Unity3D的菜单栏中选择File→BuildSettings命令,在Platform处选择默认的PC,Mac&LinuxStandalone,单击Build按钮[10-11],选择可执行文件保存的路径,然后等待生成可执行文件,即可完成游戏发布到PC平台。
3实验测试
3.1实验测试平台图2游戏首界面实验测试选用的测试平台是VR图形运算工作站:i7-9700CPU;操作系统:Windows10,64位;内存:32GB;显卡:GeForceRTX2060SUPER;HTCVive头盔,HTCVive操控手柄。
3.2实验测试与结果分析
直接运行该游戏的.exe文件,进入游戏的首界面(如图2所示)。点“开始游戏”按钮进入游戏,戴上HTCVive头盔,通过两个HTCVive操控手柄可实现在西瓜地中的交互式虚拟漫游。(1)射线瞬移测试。使用HTCVive手柄操控,通过射线瞬移可准确地传送到西瓜地中预设的若干个传送点(如图3、图4所示)。本测试通过,定点传送准确。(2)采摘西瓜体验测试。通过HTCVive操控手柄可采摘西瓜(如图5所示),并可搬运西瓜至目的地(如图6所示)。测试通过,体验效果良好。(3)音效测试。当西瓜落到地面上时,就会发出音效声。本测试通过,声音效果良好。
4结语
本研究完成的小游戏实现了VR采摘西瓜的体验效果,能够为体验者带来摘西瓜的喜悦感,达到了亲近自然、感受自然的目的。但游戏的交互体验项目偏少、动景少、天空中无飞鸟、无人物元素等。下一步的研究将增加游戏的交互式体验项目,丰富游戏的动态场景元素,使得游戏场景元素更加丰富、娱乐性能更强。
作者:魏三强 蒋正铨 张晓光 单位:宿州职业技术学院 中国矿业大学