您好, 访客   登录/注册

数字校园基于UDK的实现

来源:用户上传      作者: 邓世垠

  摘 要:数字校园是校园信息化建设的重要组成部分,建立虚拟现实的三维校园的通常做法是使用VRML、C++或其它语言。本文在数字校园的三维地图研究中讨论了虚拟现实的几项常用技术,再从整个项目的设计制作流程出发,结合三维游戏引擎大幅提高了操作与执行效率,以实现漫游引擎的主要功能。
  关键词:虚拟现实;数字校园;三维游戏引擎;UDK
  中图分类号:TP311
  随着三维图形技术的发展,为实际建筑和景观建立三维地图具有了更现实的意义。用3D场景取代传统的平面地图,用3D模型代替抽象的地图符号,能给观众带来更直观的感受。此外,结合地理信息系统(Geographic Information System,简称GIS)能够完成一些平面地图无法完成的分析,结合虚拟现实技术(Virtual Reality,简称VR)能让用户在场景中漫游或与其中的物体互动,从而成为更有效的认知工具。
  本文以阿坝师范高等专科学校在震后重建的校园为研究对象,通过建立三维校园模型,实现虚拟漫游,方便用户从各个角度更真切地了解校园,同时也对虚拟现实的三维建模、渲染和交互进行了研究,对快速建立三维场景提供了一定的参考。
  1 相关技术
  具有交互性的虚拟场景是建筑模型与计算实体的集合。对于建筑模型,使用如3dsmax这样的专业软件能建立精致的3D对象,并通过预渲染的方式来展示。但只使用3dsmax并不能实现3D场景的实时交互,VR技术则通过对3D对象实时运算很好地解决了这一问题。本文使用3dsmax建立3D校园模型,VR技术提供算法充当用户与3D校园模型的中介,但如何高效率地实现这种交互值得研究。
  通常认为,VR应该具有:
  (1)交互性(Interactivity),即用户可以使用场景内的物体并获得反馈。
  (2)沉浸感(Immersion),即用户感觉的虚拟场景的真实程度。
  (3)可构想性(Imagination),指不仅可以再现真实存在的场景,也可以构想现实中不存在甚至不可能的环境。
  目前在Internet上制作基于WWW的三维互动网站的主流工具是VRML(Virtual Reality Modeling Language),即虚拟现实建模语言。VRML使用较简单的图元来绘制较复杂的二维和三维对象,2.0版本进一步地在之前版本智能创建静态景物的基础上增加了用户可以操作的行为,能够满足基本的交互需求,因此也经常被用来实现在浏览器上展示的3D场景。VRML的优点在于它是跨平台的模型语言,只需要一个文本编辑器和一个支持VRML的浏览器就能实现,而且结合其它语言有一定的扩展能力。但是因为涉及复杂的网络环境,还要考虑代码在浏览器上执行的效率,VRML不太适合展示不规则物体和复杂场景,在表现VR的三个特性上相对力不从心。
  另一个方法是建立在DirectX或OpenGL等基础上的,使用特定的编程语言,如C++,通过API函数实现具有丰富媒体元素的应用程序。此类开发平台特别擅长图形API,在声音、控制、网络部分也有提供专业的支持,可以满足VR的各种要求。但是这些多媒体编程接口对自身的运行环境有严格的规定,原理也比较复杂,学习和使用起来比较费时费力。
  本文考虑取一个折衷的方法,选择现成的3D游戏引擎来实现。3D游戏引擎是为制作游戏而事先编制好的一套处理图形和物理特性并实现交互的开发工具包,集成了与DirectX相同或相似的API,并且提供了类似3dsmax那样直观的开发环境,使我们能较容易和快速地实现目标程序。
  此外还有一些别的技术,如3D的GIS和全景图等,本文不再讨论。
  2 分析、设计与制作
  2.1 资料的收集与整理
  数字校园的模型应以数据为中心,凭想象建模是靠不住的,建模的过程其实就是数据收集、分析与应用的过程。采集数据时常用的手段包括摄影、手绘、实地测量和参考建筑施工图等。因为适逢学校震后搬迁重建,有较完备和准确的图纸,这给接下来的建模带来了很大便利。
  在有工程图纸可以使用的场合,建议在将CAD图纸导入建模工具之前进行一定整理,删除多余的图层和图形。在没有图纸的情况下,也可以借助卫星地图以及实地拍摄与测量来绘制图纸。
  2.2 建模
  本文在建模中使用了自顶向下的策略。在3dsmax中设置好单位后,首先在顶视图中导入经过整理的平面图,将其中所有的样条线成组并移动到坐标原点。之后冻结所有对象,捕捉并绘制所有建筑的俯视轮廓,据此生成简单模型。
  建模时有如下需要注意的事项:
  (1)不用追求1:1建模,但各模型比例应该一致。
  (2)绘制时不应该为了追求精确度和完整性严格捕捉所有的点和线条,以免面数和模型数过多。
  (3)每绘制一个对象都必须恰当命名。
  (4)建模的同时赋予材质,不一定需要制作具体的材质和贴图,但同样必须恰当命名。
  将简模作为项目的基本增量,把需要建立更精细模型的建筑选中并导出,在单独的文件中参考更详细的CAD图纸或数据来制作。使用增量的好处是可以很快展示项目成果,也方便团队合作与测试。至于其它小品景观、植被与灯光等,在3D引擎中会有更有效的处理方式,因此不在建模软件中处理。
  2.3 将模型导入3D引擎
  3D引擎的选择很多,可以自己编写也可以使用成熟的引擎,本文选择UDK(Unreal Development Kit)来接手3dsmax的工作。虚幻引擎是商业性的3D游戏开发引擎,UDK则是其免费的版本,可以用来创建非商业目的的独立游戏或应用程序。
  UDK对导入的模型有比较严格的要求,导入前整理模型同样是必要的:   (1)单个模型的面数不能多于65535,因此导入前应对不再修改的模型作塌陷及合并。
  (2)贴图使用.tga格式,其中无alpha通道的贴图为24位的,带通道为32位。
  (3)所有文件都不可有中文路径。
  在3dsmax中将模型导出为.ase格式或.fbx格式,然后打开UDK的编辑器,将其导入到内容浏览器中。在3dsmax中制作了贴图的话,同样将贴图导入,然后在内容浏览器中创建材质并链接到模型即可。如果之前在3dsmax中的操作足够细致与规范,那在UDK中的工作量会比较小。
  但是UDK默认的工作项目是第一人称射击游戏,系统上与3D场景的漫游有一定区别,因此还需要做一些修改。除了在UDK中将游戏类型设置为None,还需要通过控制台去掉像角色生命值一类有明显游戏特征的界面。
  对于其它的功能性修改,由于本文使用的是免费版的UDK,没有源代码级授权,一般是通过添加子类的方式来实现。例如,想要修改默认的绑定角色的摄影机视角,首先在项目文件夹下新建Classes目录添加新摄影机。
  class NewCamera extends Camera;
  simulated event PostBeginPlay()
  {
  super.PostBeginPlay();
  }
  接着添加一个GamePawn的子类,在其中定义:
  simulated function name GetDefaultCameraMode( PlayerController RequestedBy )
  {
  return ‘NewCameraStyle';
  }
  然后在NewCamera.uc中将自定义“NewCameraStyle”的参数写进switch(CameraStyle)部分,再将相关的文件都通过代码绑定起来。
  还有很多功能可以添加,比如用摄影机动画提供场景的自动展示,或者添加脚本设置更多的交互事件,以及设计合理的GUI等。最后通过测试,便可以将整个项目打包发布。
  3 结语
  通过快速地建立3D虚拟校园并提供漫游,可以在数字层面上展示和宣传学校,也对学校规划提供一定的便利,适应学校信息化建设的需要。以数字校园的3D地图为基础,可以进一步扩展成结合网络的,对教学、科研、管理、生活服务等校园信息进行收集、整理与应用的虚拟教育环境,这涉及对更多对象,如教学设备、教学资源、学校相关信息的数字化。
  不仅是校园,像是旅游景点、博物馆或有展示需要的单位,都可以应用这样的3D地图形式。而且现在虚幻引擎已经可以在浏览器中运行,这可以进一步推动3D虚拟场景成为单位信息化建设的重要组成部分。
  参考文献:
  [1]Games E.Unreal Development Kit (UDK)[J].URL:http://www.udk.com/[1.9.2010],2009.
  [2]Kauff P,Schreer O.An immersive 3D video-conferencing system using shared virtual team user environments[C]//Proceedings of the 4th international conference on Collaborative virtual environments.ACM,2002:105-112.
  [3]Hamilton A,Wang H,Tanyer A M,et al. Urban information model for city planning[J].Journal of Information Technology in Construction (ITCon),2005,10:55-67.
  [4]符强.基于VRML的虚拟校园的设计与实现[J].电脑知识与技术(学术交流),2007,3(15).
  [5]陈阿林,胡朝晖,祁相志.校园虚拟现实三维场景建模技术及实现方法研究[J].重庆师范大学学报(自然科学版),2007,24(4):1-4.
  作者简介:邓世垠(1980.04-),男,湖北人,本科,讲师,主要研究方向:软件工程;图形图像。
  作者单位:阿坝师范高等专科学校,四川汶川 623002
转载注明来源:https://www.xzbu.com/8/view-5255700.htm