虚拟引擎

2024-06-24

虚拟引擎(精选六篇)

虚拟引擎 篇1

关键词:虚拟现实,漫游系统,实时绘制

0 引言

近年来,虚拟现实环境技术逐渐成为计算机图形学领域的热点研究问题,它具有多感知性、沉浸性、交互性、构想性等特征。随着计算机硬件技术的飞速发展以及成本的大幅降低,虚拟现实技术在医学、建筑、制造、娱乐、电子竞技、军事等领域获得了广泛的应用。虚拟环境漫游导航是虚拟现实应用技术的基本功能之一,构造一个虚拟现实环境漫游系统,就是利用高性能计算机软硬件创建使参与者具有身临其境的沉浸感和良好的人机交互能力的一个过程。

由于虚拟现实环境系统本身的复杂性,另外缺乏相应的编辑工具和编辑软件支撑,这使得开发虚拟漫游系统是一项费时费力的工程,并且也很难重复利用已有的项目代码[1]。为了实现漫游程序的快速开发,国内外研究人员都试图将漫游应用的共性抽取出来,开发一套支持虚拟环境漫游的核心程序,在较大程度上实现代码重用,避免重复劳动,加速开发进程,因此游戏引擎成为构建三维虚拟漫游系统的首选基础平台[2]。国内方面,北京航空航天大学的赵沁平教授提出了一种较为通用的、与模型无关的虚拟环境漫游引擎框架结构[3];国外方面,匹兹堡大学J.Jacobson等人利用虚幻引擎技术开发出了一种虚拟环境系统Cave UT[4]。然而,直接使用游戏引擎虽然可在一定程度上实现代码重用,但仍然不能有效解决虚拟场景的自动化构建问题。基于此,我们实现了一套基于游戏引擎的三维虚拟环境漫游系统框架,对场景构建、人机交互、场景的实时绘制等提供了完善可行的支持,并通过实现一个漫游系统原型,来测试了其有效性和可行性。

1 系统架构

本开发框架具有较强的通用性和可扩展性,任何支持实时渲染的游戏引擎都可被集成于该框架用以构建虚拟场景。系统框架如图1所示,框架的整体设计采用了MVC(Model-ViewController)模式,其中Model封装内部数据与功能,View从Model中获取信息并向用户显示,Controller从View中接收用户输入并反映到Model,使系统可以灵活地适应用户动态多变的功能界面需求。

如图1中所示,输入模块用于处理用户与系统之间的交互。为了支持尽可能多的人机交互设备,我们可基于设备的交互属性对各种交互设备进行分类,在具体实现中,我们以传递信息的维度进行设备分类,将交互设备抽象为鼠标、键盘和六维力反馈摇杆等三个类别。网络模块基于典型的C-S(Client-Server)模式通过本地局域网或者因特网将远程用户连接起来。场景管理模块负责管理场景模型,包括场景的建模、变换、编辑、导入和导出等。物理模拟模块包括动力学、运动学、碰撞检测等子功能模块,可实现虚拟人物角色与周围环境在物理上的交互。多媒体模块主要负责处理程序中的声音、视频等多媒体资源,使得用户和系统之间可以通过多通道进行交互,增加用户的沉浸感,并提升系统的人机交互能力。绘制模块建立在游戏引擎的渲染模块之上,用以实现虚拟场景的可视化。漫游管理模块从网络模块以及各种人机交互模块接收用户的各类控制指令,并调用控制模块指导用户的虚拟化身在虚拟场景中的漫游。

2 关键技术

用户可以和虚拟环境进行实时交互是虚拟漫游系统最重要的特性之一。为了快速实现三维虚拟环境漫游系统,我们采用成熟的游戏引擎技术来加速系统开发,并采用游戏引擎关键技术来优化三维虚拟环境漫游系统的导航性能,这些技术包括3D虚拟场景的编辑和构建、3D虚拟场景的实时绘制、虚拟场景的高级视觉效果,以及各种虚拟场景的物理模拟等,这些关键技术的应用使得用户可以在当前主流配置的PC机上流畅地进行系统漫游。

2.1 3D场景的构建

