基于UDK的数字校园虚拟现实引擎关键技术的研究

2014-09-24 23:33王涛
软件工程 2014年4期
关键词:数字校园

摘 要:虚拟数字化校园漫游系统是数字化校园建设计划的核心平台。本文首先对目前主流的虚拟可视化开发工具作了介绍,并结合当今最流行的游戏引擎UDK(Unreal Development Kit)和三维设计软件3ds Max的虚拟现实关键技术问题进行了研究,以无锡城市职业技术学院校区为原型,设计并实现了将虚拟现实引擎作为三维动态交互立体数字校园开发平台的核心构件,着重对引擎实现过程中的3ds模型导入进行了解析,包含了材质编辑技术、物理碰撞技术及碰撞检测技术等关键技术。结果表明,上述技术的通用性在虚拟现实引擎中可见一斑,极大地提高了引擎的实用性和执行效率。

关键词:数字校园;UDK虚拟现实引擎;物理碰撞检测技术

中图分类号:TP319.9 文献标识码:A

1 引言(Introduction)

如今虚拟现实(Virtual Reality)技术已被广泛应用于交通模拟、城市规划、虚拟现实、游戏、文物保护及远程教育等领域;基于计算机图形学、交互技术和传感技术多个领域的虚拟现实技术能够通过计算机平台把现实的实景完美逼真的呈现出来,三维立体视觉效果,让使用用户能够以完全沉浸式地对三维虚拟实景进行体验和沟通,达到如临其境的体验感觉,特别是在那些尚未实现、实施的项目或有危险很难实现或实现成本太高的项目中,效益效果就更加明显。“三维虚拟数字校园”因互联网、虚拟现实技术等的日臻成熟应运而生。并引起了学界和学校的高度关注和重视,其中的数字化校园虚拟漫游系统又是数字校园建设计划的核心平台。

2 基于UDK虚拟现实引擎的设计的关键技术研究(Research on key technologies of virtual reality engine design based on UDK)

UDK是由英佩数码公司开发的基于Unreal Engine 3引擎的免费版开发工具,是一套为Xbox 360,DirectX 9/10 PC,P1ayStation 3平台准备的完整的游戏开发构架,对64位HDR高精度多种类光照、高级动态阴影特效和动态渲染均支持,能将数百万个多边形模型才有的高精度在低多边形数量(通常在5000-15000多边形)的模型上表现出来,如此就能用最低的计算资源达到极高画质渲染,满足了虚拟场景的真实感要求。本文我将三维数字校园虚拟场景构建及场景浏览功能通过运用UDK关键技术进行了研究,并予以了设计和实现。

2.1 基于专业三维设计软件设计的模型导入

OpenGL的API是操作系统提供给应用程序的高性能图形及交互场景处理的接口的函数集合,由于缺乏一系列的三维模型的高级命令,如通过点、线、多边形几何图元建立三维模型,但像MAYA、3DMAX等市场流行的建模软件却很容易实现,然而这些三维设计软件对建立的模型却很进行交互控制,因此为了综合三维软件和OpenGL的软件的优势特点,由英佩数码公司开发的基于Unreal Engine 3引擎UDK的优势就凸现了出来,利用UDK开发环境可以导入由专业三维设计软件设计的三维模型,然后进行相应的交互控制设计操作、渲染。这样既减少了建三维模型的时间和难度,更重要的是又提高了虚拟现实引擎的开发速度。

2.2 基于专业三维设计软件设计的模型的导入方法[1]

考虑到无锡城院数字校园的三维立体模型数据量巨大、结构较复杂,UDK开发环境对三维模型文件进行两次转化处理,导入转化处理过程如图1所示。

(1)三维模型文件二进制的转化。

UDK开发环境专业设计了一个读取三维模型数据的主类——3dsToBin类,包含了像T3dsFile类及其他辅助类,来读取导入的三维模型的每个块的数据,根据ID块头所含的信息将其以二进制缓存数组的方式存在二进制文件当中,并设计了一个关联索引数组把相关的数据信息关联起来。

(2)将导入的二进制文件存储的信息再还原转化为三维场景中的几何节点信息。

无锡城院数字校园三维模型信息,包含每个节点的顶点、法向量、颜色信息、纹理及标识及位置的顺序数字代码,这些信息存储在缓存中,其对应的纹理是通过数组列表方法与其相关联,以二进制文件作为参数加载在UDK引擎当中,作为构建三维虚拟场景的依据。

2.3 UDK材质编辑与设计

