虚拟场景的管理及其在OSG中的应用

来源 :科学时代·上半月 | 被引量 : 0次 | 上传用户:sadiori1383
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   [摘 要] 虚拟场景是虚拟现实应用中必不可少的部分,但是由于其构成的复杂性使得对它的管理和编辑非常困难。在构建虚拟现实引擎时,如何更好地组织和管理虚拟场景对加快显示速度以及提高场景编辑效率都非常重要。本文论述了利用OSG提供的管理方式组织虚拟场景的方法,对工程实践有一定的参考意义。
  [关键词] 虚拟场景 OSG 树形结构
  
  1. 引言
  虚拟场景是指通过模仿真实世界的景观,由计算机生成的仿真世界。有了这样的虚拟环境,人们可以“身临其境”地置身于该景观中,并在其中自由“行走”和“观看”。如何真实的通过计算机生成的虚拟环境表达现实世界,一直是计算机图形学的一个重要研究方向。当前的方法一般分为三类:基于几何造型、基于图像绘制以及基于几何和图像混合[1],目前基于几何造型的方法构建虚拟场景仍然是被广泛采用的技术。但是采用这种方法构建虚拟场景是一个复杂的过程,除了要对场景中的所有景物都进行建模之外,还要将建模之后的模型根据真实场景的需要,将其置于虚拟场景中,并使其具有自身的物理特性且表现“真实”,是极其复杂的工作,目前通常会借助虚拟现实引擎来辅助完成。
  虚拟现实引擎是一个辅助的工具,它对场景的组织需要借助相应的管理方式,这样可以方便地对场景进行规划和设置。我们在构建虚拟现实引擎时研究了如何对虚拟场景中的数据进行组织和管理,以及在OSG[2](Open Scene Graph)中如何进行实现的方法。
  2. 虚拟环境的场景构建层次
  2.1 虚拟场景组织的复杂性
  虚拟场景中的对象可以分为三类:空间对象、物品对象和场景对象[3]。物品对象是场景中具体的物体,如陈设、人物等;空间对象包括物体的材质、纹理、方位等。虚拟现实应用要模仿真实的环境就需要将其基本环境信息一一体现。以现实世界一个广场及其周围的景物为例:在广场周围会有若干栋建筑物和一些辅助设施,每一个建筑物会有多个房间,每一个房间中又包含许多事物。每一栋建筑物相当于一个子场景,而建筑物中的房间是下一级子场景,在每一个房间中的陈设等物体是一个个的对象,我们要实现这样的虚拟世界,除了要包含一定的物体之外,还要实现其中的空间对象。而实现空间对象就需要对场景及其中的物体进行有效的组织和管理。
  在构建上述的虚拟场景时,如果仅仅将这些建筑物和其中的物体对象简单置入场景中,物体同物体之间没有关联,会对管理和设置带来很大困难。例如:若要对某场景中的20个物体进行属性设置,其中的属性包含了很多方面,如方位、纹理、运动等等,若物体相互独立,我们就需要对其中的每一个物体分别设置属性,对有些共有的属性也需要分别设置,很显然这种方式非常不便,如果能够将其进行归类,对共有的属性能够实现一次设置就能影响全局就会对我们的操作带来便利,如何更好地对场景及其中的物体进行组织是需要探讨的问题。
  2.2 采用层次结构构建虚拟场景
  由于虚拟场景中物体的复杂和多样性,为了能对虚拟世界中的每个物体进行相应的设置,使其更加真实且具有灵活性,又便于用户进行交互和修改,需要采用一定的方式对其进行组织和管理,树形的层次结构就是一种很好的管理方式。
  一个应用通常由若干个场景构成,我们将场景分离,并采用层次结构,对每个场景,构建时都需向其中添加对象(物体)。当运行应用时,不必同时调入多个场景,只需根据用户当前的观看点调入相应场景,这样既可以降低对资源的占用,又可以加快显示速度。当场景中的对象数目较多时,为了能对它们有效实施管理,可以采用树形的结构进行组织[4]。
  3. OSG简介
  3.1 OSG特性概述
  OSG是一款高效实时的三维图形开发包,OSG构建于OpenGL图形函数库之上,全部采用标准C++语言开发,主要应用于游戏、虚拟现实和科学计算可视化与仿真领域中的高性能图形程序的开发,它的许多功能和运行性能优于许多现有商业虚拟引擎。OSG具体的特性和使用方法可以从其官方网站获得,由于其出现较晚,而且具有开放性的特点,目前还没有成熟的资料可供参考。
  在OSG中包含许多功能模块,它将不同特性封装在不同的类中,并对其实施管理。其中以核心库为重点,其他还有工具集和特效库。在核心库中以核心OSG为重点,其中提供了基本的场景类和物体类,通过它,OSG就可以实现对场景和其中物体的高效管理。
  3.2 核心OSG相关类及其组织形式
  核心OSG包含的类有:节点访问器(NodeVisitor)、物体类(Object)、帧同步控制类、纹理类(Texture)、状态类(State)等等。在OSG中,涉及场景管理的类主要集中在osg::Object,Object是一个基类,由它可以派生出许多对象类,由它可以派生出许多对象类。
  场景中的每个物体都可以被认为是由一个或若干个节点构成,节点也具有层次,一个节点可以包含若干子节点。在这些类中, osg::Drawable是一个可绘制图形类,虚拟场景空间中的复杂三维物体可以被分解为若干个Drawable,每个Drawable有一个相应的编号,可以根据编号访问具体的Drawable节点。每个Drawable节点还可以进一步被分解,Geometry是从中派生的几何体类,通过它提供的函数可以获取几何体的形状、顶点数组、法线、颜色数组以及相关的属性等信息,从而实现对物体的操作。
  4. OSG对场景的管理
  OSG将应用及场景和其中的对象按照树的形式进行组织,树由若干节点(Node)构成,应用相当于树根,同一个应用工程中,可以包含若干个场景,每个场景也可以被认为是一个节点,场景节点之下还包含若干物体。进入场景后,其中的物体可以进一步被归类和细分,如几何体、网格、顶点等,还可以被分为不同的类别,如实体、图片、灯光、辅助物体等等。
  在OSG中将节点划分为不同的类型,我们要实现对场景中物体的操纵和控制,需要将场景及其中的每个物体归结为是由一个或若干个节点构成,节点也具有层次,一个节点可以包含若干子节点。同层的节点及其子节点可以被归为一组(Group),组也相当于一个节点,它可以同其它节点并列存在,给组设置相关属性类型,则该组中的节点也具备这种属性。可以对不同组统一管理和操纵。
  同层的节点及其子结点可以被归为一组,这样可以对不同的组(Group)统一管理和操纵。Group又可以被划分为若干种类的子节点,如变换节点(Transform)、灯光(Light Source)、LOD等等,每种类型节点有相应的特性设置,在虚拟场景中表现出不同的特征。在虚拟场景中表现出不同的特征。节点类还可以被划分为若干Geode,也就是geometry node,屬于场景中的叶节点,可以通过它访问Drawable节点,由此同Drawable建立关联。有了Drawable、Geode、Shape等基本的几何体,我们就可以实现在虚拟现实应用中对物体进行属性编辑和操纵。
  这样的管理形式使场景结构清晰,便于访问、控制和操纵。
  5.结束语
  虚拟场景是虚拟现实应用中必不可少的部分,但是由于其构成的复杂性使得对它的管理和编辑非常困难。在构建虚拟现实引擎时,如何更好的组织和管理虚拟场景对加快显示速度以及提高场景编辑效率都非常重要。OSG是目前较新、性能较好的虚拟现实开发工具包,利用它的组织方式可以非常方便的对虚拟场景进行组织和管理,但是目前OSG的相关资料非常有限,本文在实践的基础上总结了OSG对虚拟场景进行组织的形式和方法,对具体的工程实践有一定的参考意义。
  本文作者创新点:以OSG作为虚拟引擎的开发工具包,采用OSG提供的树形层次结构的场景管理方法,开发的虚拟引擎可以对复杂的虚拟场景实施有效管理,在具体的工程实践中有广泛的应用价值。
  参考文献:
  [1] 周昆,童一颖等.VECW一个虚拟环境的构造和漫游系统[J].计算机辅助设计与图形学学报,2000,vol12(5):355.
  [2] www.openscenegraph.org .
  [3] 唐晶磊,蔡勇等.基于VR与Agent技术的室内漫游系统[J].微计算机信息,2006,7-1:265-267.
  [4] 程菊明.虚拟展示平台核心技术的研究与实现[D].广西大学,2006.6:22-24.