快速虚拟环境建模是分布式虚拟环境的关键问题之一[5],我们根据虚拟漫游系统的特点开发了方便易用的场景编辑器来构建虚拟场景。场景数据以场景图的形式进行组织,整个场景图由场景节点构成树形的层次结构,并保存为通用的XML文件格式。通过场景编辑器,开发者可以应用编辑器的接口函数来加载场景数据文件,从而实现3D虚拟场景的自动化快速构建。为了实现对大规模3D场景的实时智能加载,可将整个大规模场景看成块的集合。将块视为基本的模型单元,通过对块的大小和边界统一标准,块与块之间可以实现平滑连接。在上述处理的基础上,首先对整个场景进行分块建模,然后根据用户的当前视角,自动将用户视角内的可见区域中的场景块自动加载和拼接,从而有效提高了大规模场景的模型加载效率。

2.2 3D场景的实时绘制

大型复杂场景模型的绘制对计算机的性能要求往往超出当前图形硬件的处理能力,我们开发的三维虚拟场景漫游系统框架采用细节层次LOD(level of detail)技术[6]来支持用户对三维场景的实时绘制,其允许用户根据具体计算机的硬件配置来设定渲染速度和渲染质量。LOD技术应用具有多层次结构的物体集合来描述一个具体场景,即一个场景中的物体具有多个模型,每个模型细节的描述程度各不相同;在实时显示场景模型时,模型细节描述程度的选择取决于物体的重要程度。对于复杂的大范围室外场景,LOD技术能在保持一定图像质量的前提下大幅增强系统的绘制质量和实时显示性能。

针对室内场景的绘制,我们采用了入口裁剪技术来剔除那些不能通过入口(例如室内场景中的门窗等)看到的场景,进而优化系统性能,实现提高帧率的目标。具体实现时,我们将整个场景划分为一系列的单位空间,各个单位空间通过入口相互连接,位于一个单位空间中的视点只能通过其入口来观察其他相邻空间。当通过一个指定观察位置的可视平截体进行场景渲染时,如果一个入口出现在可视范围内,那么入口将对可视平截体进行剪切,这样与其相连的单元空间将会通过一个观察位置相同但已经改变过的可视平截体进行渲染。由于可视平截体被portal进行了精确的限制,因此可以轻松剔除被隐藏的物体。上述方法不仅执行起来非常简单,而且非常适合通过递归调用实现。

2.3 高级视觉效果

为了增加虚拟环境的真实性,我们应用了一系列高级着色技术来实现动态的时间系统和辉光效果,从而有效增强了用户的沉浸感;同时用户可以根据个人习惯或机器配置来确定是否启用这些特效。例如,昼夜的动态变化可通过天空的变化以及虚拟场景中光线的变化来实现。我们采用Sky Dome的方式来模拟天空,Sky Dome是一个很大的半球,基于其高度和半径两个参数,通过给Sky Dome添加效果材质,我们可以非常方便地实现天空的各种动态效果。具体的效果材质对应一个效果资源,效果资源是一个以高级着色语言HLSL(high level shading language)写成的着色器程序,通常是一个以.fx后缀结尾的文件。在我们实现的三维虚拟环境漫游系统中,我们使用Lucid提供的Sky Cloud.fx效果文件,通过设定一个时间变量,动态计算出当前环境中平行光源的漫反射、镜面反射、环境分量,这样即实现了夜晚光线变暗,到中午光线逐渐增至最强的动态变化过程。

2.4 基于物理的模拟

由于虚拟场景的物理效果对于增强用户的沉浸式体验起着至关重要的作用,我们开发的虚拟场景漫游系统集成了ODE等开源物理引擎的功能接口,可以很好地实现虚拟场景中的碰撞检测、人物交错、人人互动等各种物理模拟。同时,该漫游系统还支持对虚拟人的动力学和运动学模拟,例如虚拟人的手拿起重物之后,受力作用会通过手腕传递到小臂以及胳膊上肢部位。通过这种真实的物理场景模拟,可使场景中的人体模型和周围环境紧密结合起来,大大增加虚拟场景的真实感和多自由度场景控制的精确性。

3 运行结果

我们基于开发的三维虚拟现实场景漫游系统框架,初步实现了一个具有城市小区场景的虚拟漫游系统原型来测试其效果和性能。测试环境选用Pentium IV 2.0/1G内存/7300GT显卡的主流消费级PC机。图2给出了不同场景下的运行效果示意图,其中图2(a)为室外场景漫游效果,图2(b)为室内场景漫游效果,图2(c)为采用了GPU硬件加速的天空动态浮云特效,图2(d)为使用了LOD技术的大规模室外场景实时漫游效果。在三维虚拟场景图片总数达1000万时,实时绘制速度可达到45帧/秒左右,远高于人体视觉连续性24帧/秒的要求。

