基于VRP的三维农场游戏的动态显示

时间:2022-07-07 08:23:10

基于VRP的三维农场游戏的动态显示

摘要:本文实现的是三维农场游戏的显示部分,用户可以在农场中进行多视角浏览,对农场中的作物进行栽种,经过作物生长阶段最后收获作物的功能。利用专业三维建模软件3ds Max,Poser,VR-Platform三维互动仿真平台的完美结合,通过3D建模,烘焙以及设置交互功能完成。与二维农场游戏相比更加逼真,更加富有娱乐性。

关键词:虚拟现实 VRP 3ds Max 农场

中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2011)12-0229-02

1、引言

虚拟现实(VR)技术是近几年来出现的高新技术,由计算机所模拟的三维环境,通过让眼睛接收到在真实情境中才能接收到的信息,使人产生“身临其境”的感觉。VR-Platform是由深圳中视典公司开发的具有自主知识产权的一款国产三维虚拟现实平台软件。

虚拟现实技术应用广泛:电影《阿凡达》的全球热映,让我们认识了虚拟现实技术;虚拟旅游为传统旅游业带来了新的诠释;某些事故的模拟再现,帮助人们更加清晰的了解整个事情的来龙去脉;三维地图的应用也为当今忙碌的人们的出行提供了极大的方便等等。随着计算机技术的发展,游戏爱好者对游戏的逼真度及娱乐性要求越来越高。如今网络上流行的网页农场游戏比如QQ农场,开心农场,它们都是二维的基于平面的,本文运用虚拟现实技术在VRP平台上完成三维农场的动态显示。

2、开发工具选择

3ds Max作为专业三维建模软件,功能强大,扩展性好,另外在角色动画方面具备很强的优势,丰富的插件也是其一大亮点。

Poser是由美国Curious Labs开发的三维人体图像和动画软件,是全球第一个也是迄今为止使用最广泛和最受欢迎的专门用于人体造型的软件。它可以为本文提供人物,动物狗的模型。

VRP属于桌面型虚拟现实系统,该软件适用性强、操作方便、功能强大、高度可视化.真止做到了管理意义上的所见即所得。但是仿真软件在模型面片数和纹理贴图量方面都有可以承受的上限,VRP要求贴图量不要超过计算机的可用显存量,面片数也需尽量少。本文游戏三维农场的动态显示正是在VRP平台上实现的。

之所以选择这三款软件,是因为它们之间有着很好的衔接性,可以充分发挥出它们各自的优势。选择3ds Max进行场景大部分的建模,结合Poser提供的相应人物动物模型,最后导入到VRP平台中进行交互以及界面设计,实现动态显示功能。

3、三维农场总体设计及制作流程

一个完整的三维农场系统包括两个部分:数据管理部分和三维显示部分。

三维农场的总体设计如图1所示。

本文实现的是三维显示部分,数据管理部分不作展开。网上如今存在农场只是基于平面的二维游戏,无法从多个角度来观察农场中的对象,本文中实现的是一个基于VRP的三维农场,能够跟随相机或者使用者可以通过鼠标全方面来浏览农场。实现方法主要是应用3ds Max进行建模,渲染、烘焙,然后导入到VRP-Builder编辑器中,再经过简单的编辑操作之后即可生成一个可执行的exe文件,用户可以通过执行该文件浏览三维场景中的每个模型,用户还可以使用鼠标、键盘在农场中实现多种方式行走。

三维农场动态显示的实现流程如图2所示。

4、三维农场游戏显示的实现

4.1 三维农场的制作要点

农场中的三维模型是构成农场中的重要组成部分,模型质量的高低直接影响着整个虚拟场景的效果。房子以及栅栏比较规则的物体模型可以由挤出命令完成,需要注意的是制作模型时能用【挤出】修改器实现的模型就不要使用【布尔】运算去实现,因为相对来说布尔运算不稳定,导入VRP中很可能发生错误。

农场中人和狗的模型在满足条件的情况下,本文直接选用了Poser中的模型。狗的模型可以在poser当中直接导入到3ds Max中,通过添加变形器,为狗的行走路径设置关键帧的方式可以实现狗行走的动画部分。