UDK材质主要使用了抽象基类MaterialInterface(材质接口)。这个类是已应用的材质的表达式和参数值的接口。Material(材质)类是定义了表达式和默认参数值的MaterialInterface的子类。材质实例常量和随时间变化的材质实例类是有一个MaterialInstance父类的MaterialInterface的子类。这些类型都会从它们的父类中继承它们的表达式和参数值,可以选择重新载入某些参数值或对其进行动画处理。图2显示了材质通道、材质节点和材质表达式三者之间的关系,最终材质设定好以后呈现出如图2所示的效果。

2.4 基于UDK引擎虚拟校园的仿真技术——物理碰撞技术及碰撞检测技术[2,3]

为了防止在虚拟环境中出现物体交叉或物体相互进入等反自然的现象,增强仿真度,UDK引擎中引入了物理碰撞及碰撞检测技术,在UDK中有只能均匀缩放的球体碰撞体,有既能均匀缩放又能沿着其长或宽方向缩放的胶囊体碰撞体,更有既可均匀又可非均匀缩放的盒体碰撞体。UDK开发环境使用phat修改器能够非常便捷的修改物理资源的碰撞物体。打开phat中的phys_ capsule3 physics,就能看到物理资源体周围环绕着线框球体或胶囊体,这些线框就是该物体骨骼的碰撞物体,通过单击simulate(模拟)按钮甚至可以看到物体行为的模拟效果,再单击就可停止。用左击选择一个碰撞物体,橙色高亮显示表示被选择了,可直接与其相邻的单元则变成白色。则表示这些碰撞体间的碰撞已经被禁止了,原因是约束正在处理它们之间的相互作用。

三维动态交互立体三维数字校园的人物模型在走动观看的时候,独创设计并实现了Capsule包围盒碰撞检测方法,避免不符合自然现象的情况出现如人物沿着墙壁走上去或从障碍物中穿过等。如果人物模型与另一个模型对象发生了碰撞,通过两个测试的对象外包围盒的相交情况就可判断,从而对虚拟人物的位置方向做相应的调整,继续前行。如图3所示。

3 结论(Conclusion)

本研究以无锡城市职业技术学院数字校园为例,旨在探讨基于虚拟现实的数字化校园的关键技术实现,结合UDK虚拟现实引擎的应用开发技术,深入探讨了三维动态交互立体数字校园开发平台中所应用到的几项关键技术:三维立体模型导入及方法、材质编辑技术、物理碰撞技术及碰撞检测技术等,为三维数字虚拟化校园建设探索了一种新的思路。

参考文献(References)

[1] 王涛.中文3ds max三维动画基础与实例教程[M].北京:研究出版社,2008.

[2] 刘陈勇,马纯永,陈戈.基于VC/open GI的虚拟海大校园导航系统[J].计算机辅助设计与图形学学报.2007,19(2):263-267.

[3] Gerard F. Fibre optic sensor systems for monitoring compositestructures[J]. Reinforced Plastics,2005,49(11):41-49.

作者简介:

王 涛(1969-),男,硕士,副教授.研究领域:计算机应用、多媒体技术、虚拟现实及增强现实技术.endprint

摘 要:虚拟数字化校园漫游系统是数字化校园建设计划的核心平台。本文首先对目前主流的虚拟可视化开发工具作了介绍,并结合当今最流行的游戏引擎UDK(Unreal Development Kit)和三维设计软件3ds Max的虚拟现实关键技术问题进行了研究,以无锡城市职业技术学院校区为原型,设计并实现了将虚拟现实引擎作为三维动态交互立体数字校园开发平台的核心构件,着重对引擎实现过程中的3ds模型导入进行了解析,包含了材质编辑技术、物理碰撞技术及碰撞检测技术等关键技术。结果表明,上述技术的通用性在虚拟现实引擎中可见一斑,极大地提高了引擎的实用性和执行效率。

关键词:数字校园;UDK虚拟现实引擎;物理碰撞检测技术

中图分类号:TP319.9 文献标识码:A

1 引言(Introduction)

如今虚拟现实(Virtual Reality)技术已被广泛应用于交通模拟、城市规划、虚拟现实、游戏、文物保护及远程教育等领域;基于计算机图形学、交互技术和传感技术多个领域的虚拟现实技术能够通过计算机平台把现实的实景完美逼真的呈现出来,三维立体视觉效果,让使用用户能够以完全沉浸式地对三维虚拟实景进行体验和沟通,达到如临其境的体验感觉,特别是在那些尚未实现、实施的项目或有危险很难实现或实现成本太高的项目中,效益效果就更加明显。“三维虚拟数字校园”因互联网、虚拟现实技术等的日臻成熟应运而生。并引起了学界和学校的高度关注和重视,其中的数字化校园虚拟漫游系统又是数字校园建设计划的核心平台。