4 结语

三维游戏既是虚拟现实环境技术重要的应用方向之一,也为虚拟现实环境技术的快速发展起了巨大的需求牵引和技术推动作用。游戏引擎特别是网络游戏引擎,对开发基于普通PC的虚拟现实场景漫游系统提供了基础平台。基于游戏引擎,我们所开发的虚拟现实场景漫游系统通用框架可进一步提高此类应用系统开发的自动化程度。

参考文献

[1]赵沁平.虚拟现实综述[J].中国科学F辑:信息科学,2009,39(1):2-46.

[2]Peter Frst,Peter Warren.Virtual reality used in a collaborative archi-tectural design process[C]//The fourth international conference on in-formation visualization,London England,2000:568-572.

[3]赵沁平,郝爱民,王莉莉,等.实时三维图形平台BH_GRAPH[J].计算机研究与发展,2006,43(9):1491-1497.

[4]Jacobson J,Le Renard M,Lugrin J L,et al.The CaveUT system:im-mersive entertainment based on a game engine[C]//Proceedings of the 2005ACM SIGCHI international conference on advances in computer entertainment technology,Valencia,Spain,2005:184-187.

[5]潘志庚,姜晓红,张明敏,等.分布式虚拟环境综述[J].软件学报,2000,11(4):461-467.

虚拟引擎 篇2