由于树的结构相对来说比较复杂,直接在3ds Max中建模会导致会给以后VRP的导入带来困难,本文选择了通过下载树插件,然后对相应树模型的系数反复进行调整的方式来制作,直至成功导入到VRP中。

农场中植物模型通过在3ds Max中绘制样条曲线,修改顶点使其更加平滑,为其添加【车削】修改器并调整中轴位置即可完成。

4.2 场景优化

假如场景模型过多的话会增加客户机端的负担,很难得到平滑的运行效果。除此之外,模型面数过多还会增大文件的容量,在网络上会使得下载时间增加。本文针对以上问题,对场景进行了优化。

最终影响虚拟场景运行速度主要有三个要素:VR场景模型的总面数,VR场景模型的总个数和VR场景模型总的贴图量。

在优化过程中,将需要对其的物体的面和顶点进行对齐,删除每个模型中的看不到的面以及它们之间发生重叠的面等。在删除多余的边时,可能会有遗漏的点未删除,此时尽管看不到多余的面,但那些点组成的三角面仍然存在,所以多余的点也一定要删除。最终在存储数据和外形方面,做到“小而精”。

场景模型个数的多少直接影响到VRP的启动速度,假如场景中模型个数过多,计算机可能会因为计算不过来造成模型丢失的情况。避免此现象发生的做法是先给各个模型进行合理命名和分组,赋好材质之后,对近距离材质相同的模型进行合并。

贴图量也是影响VRP启动速度的一个关键因素,所以要在模型个数,面数,贴图量三者之间做一个权衡,既要保证在计算机承载范围之内,又不影响场景的实际观赏效果。

4.3 渲染和烘焙

3ds Max默认的渲染器是扫描线渲染器,它的渲染采用的是模拟的算法,要想得到逼真的渲染效果,对灯光的设置要求非常高,而且速度慢。本文中采用的是mental ray渲染器,该渲染器渲染的图片具有真实的反射、折射和焦散效果,能实现很多3ds Max默认渲染器无法达到的真实效果,主要是采用mental ray 渲染器渲染并得到场景不同角度的效果图。

烘焙深受建模和赋予材质效果的影响,建模过程中每增加一个点一个面对烘焙都是一种负担,而材质贴图的大小也很大程度上影响烘焙的顺利进行。在3ds Max中每修改一个物体,都要把该物体重新烘焙出新的贴图,修改才会有效,这里可以根据烘焙错误物体的个数灵活处理。

4.4 VRP农场演示

农场场景在建模,渲染烘焙完成之后,通过VRP-3ds Max插件将其导入到VRP中进行交互设计。本文在农场场景添加了行走、相机、飞行、旋转以及角色等多个相机,用户可以实现漫游农场的功能。

农场最重要的是实现与用户交互来播种和摘取,VRP提供的脚本编辑器可以实现这些功能,其中包含系统函数,触发函数,自定义函数等。系统函数可以初始化一些模型定义所需的变量。触发函数主要是实现当外界条件发生改变时,系统中模型执行相应的动作或命令,可以通过单击左键实现场景中开门放狗以及栅栏门开关等动作。自定义函数里包括控制点击控件按钮所产生的系统反应函数,同时农作物生长过程的也是通过自定义函数实现的。

为了使场景更加真实,美观,最后为农场添加了天空盒,太阳,阴影,音乐等,让用户快乐地享受播种采摘全过程。调整好VRP场景之后,将该场景生成单机版可执行exe文件,便于在其它计算机上进行演示。

5、结语

本文构建的虚拟三维农场以VRP为平台,实现了具有漫游、播种、采摘等一系列功能的三维可视化仿真。它向我们展示了一个全新意义的农场。随着计算机技术的发展,我们看到了未来开心农场等游戏的一个发展方向以及三维游戏带来的巨大的商业前景,彼时它们即将掀起一轮新的热潮。

参考文献

[1]胡小强.虚拟现实技术[M].北京邮电大学出版社,2005.

[2]卞峰,江漫清.虚拟现实及其应用进展[J].计算机仿真,2007,24(6),1986-1990.

[3]于海凤,邢桂芬,张凯.虚拟现实技术在视景仿真系统中的应用[J].计算机工程与设计,2006.27(6):1108-1110.

上一篇:浅谈电视非线性编辑的基本原理 下一篇:基于Linux5多出口智能DNS的配置