欢迎来到天天文库
浏览记录
ID:9410668
大小:57.50 KB
页数:8页
时间:2018-04-30
《flash三维技术下在线虚拟旅游系统的实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Flash三维技术下在线虚拟旅游系统的实现 0、引言 作为一种软件技术创新,3D的应用和发展给用户体验带来显著的提升。虚拟漫游游将给旅游行业带来冲击和革命,促使旅游业的服务水平和质量实现质的提升。现阶段,用户体验的好坏已经成为当今产品成功的最重要的因素之一。 在线虚拟漫游是指采用多媒体技术将真实景区数字化处理后,借助计算机X络终端设备,可使漫游者如身临其境般地在虚拟世界中漫游,并具有与景区环境交互的功能。本文基于需求分析和功能分析,提出并实现了一个高效、扩展性强、移植性高并且性能显著优化的在线虚漫旅游系统。 1、系统分析 1.1发展现状 目前我国在线虚拟漫游产品以专业的虚拟旅
2、游X站为主,如中国全境X,上海全境等,其大部分都是基于全景图片的模拟漫游,而不是真正意义上的漫游。用户与虚拟场景的交互性差,界面不够完美,用户体验差。因此,建立一个基于用户体验理论,在系统架构、功能、性能及其应用方面都有明显突破的在线虚拟旅游系统具有重要的意义。 1.2功能需求 根据系统的目标和用户体验设计的原则,结合3DX站质量评估的相关理论,虚拟旅游系统应具备以下功能。①交互式三维场景虚拟漫游:用户可通过鼠标键盘等设备对三维景区进行漫游参观。②用户和景区的互动:用户可以与景区内对象进行互动。③全媒体技术的支持:系支持3D模型、Flash、音频、视频、图片等常用多媒体元素。④三维场
3、景全过程优化:对三维场景文件、材质和场景模型及构建过程进行优化,材质库文件应可能实现重用。⑤用户地图:实时确定用户的相对位置,并对经过的路线进行标记。 结合以上分析,系统主要分为以下几个功能模块。①三维场景的加载和解析模块:三维场景的管理,包括三维场景数据和模型的导入、优化处理和管理,场景的构建、优化及显示的全过程管理。②热点管理模块:热点的加载、删除、编辑及热点的可视化管理。③互动漫游模块:三维场景漫游的控制。④地图模块:用户地图的实现。 2、系统体系结构设计 2.1系统构建方法 目前用于构建在线虚拟漫游系统的L、X3D、Java3D、Cult3D及其重要的分支Flash3D等
4、。 由于具ax导出的模型文件包括模型信息文件和基础纹理图片及烘焙贴图等材质文件。首先通过对ASE文件结构及其内容的分析,提取出跟模型有关的关键位置,包括点、面、UV坐标和关键属性等,丢弃光照,反射等在烘焙贴图处理过或者对三维场景性能影响不大的信息;其次将提取的信息,按照本下面定义的数据结构保存为二进制文件。 ⑴三维场景中对象的总个数、总面数。 ⑵依次存储每个对象在文件中的起始位置、材质文件在文件中的起始位置。对每个对象的信息,从第一个对象开始,依次按如下顺序进行存储。 ⑶属性信息,按照是否有倒影、材质类型、图片类型、材质透明度、是否自动播放、播放速度、顶点个数、面的个数和贴图坐标
5、数、物体名称顺序来存储。 ⑷顶点坐标信息,按照格式X、Y、Z组织并依次存储。 ⑸面片信息,按组成每个面片上三个点在上述点中的索引值,参照三维中右手坐标系的原则,按面片顺序依次存储。 ⑹UV贴图坐标点信息,按照U、V的格式来组织并按点的顺序依次存储。 ⑺贴图面信息,按照贴图面的三个点在上述UV点数中的索引值来存储。 ⑻对象的名称,根据对象的个数,对每个对象按照步骤⑶至步骤⑻的顺序依次进行保存。 ⑼材质相关信息按照每个材质的类型、名称,根据材质顺序依次存储。 基于上述数据格式生成的二进制XML三维场景模型文件,即对模型文件进行显著压缩,降低系统的数据量,同时又提升了数据的安全性
6、。对于材质文件,通过Flash文件格式进行压缩处理,以Flash文件作为系统共享材质库,充分降低材质库的大小。 在系统重构阶段,根据三维场景的配置文件设置其基本参数,包括控制器焦距、初始位置坐标、旋转角度、场景XML文件和材质Flash文件等场景相关信息,加载场景模型文件和材质文件,并进一步进行场景文件的解析和构建以及材质的构建,完成材质贴图。最后根据需要,将经过优化处理的场景实时渲染输出。 3.2热点系统模块的设计 热点即可以进一步互动展示的区域。热点的内容可以是Flash、三维模型等。通过热点系统,基于事件响应机制,实现了用户与景区热点之间的精确互动和按需展示。热点系统主要由热
7、点平面、热点内容和配置文件组成。其基本原理是:首先参考热点的位置坐标在场景中创建热点平面;然后定义热点内容及其操作,实现热点内容的三维透视操作;最后将热点内容作为材质贴图贴到热点平面上,并在用户互动时实现热点的加载和显示。 热点管理是基于配置文件来实现的。配置文件为每一个热点创造一个节点,包含了热点的主要属性信息。①position:热点坐标,用于确定热点在场景中的位置。②rotate:热点所在平面的方向。③name:热点名称。④
此文档下载收益归作者所有