根据地铁反恐实战模拟演练的需要,以地铁火灾事件处置为例,采用游戏引擎技术,开发了地铁3维虚拟演练系统,对地铁内部环境进行了逼真模拟,在3维环境下,实现了信息查询、多媒体信息关联展示、动态视频调用等功能,并可以动态操作控制3维虚拟对象,进行事件的`动态处置,在基于3维的虚拟演练方面,做了有益的探索与尝试.

作 者:贺日兴 李家龙 董红路 张皓 丘京松 张瑾 HE Ri-xing LI Jia-long DONG Hong-lu ZHANG Hao QIU Jing-song ZHANG Jin  作者单位:贺日兴,李家龙,董红路,张皓,HE Ri-xing,LI Jia-long,DONG Hong-lu,ZHANG Hao(北京市公安局信息中心,北京,100740)

丘京松,张瑾,QIU Jing-song,ZHANG Jin(北京动力时空科技发展有限公司,北京,100083)

刊 名:地理信息世界  ISTIC英文刊名:GEOMATICS WORLD 年,卷(期):2008 06(3) 分类号:P208 关键词:地铁反恐   虚拟演练   游戏引擎技术   3维  

★ 技术项目开发合同书

★ 技术委托开发合同范本

★ 技术实现影响因素刍议

★ 面向未来市场开发油气技术

★ 英语教学游戏的技术实现论文

★ 技术委托开发合同示本

★ 分布式发电技术与智能电网技术的发展论文

★ iOS开发ARC内存管理技术要点

★ 垃圾渗滤液处理HCMBR技术和成套设备

虚拟引擎 篇3

1 主要目标

化工机械与设备专业学生主要就业方向是国家重要的煤化工基地, 包括煤化工产业、化工装备制造、化工物流等岗位。为了使学生更好地适应未来企业管理, 培养学生养成符合企业需求的行为习惯, 在化工机械与设备专业的班级, 实行了虚拟工资考核制度, 该制度的推行既客观反映了学生的在校表现, 又激发了学生自我约束和自我提升的内在动力, 培养学生养成企业思维、行为方式, 学生具有质量意识、安全意识、竞争意识, 建立了完整的评价体系。

2 工作过程

(1) 实行虚拟工资与工作过程挂钩的评价办法在“虚拟工资”评价体系里, 为了与企业统一要求标准, 把学生按照企业员工的管理办法加以管理, 一切按照企业管理制度施行, 比如“员工”的每基本收入也由四部分组成成, 即 :基本工资为第一部分, 职务工资为第二部分, 奖金为第三部分, 项目创收为第四部分。

(2) 创新有效的激励机制为了有效激励学生的成长动力, 本专业的订单班采用类似企业的激励机制, 制订了《虚拟工资考核奖励、先进评比及处分办法》, 调动全员的积极性, 使每个人都努力把事情做对、把事做好, 而且激励每个人不断努力去做。在我校“虚拟工资”评价体系中, 我们具体分为四种激励方式。

1目标激励 :通过日常管理, 把每一个“员工”动员起来, 按企业标准制订一份职业规划, 在规划前首先明确自己的工作目标。规划的目的就是要将学生的目标找寻出来, 并制定详细的实施步骤, 在随后的工作中监督和引导他们努力实现目标。2参与激励:实践表明, 学生都有参与企业管理的愿望和要求, 让学生恰当地参与管理, 为他们提供和创造一切机会参与企业运行是调动他们积极性的有效方法。3荣誉和提升激励 :荣誉是指个人或群体得到公众的崇高评价, 荣誉能满足人们对自尊的需求, 是激发人进取的重要手段。通过虚拟工资的激励机制, 可以有效调动学生的荣誉感和进取心。4负激励 :激励不能只作单向鼓励, 它也应包含负激励措施, 如淘汰机制、“罚款”、降职、开除等, 淘汰机制是一种惩罚性的控制手段。按照激励的强化理论, 激励可采用处罚方式, 促使“员工”和“领导”严格要求自我, 积极努力工作, 为企业作贡献。

3 不断运行, 不断改进

“五挂钩”机制, 激发了学生的内在动力, 学生对虚拟工资明显注重起来, 千方百计增加收入, 如“员工”在一个月内数次参与学校的“学雷锋”活动, 在班内每周都要做一次好事, 积极参加学校和班级组织的各项活动, 学生迟到早退现象减少了。

4 条件保障

虚拟工资评价体系的建立, 首先了解企业的用工诉求、培养目标、管理体系, 进行企业调研, 建立健全评价系统, 形成符合企业需求的评价体系, 建立相应的制度和配套管理软件。

(1) 校企合作保障化工机械与设备专业是我校国家示范校建设的重点专业, 成立多年来培养了众多化工机械设备及相关的专业人才 ;不断深化校企合作, 牵头成立了阜新市化工职教集团, 建立“大师工作室”及实训基地等 ;积累了大量企业合作意向。 (2) 师资队伍保障我校化工机械与设备专业现有专业教师11人。按照不同标准划分, 其中, 具有3年以上企业工作经历的教师2人, 阜新市骨干教师3人, “双师型”教师11人, 参加过国外培训的教师2人, 外聘行业教授、专家3人。教师队伍结构足够有能力做好“虚拟工资”学生评价的合作规划和管理工作。 (3) 管理体系保障我校以数字校园相关软硬件设施为载体, 将“虚拟工资”评价机制管理系统做得更加合理、规范。不但能够实现评价体系的实时监控, 还能将评价结果及时的公示于校园网络, 使参加评价的学生和教师看到自身的评价结果, 有利于提升学生 ( 和教师) 的各方面素质。

5 实际成果、成效及推广

通过虚拟工资评价考核制度的建立和推行, 人才培养质量得到显著提升, 学生管理工作更规范, 形成了具有我校特色的“虚拟工资”评价体系。

6 结语

学生激励和评价机制是人才培养模式改革的重要内容。目前, 国内职业教育正处于深入探索过程中, 我校的化工机械与设备专业的学生激励和评价机制虽已取得阶段性成果, 但仍需要在实践中进一步完善与固化, “虚拟工资”的收入组成应根据经济发展水平及岗位不同而进行实时调整, “虚拟工资”的激励机制需要根据各年级学生心理状况等进行优化。

摘要:如何评价学生的职业能力与职业素质一直以来都是困扰中职学校的一个问题, 国务院《关于加快现代职业教育发展的决定》中明确指出:“加大实习实训在教学中的比重, 创新顶岗实习形式, 强化以育人为目标的实习实训考核评价。”这为我们今后进一步加快现代职业教育评价模式改革指明了方向。怎样培养出符合企业需求的学生, 使评价体系反映出企业诉求, 就更是一个难题, 采用“虚拟工资”评价体系, 培养学生养成企业思维、行为方式, 具有质量意识、安全意识、竞争意识, 促进学生顺利就业。

关键词:虚拟工资,评价体系

参考文献

[1]金娣, 王刚.教育评价与测量[M].北京:教育科学出版社, 2002, 12.

虚拟引擎 篇4

关键词:虚拟现实,美术资源,烘焙贴图

1 虚拟现实概述

众所周知, 近年来, 虚拟现实技术特别是虚拟漫游技术已经广泛应用于各行业的多个领域, 如虚拟数字城市、工业产品展示、虚拟教育训练、虚拟建筑室内外设计、测试游戏开发等。目前, 虚拟现实市场中比较主流的制作软件有virtools, unity, VRP, quest3D等。在虚拟软件的具体实际制作中, 有一些经验想与大家在此分享, 希望能帮助大家更高效快捷的完成教学课程和项目制作。

2 美术资源准备

在导入虚拟现实引擎之前, 美术资源包括模型, 贴图, 动画, 声音都需要在外部软件制作, 主流使用的图形和音效软件包括photoshop, 3ds max, cooledit等。在具体运用中, 三维软件需导出固定的格式或者使用插件与引擎进行对接, 在此文章中的导入均默认为3ds max软件。

在模型制作方面最好使用三角面和四边形面进行创建, 这样能有效的避免在三维虚拟现实引擎中出错问题。在导出前确定合并与分离的需求, 目前引擎不具备编辑美术资源功能, 使用Reset Xform命令重设XYZ轴向和多边形的法线信息。

模型需要贴图来给予生机与色彩, 在贴图搜集过程中, 重复的贴图尤为重要, 虽然互联网上贴图资源库非常强大, 但在具体使用过程中, 贴图需要按照自己想法进行修改和制作, 需要使用photoshop滤镜中的位移命令来进行贴图重复性制作。例如, 本身为512*512的贴图, 裸眼无法识别此贴图是否无限延续, 位移256个单位就能看出端倪, 如果贴图无缝将不会出现任何的问题, 如果出现明显的接缝, 需要使用仿制图章工具或者修补工具进行涂抹编辑。

涉及到复杂材质, 使用shell material壳材质和Mulit/sub object多维子材质, 在这里说的壳材质是用来表现烘焙贴图的效果展示, 多维子材质则是为了在引擎中能够更多的使用重复贴图保证在引擎里的纹理清晰。

3 贴图烘焙技术

将渲染出来的图作为贴图再反贴回去, 这就叫贴图烘焙技术。在3dsmax中的烘焙贴图可以使用默认渲染器和高级渲染器两种。

使用默认的渲染器, 打开灯光菜单中的默认skylight天光, 并打开cast shadows投射阴影项, 并可以投射比较柔和的天光效果, 这样的方法可以制作一些场景中单独的体积比较小的物件, 包括电脑, 座椅, 沙发, 柜子等, 因为它们有光感, 有小的细节变化, 但不会整体的影响到大的场景效果, 也能够局部的去控制贴图的尺寸和效果。如果要导入引擎需要烘焙, 选物件, 打开键盘0键render to texture渲染到贴图, 并确定烘焙的是你分好的1通道UV还是电脑将要帮你分的3通道UV, 选择贴图发布类型为completemap完整贴图模式, 保存文件, 路径和调节padding溢出像素加大值, 完成后点击render渲染得到贴图并点击吸管去拾取视图中物件, 材质球变成shell壳材质。

如果使用高级渲染器vray烘焙, 理念大致相同, 如果模拟太阳光照, 使用Target Direct平行光束, 点击选择vray shardow投射影子, 选择F10打开渲染设置, 打开vray间接照明渲染选项, 为了提升速度调节参数样式为低, 并勾选全局环境光设置, 完成基础设置后, 后面步骤大致同上。

两种引擎都能够接受多通道的贴图, 只是支持形式不同而已, 在为virtools做准备具体步骤中选择已经赋予完成的材质模型, 给多维子材质到物件, 烘培到壳材质, 上部材质球用不同贴图为1通道的多维材质, 下部分用3通道使用计算机自动计算的高级渲染器烘焙的completemap。在为unity做准备的具体步骤中不能够依附于壳材质, 需要依靠一个模型付两套UV的方式, 首先同样也是对1通道来进行多维子材质的指定, 为了得到物件的灯光贴图, 效果更好, 使用烘焙选项中的vray灯光贴图, 并且在设置好vray参数后, 取消全局开关选项中贴图项的勾选, 烘焙完成的贴图是一张有阴影变化与颜色溢出的图片, 此图可以按照需要在Photoshop中调节变成灰度图或者增加对比度等调节。

4 导出到引擎

virtools软件中能够很好的支持壳材质和多维子材质, unity软件则只支持多维材质, 不支持壳材质。将完成的模型选择导出项, 选择格式NMO, 出现的对话框中选择导出成物件, 选择路径为创建工程文件, 在引擎视图中打开NMO物件, 直接能够识别阴影和底部的纹理, 可以通过右键菜单查看材质设置项, 通过点击网格发现显示通道中多了一层, 这就是3通道烘培的图片。unity导入前, 视图中为通道为1的多维子材质物件, 直接导出格式为FBX到工程文件Assets下, 点击物件右侧出现的材质类型选择中选legacyshader传统着色器-lightmapped灯光贴图项-vertexlit顶点光照项, lightmap中选择加载3通道的烘焙贴图。

解决了一些关于贴图重复与光影烘培之间的问题, 可以说制作项目的效率和精度均可以得到提升, 同时, 也更加便于修改美术资源和控制在虚拟现实引擎中最后想要达到的效果。

参考文献

[1]李勋祥.虚拟现实技术与艺术[M].武汉:武汉理工大学出版社, 2007.

[2]王博.浅析虚拟现实技术与新媒体艺术结合[J].科技致富向导, 2011 (21) :97.

[3]邹湘军, 孙健, 何汉武等.虚拟现实技术的演变发展与展望[J].北京:系统仿真学报, 2004.

虚拟引擎 篇5

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

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

UDK是由英佩数码公司开发的基于Unreal Engine 3引擎的免费版开发工具, 是一套为Xbox 360, DirectX 9/10PC, 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 基于 U D K 引擎虚拟校园的仿真技术——物理 碰撞技术及碰撞检测技术[2,3]

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

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

3 结论 (Conclusion)

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

参考文献

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

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

虚拟引擎 篇6

随着信息技术和社会经济的快速发展, 各地旅游主管部门、景区和旅游企业均开始重视互联网平台的建设, 通过网络宣传、营销实现效益提升以及对游客的辅助决策。但旅游产品的无形性使游客往往在获得了足够多的信息之后才会产生消费行为。然而目前绝大多数旅游相关网站对旅游景点与服务设施的宣传介绍仍停留在二维阶段, 即使用视频、图片、文字进行描述, 缺乏真实感和交互性。因此, 要满足游客的信息获取需求就必须形成良好的用户体验, 三维虚拟现实技术则是能够解决这一问题的有效技术手段, 它能够动态逼真地展示各类场景并实现用户交互[1]。近年来, WEB三维虚拟旅游已成为了旅游网络化、信息化研究应用领域的热点。

1 Unity 3D概述

目前, 三维虚拟展示技术应用比较广泛的有VRML、Flash3D、Unity 3D及Cult 3D等。其中VRML以面片形式记录几何信息, 几何造型功能有限, 场景复杂时数据量大;Flash 3D的多种引擎都过于依赖硬件加速的支持, 本身能渲染的三角面非常有限;Cult3D则不支持阴影渲染。与上述平台相比, Unity3D具有更出色的高级渲染效果和用户定制支持, 它本身是一个多平台的专业3D游戏开发引擎, 具有高度优化的图形渲染管道支持Direct X和Open GL。其内置的NVIDIA、Phys X物理引擎能够实现逼真的互动, 并提供了支持柔和阴影与烘焙lightmap的光影渲染系统。而且Unity 3D具有方便的可视化创作环境, 使用广为人知的C#和Java Script作为脚本语言, 其WEB播放插件大小仅有500K, 并已开始支持广泛布署的Flash Player[2,3]。因此, Unity 3D非常适合用于旅游景点WEB虚拟漫游的设计实现。

Unity 3D在导入3DS Max等软件构建的模型文件后, 首先进行格式处理, 然后利用Unity 3D自带模板即可输出带设定功能的场景, 如用户需要特殊功能, 则可对该功能进行开发并加入标准场景库中, 最后输出并发布到WEB即可[4]。

2 旅游景点虚拟漫游的实现

旅游景点的虚拟漫游系统, 必须具备全景浏览、定位、视角切换、人物旋转、雷达、交互菜单操作等功能, 接下来以梧州市著名景点四恩寺为例, 说明系统的实现过程。

2.1 3D模型的编辑组合

在进行人物漫游等设计之前, 首先必须导入模型, 并进行编辑组合, 具体步骤如下:

Step1.运行Unity 3D, 建立工程项目, 将3D模型、贴图放到Assets文件夹中。通过Layers选择所需的窗口模式。

Step2.通过系统菜单Create Terrain创建地形和编辑地形;通过Game Objet下的Directtion Light创建灯光, 编辑Directtion Light属性, 得到想要的效果;通过Seting Renter添加天空盒, 为天空盒添加想要的材质贴图。

Step3.把各类建筑物模型直接用鼠标从项目拖动到场景中进行编辑和位置摆放。

Step4.对地面、墙壁、楼梯等场景添加Physics菜单下的Box Collider碰撞属性, 否则在漫游时, 会出现穿墙的错误效果。

Step5.对灯光进行调节, 达到所需的光照和阴影效果, 并为场景中的物体添加贴图。

编辑组合完毕的四恩寺模型如图1所示。

2.2 人物漫游的实现

本文以第一人称视角实现四恩寺的人物漫游, 首先创建Unity 3D游戏对象中的Capsule对象作为浏览人物, 为其添加一个主摄像机进行跟随, 并调节好距离和高度模拟第一人称人眼视角, 然后创建运动脚本Move.js, 并加载到Capsule对象上, 以控制其漫游时的前后左右移动。

2.3 地图雷达的实现

复杂的景点模型通常会有多个游览子地点, 在漫游时使用户能清楚感知在景点模型的位置, 能够有效增强系统的易用性。因此, 为标记和显示浏览人物在整个场景中的位置, 本文设计了整个模型的小地图及其上的位置感知雷达, 如图2所示。这一功能是通过在场景中设置多个摄像机实现的, 而且必须为每个摄像机设置合适的深度值, 明确其优先级, 才能准确地显示当前摄像机所拍摄的内容。具体步骤如下:

Step1.在地图上方创建一个摄像机并命名为Camera1作为主摄像机, 调节其正交属性, 从而调节小地图在屏幕上的位置。

Step2.创建另一个摄像机并命名为Camera 2, 以与Camera 1配合切换, 实现放大效果。

Step3.创建Security Camera.cs完成当前相机的判别和激活, 创建Security Camera Editor.cs脚本感知目标相机状态和设置深度、创建Camera Swap.cs脚本实现摄像机之间的切换。

2.4 交互菜单的实现

交互菜单能形成更好的浏览体验, 使用户与用户、用户与虚拟场景间产生良好的互动, 本文的实例通过Javascript的GUI代码实现了一个简单的交互菜单, 如图3所示。

2.5 植物的实现

多数旅游场景中都包含有大量的植物对象, Unity3D提供的植物是由线条构成的, 设置繁琐且显示时非常消耗系统资源, 本文的方法是为面片加上事先处理好的植物贴图, 然后编写脚本让面片围绕摄像机旋转, 从而生成立体效果, 如图4所示。

2.6 WEB页面浏览

系统完成并在服务器上布署后, 任何计算机只要安装了播放插件即可在浏览器进行浏览体验, 如图5所示。

3 结语

旅游景区通常具有较大的地域面积和较多的景物细节, 这也使其虚拟模型有着场景庞大、物体众多、精细度要求高的特点。Unity 3D虽然是一个3D游戏开发引擎, 但其强大的物理引擎和渲染系统使3D交互效果逼真, 输出文件小, 非常适合于旅游景点虚拟漫游的设计和实现。随着旅游电子商务、电子政务的发展以及游客信息获取需求的不断增长, Unity 3D游戏引擎将会在虚拟旅游中得到越来越广泛的应用。

摘要:分析了Unity 3D引擎适于实现虚拟旅游的特点, 以真实景点为例, 描述了在应用该引擎设计WEB 3D虚拟旅游系统时, 模型编辑、人物漫游、地图雷达等关键技术环节的实现。

关键词:Unity 3D,虚拟旅游,WEB 3D

参考文献

[1]韩长红.虚拟旅游景区漫游系统的研究[D].西安:西安科技大学, 2011.

[2]付林.永丰大厦虚拟漫游数字平台的设计与实现[D].北京:北京交通大学, 2010.

[3]张帆.基于游戏引擎的机械动力仿真技术的研究与实现[J].软件导刊, 2011, 10 (2) :83-85.

[4]郭海新.Unity3D与HTML交互机理的研究[J].煤炭技术, 2011, 30 (9) :228-229.

上一篇:机关管理人员下一篇:建设和谐校园