2 基于UDK虚拟现实引擎的设计的关键技术研究(Research on key technologies of virtual reality engine design based on UDK)

UDK是由英佩数码公司开发的基于Unreal Engine 3引擎的免费版开发工具,是一套为Xbox 360,DirectX 9/10 PC,P1ayStation 3平台准备的完整的游戏开发构架,对64位HDR高精度多种类光照、高级动态阴影特效和动态渲染均支持,能将数百万个多边形模型才有的高精度在低多边形数量(通常在5000-15000多边形)的模型上表现出来,如此就能用最低的计算资源达到极高画质渲染,满足了虚拟场景的真实感要求。本文我将三维数字校园虚拟场景构建及场景浏览功能通过运用UDK关键技术进行了研究,并予以了设计和实现。

2.1 基于专业三维设计软件设计的模型导入

OpenGL的API是操作系统提供给应用程序的高性能图形及交互场景处理的接口的函数集合,由于缺乏一系列的三维模型的高级命令,如通过点、线、多边形几何图元建立三维模型,但像MAYA、3DMAX等市场流行的建模软件却很容易实现,然而这些三维设计软件对建立的模型却很进行交互控制,因此为了综合三维软件和OpenGL的软件的优势特点,由英佩数码公司开发的基于Unreal Engine 3引擎UDK的优势就凸现了出来,利用UDK开发环境可以导入由专业三维设计软件设计的三维模型,然后进行相应的交互控制设计操作、渲染。这样既减少了建三维模型的时间和难度,更重要的是又提高了虚拟现实引擎的开发速度。

2.2 基于专业三维设计软件设计的模型的导入方法[1]

考虑到无锡城院数字校园的三维立体模型数据量巨大、结构较复杂,UDK开发环境对三维模型文件进行两次转化处理,导入转化处理过程如图1所示。

(1)三维模型文件二进制的转化。

UDK开发环境专业设计了一个读取三维模型数据的主类——3dsToBin类,包含了像T3dsFile类及其他辅助类,来读取导入的三维模型的每个块的数据,根据ID块头所含的信息将其以二进制缓存数组的方式存在二进制文件当中,并设计了一个关联索引数组把相关的数据信息关联起来。

(2)将导入的二进制文件存储的信息再还原转化为三维场景中的几何节点信息。

无锡城院数字校园三维模型信息,包含每个节点的顶点、法向量、颜色信息、纹理及标识及位置的顺序数字代码,这些信息存储在缓存中,其对应的纹理是通过数组列表方法与其相关联,以二进制文件作为参数加载在UDK引擎当中,作为构建三维虚拟场景的依据。

2.3 UDK材质编辑与设计

UDK材质主要使用了抽象基类MaterialInterface(材质接口)。这个类是已应用的材质的表达式和参数值的接口。Material(材质)类是定义了表达式和默认参数值的MaterialInterface的子类。材质实例常量和随时间变化的材质实例类是有一个MaterialInstance父类的MaterialInterface的子类。这些类型都会从它们的父类中继承它们的表达式和参数值,可以选择重新载入某些参数值或对其进行动画处理。图2显示了材质通道、材质节点和材质表达式三者之间的关系,最终材质设定好以后呈现出如图2所示的效果。

2.4 基于UDK引擎虚拟校园的仿真技术——物理碰撞技术及碰撞检测技术[2,3]

为了防止在虚拟环境中出现物体交叉或物体相互进入等反自然的现象,增强仿真度,UDK引擎中引入了物理碰撞及碰撞检测技术,在UDK中有只能均匀缩放的球体碰撞体,有既能均匀缩放又能沿着其长或宽方向缩放的胶囊体碰撞体,更有既可均匀又可非均匀缩放的盒体碰撞体。UDK开发环境使用phat修改器能够非常便捷的修改物理资源的碰撞物体。打开phat中的phys_ capsule3 physics,就能看到物理资源体周围环绕着线框球体或胶囊体,这些线框就是该物体骨骼的碰撞物体,通过单击simulate(模拟)按钮甚至可以看到物体行为的模拟效果,再单击就可停止。用左击选择一个碰撞物体,橙色高亮显示表示被选择了,可直接与其相邻的单元则变成白色。则表示这些碰撞体间的碰撞已经被禁止了,原因是约束正在处理它们之间的相互作用。

三维动态交互立体三维数字校园的人物模型在走动观看的时候,独创设计并实现了Capsule包围盒碰撞检测方法,避免不符合自然现象的情况出现如人物沿着墙壁走上去或从障碍物中穿过等。如果人物模型与另一个模型对象发生了碰撞,通过两个测试的对象外包围盒的相交情况就可判断,从而对虚拟人物的位置方向做相应的调整,继续前行。如图3所示。