其他文献
唏里哗啦小镇上最近闹鬼了。第一个说这话的是里拉太太。里拉太太是镇里的糕点店老板,不久前的一个早上,她店里的保险柜被盗了。聪明儿和阿笨跑到店里的时候,警察已经在问问
期刊
本文通过对荣华二采区10
本文通过对荣华二采区10
【摘要】课堂教学是课程改革的最前沿,是实施新课程标准的主渠道。作为教学在一线的许多教师,都在努力学习和实践着新课程标准,课堂上出现了前所未有的生机与活力。但是,在农村小学课堂教学实践中,我们也发现一些教师对新课程标准的理解还浮于表面,为形式而形式。如果教师的教学观念不更新,教学方式不转变,课程改革也将流于形式,事倍功半,甚至劳而无功。因此,如何在新课程理念的指导下改革小学数学课堂教学,把先进的教学
0.Introduction  Franchising has been in the Philippines for over a century. It began with the entry of the Singer Sewing Machine in 1910; the company came up with the concept system of “product distri
期刊
随着环艺专业的不断发展,当今社会对环艺人才的实践能力愈加重视,因而要求现在的环艺专业者不仅需要理论的支持,更需要具备强大的实践能力和经验。而我国的环艺专业起步较晚,
这是新年的第一天。这是米弯弯与你见面的第NNNNNNN次。祝愿阳光打在你的脸上。祝愿牛肉干掉进米弯弯的兜里。阳光打在你的脸上,温暖留在我们的心里。这是冬天里平常的一天。
期刊
【摘 要】关于目前计算机网络面临的安全隐患及其防治策略的探索越来越成为当今这样一个信息化时代的重要课题。尤其是随着电子商务、网上办公、网上购物等一系列计算机网络新技术的应用,计算机网络不再是一个封闭的网络,得到了极大的扩展,但同时也带来计算机网络安全的风险。针对目前计算机网络面临的安全隐患,必须制定采取合适的计算机网络安全策略,保证计算机网络的完整性和安全性。  【关键词】计算机网络;安全隐患;防
1.题目:一边……一边……米弯弯写:他一边脱衣服,一边穿裤子。面包老师批语:他到底是要脱还是要穿啊? 2.题目:其中米弯弯写:我的其中一 1. Title: On the side ... ..... Be
期刊
新修订的《课程标准》中提出了使学生获得数学的“基本思想”和“基本活动经验”的目标,把“双基”扩展为“四基”。希望学生在义务教育阶段的数学学习中,除了获得必要的数学知识和技能之外,还能感悟数学的基本思想,积累数学活动经验。思想的感悟和经验的积累是一种隐性的东西,但恰恰就是这种隐性的东西在很大程度上影响人的思想方法。因此,对学生,特别是对那些未来不从事数学工作的学生更为重要,这是学生数学素养的集中体现