3 结论(Conclusion)

本研究以无锡城市职业技术学院数字校园为例,旨在探讨基于虚拟现实的数字化校园的关键技术实现,结合UDK虚拟现实引擎的应用开发技术,深入探讨了三维动态交互立体数字校园开发平台中所应用到的几项关键技术:三维立体模型导入及方法、材质编辑技术、物理碰撞技术及碰撞检测技术等,为三维数字虚拟化校园建设探索了一种新的思路。

参考文献(References)

[1] 王涛.中文3ds max三维动画基础与实例教程[M].北京:研究出版社,2008.

[2] 刘陈勇,马纯永,陈戈.基于VC/open GI的虚拟海大校园导航系统[J].计算机辅助设计与图形学学报.2007,19(2):263-267.

[3] Gerard F. Fibre optic sensor systems for monitoring compositestructures[J]. Reinforced Plastics,2005,49(11):41-49.

作者简介:

王 涛(1969-),男,硕士,副教授.研究领域:计算机应用、多媒体技术、虚拟现实及增强现实技术.endprint

摘 要:虚拟数字化校园漫游系统是数字化校园建设计划的核心平台。本文首先对目前主流的虚拟可视化开发工具作了介绍,并结合当今最流行的游戏引擎UDK(Unreal Development Kit)和三维设计软件3ds Max的虚拟现实关键技术问题进行了研究,以无锡城市职业技术学院校区为原型,设计并实现了将虚拟现实引擎作为三维动态交互立体数字校园开发平台的核心构件,着重对引擎实现过程中的3ds模型导入进行了解析,包含了材质编辑技术、物理碰撞技术及碰撞检测技术等关键技术。结果表明,上述技术的通用性在虚拟现实引擎中可见一斑,极大地提高了引擎的实用性和执行效率。

关键词:数字校园;UDK虚拟现实引擎;物理碰撞检测技术

中图分类号:TP319.9 文献标识码:A

1 引言(Introduction)

如今虚拟现实(Virtual Reality)技术已被广泛应用于交通模拟、城市规划、虚拟现实、游戏、文物保护及远程教育等领域;基于计算机图形学、交互技术和传感技术多个领域的虚拟现实技术能够通过计算机平台把现实的实景完美逼真的呈现出来,三维立体视觉效果,让使用用户能够以完全沉浸式地对三维虚拟实景进行体验和沟通,达到如临其境的体验感觉,特别是在那些尚未实现、实施的项目或有危险很难实现或实现成本太高的项目中,效益效果就更加明显。“三维虚拟数字校园”因互联网、虚拟现实技术等的日臻成熟应运而生。并引起了学界和学校的高度关注和重视,其中的数字化校园虚拟漫游系统又是数字校园建设计划的核心平台。

2 基于UDK虚拟现实引擎的设计的关键技术研究(Research on key technologies of virtual reality engine design based on UDK)

UDK是由英佩数码公司开发的基于Unreal Engine 3引擎的免费版开发工具,是一套为Xbox 360,DirectX 9/10 PC,P1ayStation 3平台准备的完整的游戏开发构架,对64位HDR高精度多种类光照、高级动态阴影特效和动态渲染均支持,能将数百万个多边形模型才有的高精度在低多边形数量(通常在5000-15000多边形)的模型上表现出来,如此就能用最低的计算资源达到极高画质渲染,满足了虚拟场景的真实感要求。本文我将三维数字校园虚拟场景构建及场景浏览功能通过运用UDK关键技术进行了研究,并予以了设计和实现。

2.1 基于专业三维设计软件设计的模型导入

OpenGL的API是操作系统提供给应用程序的高性能图形及交互场景处理的接口的函数集合,由于缺乏一系列的三维模型的高级命令,如通过点、线、多边形几何图元建立三维模型,但像MAYA、3DMAX等市场流行的建模软件却很容易实现,然而这些三维设计软件对建立的模型却很进行交互控制,因此为了综合三维软件和OpenGL的软件的优势特点,由英佩数码公司开发的基于Unreal Engine 3引擎UDK的优势就凸现了出来,利用UDK开发环境可以导入由专业三维设计软件设计的三维模型,然后进行相应的交互控制设计操作、渲染。这样既减少了建三维模型的时间和难度,更重要的是又提高了虚拟现实引擎的开发速度。

2.2 基于专业三维设计软件设计的模型的导入方法[1]

考虑到无锡城院数字校园的三维立体模型数据量巨大、结构较复杂,UDK开发环境对三维模型文件进行两次转化处理,导入转化处理过程如图1所示。

(1)三维模型文件二进制的转化。

UDK开发环境专业设计了一个读取三维模型数据的主类——3dsToBin类,包含了像T3dsFile类及其他辅助类,来读取导入的三维模型的每个块的数据,根据ID块头所含的信息将其以二进制缓存数组的方式存在二进制文件当中,并设计了一个关联索引数组把相关的数据信息关联起来。

(2)将导入的二进制文件存储的信息再还原转化为三维场景中的几何节点信息。

无锡城院数字校园三维模型信息,包含每个节点的顶点、法向量、颜色信息、纹理及标识及位置的顺序数字代码,这些信息存储在缓存中,其对应的纹理是通过数组列表方法与其相关联,以二进制文件作为参数加载在UDK引擎当中,作为构建三维虚拟场景的依据。

2.3 UDK材质编辑与设计

UDK材质主要使用了抽象基类MaterialInterface(材质接口)。这个类是已应用的材质的表达式和参数值的接口。Material(材质)类是定义了表达式和默认参数值的MaterialInterface的子类。材质实例常量和随时间变化的材质实例类是有一个MaterialInstance父类的MaterialInterface的子类。这些类型都会从它们的父类中继承它们的表达式和参数值,可以选择重新载入某些参数值或对其进行动画处理。图2显示了材质通道、材质节点和材质表达式三者之间的关系,最终材质设定好以后呈现出如图2所示的效果。

2.4 基于UDK引擎虚拟校园的仿真技术——物理碰撞技术及碰撞检测技术[2,3]

为了防止在虚拟环境中出现物体交叉或物体相互进入等反自然的现象,增强仿真度,UDK引擎中引入了物理碰撞及碰撞检测技术,在UDK中有只能均匀缩放的球体碰撞体,有既能均匀缩放又能沿着其长或宽方向缩放的胶囊体碰撞体,更有既可均匀又可非均匀缩放的盒体碰撞体。UDK开发环境使用phat修改器能够非常便捷的修改物理资源的碰撞物体。打开phat中的phys_ capsule3 physics,就能看到物理资源体周围环绕着线框球体或胶囊体,这些线框就是该物体骨骼的碰撞物体,通过单击simulate(模拟)按钮甚至可以看到物体行为的模拟效果,再单击就可停止。用左击选择一个碰撞物体,橙色高亮显示表示被选择了,可直接与其相邻的单元则变成白色。则表示这些碰撞体间的碰撞已经被禁止了,原因是约束正在处理它们之间的相互作用。

三维动态交互立体三维数字校园的人物模型在走动观看的时候,独创设计并实现了Capsule包围盒碰撞检测方法,避免不符合自然现象的情况出现如人物沿着墙壁走上去或从障碍物中穿过等。如果人物模型与另一个模型对象发生了碰撞,通过两个测试的对象外包围盒的相交情况就可判断,从而对虚拟人物的位置方向做相应的调整,继续前行。如图3所示。

3 结论(Conclusion)

本研究以无锡城市职业技术学院数字校园为例,旨在探讨基于虚拟现实的数字化校园的关键技术实现,结合UDK虚拟现实引擎的应用开发技术,深入探讨了三维动态交互立体数字校园开发平台中所应用到的几项关键技术:三维立体模型导入及方法、材质编辑技术、物理碰撞技术及碰撞检测技术等,为三维数字虚拟化校园建设探索了一种新的思路。

参考文献(References)

[1] 王涛.中文3ds max三维动画基础与实例教程[M].北京:研究出版社,2008.

[2] 刘陈勇,马纯永,陈戈.基于VC/open GI的虚拟海大校园导航系统[J].计算机辅助设计与图形学学报.2007,19(2):263-267.

[3] Gerard F. Fibre optic sensor systems for monitoring compositestructures[J]. Reinforced Plastics,2005,49(11):41-49.

作者简介:

王 涛(1969-),男,硕士,副教授.研究领域:计算机应用、多媒体技术、虚拟现实及增强现实技术.endprint

猜你喜欢
数字校园
上下联动深度融合实现空间和资源服务新突破
数字校园环境下网络教育资源建设探讨
论数字校园环境下高校教学资源的整合运行策略
校园App的设计与营销
基于Direct3D的三维虚拟校园交互式漫游系统
浅论智能管理数字校园建设
基于数字校园的高校固定资产协同管理系统设计与应用
按需完善的教务应用系统助教学与管理事半功倍
基于云端的高校数字化校园云安全技术研究