基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf

上传人:a*** 文档编号:965946 上传时间:2018-03-21 格式:PDF 页数:13 大小:625.95KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010521563.7

申请日:

2010.10.27

公开号:

CN102012906A

公开日:

2011.04.13

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/30申请日:20101027授权公告日:20120125终止日期:20131027|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20101027|||公开

IPC分类号:

G06F17/30; G06T19/00(2011.01)I

主分类号:

G06F17/30

申请人:

南京聚社数字科技有限公司; 南京工业大学; 江苏教育学院

发明人:

李勇志; 周文军; 秦卫明

地址:

210009 江苏省南京市鼓楼区新模范马路5号科技综合实验楼B座504室

优先权:

专利代理机构:

江苏圣典律师事务所 32237

代理人:

黄振华

PDF下载: PDF下载
内容摘要

本发明公开了一种基于SaaS架构的三维场景管理平台,包括浏览器端和云平台计算端;所述浏览器端用于提供Web用户界面交互及远程过程调用功能,包括三维图形程序接口、场景运行时模块、场景编辑模块以及场景浏览模块;所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模块、数据访问层、数据仓库以及资源管理模块。本发明实现与当前Web标准的无缝融合,做到三维场景的在线实时管理,并快速发布到Internet上供用户使用,有效降低了软件复杂度,并使易用性和开放性大大提高。

权利要求书

1: 一种基于 SaaS 架构的三维场景管理平台,其特征在于,包括浏览器端和云平台计 算端 ; 所述浏览器端用于提供 Web 用户界面交互及远程过程调用功能,包括三维图形程序 接口、场景运行时模块、场景编辑模块以及场景浏览模块 ; 所述场景编辑模块是用户管理场景的 Web 模块,用于用户界面交互并通过远程过程 调用向所述云计算平台端发送场景编辑命令,并与所述场景运行时模块进行双向场景数 据同步 ; 所述场景浏览模块是用户浏览场景的 Web 模块,用于通过远程过程调用向所述云计 算平台端发送场景浏览请求,接收云计算平台端返回的场景代码并调用所述场景运行时 模块在浏览器端进行显示场景 ; 所述场景运行时模块用于同步所述场景编辑模块和场景浏览模块中的场景代码,通 过调用所述三维图形程序接口在浏览器端进行三维图形显示 ; 所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模 块、数据访问层、数据仓库以及资源管理模块 ; 所述场景管理模块负责场景和场景中所有对象的创建和管理,其中场景管理器用于 场景物体属性设置,维护其所有场景物体的列表,进行场景物体的创建、查询、销毁和 设置,同时使用所述数据访问层的 Java 数据对象将场景对象在所述数据仓库中同步 ;所 述场景编辑模块向所述场景管理模块发出场景编辑命令,并调用所述场景管理模块传来 的场景代码 ;所述场景浏览模块向所述场景管理模块发出场景浏览命令,并调用所述场 景管理模块传来的场景代码 ; 所述资源管理模块用于管理场景需要的可复用资源对象的上传、移除和调用,包括 资源对象以及资源管理器,所述资源管理器负责管理创建场景的模型对象和外观对象, 并提供使用接口供场景管理模块调用 ;资源管理器根据场景编辑模块发出的场景编辑命 令类型、对象的名称和属性,进行资源对象的创建、查询、销毁和设置,并使用所述数 据访问层的 Java 数据对象将场景对象在数据仓库中同步 ; 所述数据访问层分别与所述场景管理模块、资源管理模块以及数据仓库进行双向数 据传输,用于将所属场景管理模块或资源管理模块的对象保存进入所述数据仓库,调用 所述数据仓库的对象传输给所述场景管理模块或资源管理模块。
2: 根据权利要求 1 所述的基于 SaaS 架构的三维场景管理平台,其特征在于,所述三 维图形程序接口为 WebGL 三维图形程序接口。
3: 根据权利要求 2 所述的基于 SaaS 架构的三维场景管理平台,其特征在于,所述浏 览器端支持 HTML5 和 WebGL 标准,所述场景运行时模块包括 JavaScript 脚本,用于将 HTML5 网页中符合 X3D 标准的场景代码通过调用所述 WebGL 三维图形程序接口在浏览 器端进行场景显示。
4: 一种基于 SaaS 架构的三维场景管理平台的场景编辑浏览方法,其特征在于,包括 浏览器端和云平台计算端 ;所述浏览器端包括三维图形程序接口、场景运行时模块、场 景编辑模块以及场景浏览模块 ;所述云平台计算端包括场景管理模块、数据访问层、数 据仓库以及资源管理模块 ; 所述场景编辑浏览方法包括以下步骤 : 2 步骤 (1),所述场景编辑模块新建场景并初始化生成空白场景,场景编辑模块通过 远程过程调用将场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场 景名称对应的场景管理器,并通过数据访问层将场景管理器存储到数据仓库 ; 步骤 (2),所述场景编辑模块通过远程过程调用发出创建模型、外观、音频、视 频等可复用资源的命令,云计算平台端资源管理模块生成相应的资源对象并同步数据仓 库 ;其中资源管理模块中的模型管理器读取 X3D 模型数据,解析并生成一个或若干个子 模型对象,组合形成一个模型对象,子模型对象包括用于存储几何形状的属性,以及用 于关联外观对象的外观名称属性,外观对象的属性包括与 X3D 标准对应的材质、纹理及 纹理变换信息 ; 步骤 (3),场景编辑模块发出场景编辑命令,包括实体对象、相机、灯光、声音创 建和设置命令 ;云计算平台端的场景管理模块创建和维护相应实体对象,同步数据仓库 并返回 X3D 代码至浏览器端 ;当场景管理器创建一个实体对象时,模型管理器将模型对 象与实体对象关联,并令模型对象在云计算平台端只有一个对象实例,随后实体对象生 成子实体列表,每个子实体对应一个子模型,并包含子模型的外观名称属性 ;所述外观 名称作为获取外观资源对象的唯一标识,多个实体对象共用一个模型对象,场景管理器 通过设置外观名称属性动态改变其中一个实体的外观 ;场景管理器将实体对象通过数据 访问层将存储于数据库,场景管理器将实体对象转换为 X3D 代码,通过远程过程调用块 发送至浏览器端的场景编辑模块 ;场景编辑模块接收后使用 JavaScript 脚本语言操作添加 或修改上述实体对象的 X3D 代码,同时场景运行时模块调用内置三维图形程序接口同步 显示场景 ; 在进行场景物体的空间变换操作,包括场景物体位置移动、缩放、旋转时,场景编 辑模块使用 JavaScript 脚本语言操作改变物体 X3D 代码的对应属性,通过远程过程调用将 场景物体名称和相应的属性发送至云计算平台端的场景管理模块进行对象更新 ; 步骤 (4),场景浏览时通过访问一个包含场景名称的网址,场景浏览模块根据场景 名称向云计算平台端发送浏览请求,场景管理模块获取与场景名称对应的场景管理器, 场景管理器调用所有场景物体的符合 X3D 标准的场景代码转换方法,最终生成整个场景 的 X3D 代码并发送至浏览器端 ;在浏览器端,场景浏览模块通过场景运行时模块调用内 置三维图形程序接口加载场景的场景 X3D 代码符合 X3D 标准的场景代码,在浏览器中进 行场景内容显示。

说明书


基于 SaaS 架构的三维场景管理平台及编辑浏览方法

     技术领域
     本发明涉及一种 Web3D 场景管理技术,特别是一种基于 SaaS 架构的三维场景管 理平台及编辑浏览方法。背景技术
     随着信息通讯技术的飞速发展,当今计算机领域的前沿应用几乎都是面向互联 网的,而三维图形技术也在互联网上等到了延伸,即 Web3D 技术。 Web3D 技术是在网 页中呈现与真实环境高度近似的三维场景,或者在场景中加入创意互动元素,以实现真 实环境中无法实现的效果。 人们借助于键盘、鼠标及显示器等设备与场景中的物体进行 交互,产生身临其境的感受和体验。 当前 Web3D 技术可以分为两大阵营,其中之一是由众多商业公司设计开发的 Web3D 专有技术,另外的一个阵营是由 Web3D 联盟发布的 VRML(Virtual Reality Markup Language,虚拟现实标记语言) 以及后续的 X3D (Extensible 3D) 标准技术。 Web3D 软件一般包含编辑工具和显示插件,许多商业软件公司推出了的 Web3D 软件使用专用的 文件格式和显示插件,类似的软件大约有三十几种之多。 这些软件各有特色,在显示速 度,图像质量,造型技术,交互性以及数据的压缩与优化上都有各自的优势。 现今比较 成熟的 Web3D 软件有法国的 Virtools、丹麦的 Unity3D 以及荷兰 Act-3D 公司的 Quest3D 等,国内目前有上海创图网络科技有限公司的 Webmax、中视典数字科技的 VRP 产品系 列等。 另一方面, Web3D 联盟制定了早期的 Web3D 标准 VRML,它可以用于建立虚拟 现实场景模型,使得场景模型可以通过互联网进行传输。 由于 VRML 在性能及编程实现 上的缺陷, Web3D 联盟发布了一个新的标准 X3D。 X3D 整合了 XML 等相关技术,提 高了场景模型的处理能力、绘制质量和传输速度。 VRML/X3 D 是免费的、开放标准的 文件格式和体系架构,部分商业公司和开源社区实现了基于 X3D 标准的 Web3D 软件,如 Bitmanagement 公司的 BS Editor/Contact 等。
     无论是基于专有技术还是标准技术,都以文件的形式存储场景内容, Web3D 插 件实现方式都不尽相同,且互不兼容,这也就意味着用户浏览不同 Web3D 软件开发出 的应用时需要安装不同的插件,有的插件体积甚至非常庞大,这大大降低了用户的体验 度。 2009 年, Khronos Group 提出了 WebGL 标准,它是一种免费开放的跨平台 3D 绘 图 Web 标准,提供了在下一代互联网技术标准 HTML5 的 Canvas 元素中显示三维内容和 Javascript 脚本交互能力,而不需要安装插件。 目前已经有很多浏览器开始支持这一标 准,例如 Apple (Safari)、 Google (Chrome)、 Mozilla (Firefox) 和 Opera (Opera)。 另一 方面,目前所有 Web3D 编辑工具都局限于桌面应用程序,不利于软件的传播和使用。 随 着基于云计算的软件运营服务 (Software-as-a-Service , SaaS) 的逐渐普及,带来了更低 的成本、更简单的部署和更轻松的维护等诸多好处,这种新型的应用程序架构必将代替
     大部分传统的桌面应用程序架构。
     集成三维图形技术是互联网进化的必然趋势,而要实现 Web3D 技术的普及和应 用,就必须解决 Web3D 技术发展存在的上述瓶颈问题,需要设计一种便于创造、发现和 分享 3D 内容的软件运营服务 (SaaS) 架构,为不同系统、浏览器的 Web3D 开发人员、 设计人员和使用者提供基于 Web 标准的环境支持。 发明内容
     发明目的 :本发明所要解决的技术问题是针对现有技术的不足,提供一种基于 SaaS 架构的三维场景管理平台及编辑浏览方法。
     为了解决以上技术问题,本发明公开了一种基于 SaaS 架构的三维场景管理平 台,包括浏览器端和云平台计算端 ; 所述浏览器端用于提供 Web 用户界面交互及远程过程调用功能,包括三维图形程序 接口、场景运行时模块、场景编辑模块以及场景浏览模块 ; 所述场景编辑模块是用户管理场景的 Web 模块,用于用户界面交互并通过远程过程 调用向所述云计算平台端发送场景编辑命令,并与所述场景运行时模块进行双向场景数 据同步 ; 所述场景浏览模块是用户浏览场景的 Web 模块,用于通过远程过程调用向所述云计 算平台端发送场景浏览请求,接收云计算平台端返回的场景代码并调用所述场景运行时 模块在浏览器端进行显示场景 ; 所述场景运行时模块用于同步所述场景编辑模块和场景浏览模块中的场景代码,通 过调用所述三维图形程序接口在浏览器端进行三维图形显示 ; 所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模 块、数据访问层、数据仓库以及资源管理模块 ; 所述场景管理模块负责场景和场景中所有对象的创建和管理,其中场景管理器用于 场景物体属性设置,维护其所有场景物体的列表,进行场景物体的创建、查询、销毁和 设置,同时使用所述数据访问层的 Java 数据对象将场景对象在所述数据仓库中同步 ;所 述场景编辑模块向所述场景管理模块发出场景编辑命令,并调用所述场景管理模块传来 的场景代码 ;所述场景浏览模块向所述场景管理模块发出场景浏览命令,并调用所述场 景管理模块传来的场景代码 ; 所述资源管理模块用于管理场景需要的可复用资源对象的上传、移除和调用,包括 资源对象以及资源管理器,所述资源管理器负责管理创建场景的模型对象和外观对象, 并提供使用接口供场景管理模块调用 ;资源管理器根据场景编辑模块发出的场景编辑命 令类型、对象的名称和属性,进行资源对象的创建、查询、销毁和设置,并使用所述数 据访问层的 Java 数据对象将场景对象在数据仓库中同步 ; 所述数据访问层分别与所述场景管理模块、资源管理模块以及数据仓库进行双向数 据传输,用于将所属场景管理模块或资源管理模块的对象保存进入所述数据仓库,调用 所述数据仓库的对象传输给所述场景管理模块或资源管理模块。
     本发明中,所述三维图形程序接口为 WebGL 三维图形程序接口。
     本发明中,所述浏览器端支持 HTML5 和 WebGL 标准,所述场景运行时模块包括 JavaScript 脚本,用于将 HTML5 网页中符合 X3D 标准的场景代码通过调用所述 WebGL 三维图形程序接口在浏览器端进行场景显示。
     本发明还公开了一种基于 SaaS 架构的三维场景管理平台的场景编辑浏览方法, 包括浏览器端和云平台计算端 ;所述浏览器端包括三维图形程序接口、场景运行时模 块、场景编辑模块以及场景浏览模块 ;所述云平台计算端包括场景管理模块、数据访问 层、数据仓库以及资源管理模块 ; 所述场景编辑浏览方法包括以下步骤 : 步骤 (1),所述场景编辑模块新建场景并初始化生成空白场景,场景编辑模块通过 远程过程调用将场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场 景名称对应的场景管理器,并通过数据访问层将场景管理器存储到数据仓库 ; 步骤 (2),所述场景编辑模块通过远程过程调用发出创建模型、外观、音频、视 频等可复用资源的命令,云计算平台端资源管理模块生成相应的资源对象并同步数据仓 库 ;其中资源管理模块中的模型管理器读取 X3D 模型数据,解析并生成一个或若干个子 模型对象,组合形成一个模型对象,子模型对象包括用于存储几何形状的属性,以及用 于关联外观对象的外观名称属性,外观对象的属性包括与 X3D 标准对应的材质、纹理及 纹理变换信息 ; 步骤 (3),场景编辑模块发出场景编辑命令,包括实体对象、相机、灯光、声音创 建和设置命令 ;云计算平台端的场景管理模块创建和维护相应实体对象,同步数据仓库 并返回 X3D 代码至浏览器端 ;当场景管理器创建一个实体对象时,模型管理器将模型对 象与实体对象关联,并令模型对象在云计算平台端只有一个对象实例,随后实体对象生 成子实体列表,每个子实体对应一个子模型,并包含子模型的外观名称属性 ;所述外观 名称作为获取外观资源对象的唯一标识,多个实体对象共用一个模型对象,场景管理器 通过设置外观名称属性动态改变其中一个实体的外观 ;场景管理器将实体对象通过数据 访问层将存储于数据库,场景管理器将实体对象转换为 X3D 代码,通过远程过程调用块 发送至浏览器端的场景编辑模块 ;场景编辑模块接收后使用 JavaScript 脚本语言操作添加 或修改上述实体对象的 X3D 代码,同时场景运行时模块调用内置三维图形程序接口同步 显示场景 ; 在进行场景物体的空间变换操作,包括场景物体位置移动、缩放、旋转时,场景编 辑模块使用 JavaScript 脚本语言操作改变物体 X3D 代码的对应属性,通过远程过程调用将 场景物体名称和相应的属性发送至云计算平台端的场景管理模块进行对象更新 ; 步骤 (4),场景浏览时通过访问一个包含场景名称的网址,场景浏览模块根据场景 名称向云计算平台端发送浏览请求,场景管理模块获取与场景名称对应的场景管理器, 场景管理器调用所有场景物体的符合 X3D 标准的场景代码转换方法,最终生成整个场景 的 X3D 代码并发送至浏览器端 ;在浏览器端,场景浏览模块通过场景运行时模块调用内 置三维图形程序接口加载场景的场景 X3D 代码符合 X3D 标准的场景代码,在浏览器中进 行场景内容显示。
     有益效果 :本发明提供一种部署在 Internet 上的基于 HTML5、X3D 和 WebGL 标 准的无插件、可视化三维场景编辑、发布和浏览的平台架构,克服现有 Web3D 技术普遍 使用客户端软件、以文件形式存储场景、应用程序模型及编程接口与现有 Web 标准不统一以及需要安装插件、对浏览器支持不一等缺点,实现与当前 Web 标准的无缝融合,做 到三维场景的在线实时管理,并快速发布到 Internet 上供用户使用,有效降低了软件复杂 度,并使易用性和开放性大大提高。 附图说明
     下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述 和 / 或其他方面的优点将会变得更加清楚。
     图 1 为本发明的平台架构示意图。
     图 2 为本发明中场景管理模块类图。
     图 3 为本发明中资源管理模块类图。
     图 4 为三维场景管理平台运行实例图。
     具体实施方式 : 本发明的平台架构如图 1 所示,平台架构是由浏览器端和云计算平台端两个系统协 同工作完成。 其中浏览器端提供 Web 用户界面交互及远程过程调用 (RPC)功能,而业 务逻辑则交由云计算平台端处理。 浏览器端包括场景编辑模块、场景浏览模块、场景运 行时模块和三维图形程序接口,实现如下功能 : 场景编辑模块是用户管理场景的 Web 用户界面,负责用户界面交互并通过远程过程 调用 (RPC) 的方式向云计算平台端发送场景编辑命令,包括场景属性 (名称、描述、背 景、雾效等) 的设置,场景物体和资源对象的创建、查询、销毁和设置等命令,以及接 收云计算平台端返回的 X3D 代码并调用场景运行时模块在浏览器中进行场景显示。 场景 编辑模块的用户界面由功能区、查看器、属性区和编辑区组成,功能区包含所有场景编 辑命令菜单和工具栏,查看器是包含所有场景物体的分类列表,属性区用于设置各种对 象的属性值,编辑区用于显示编辑状态下的三维场景。 在向云计算平台端发送场景编辑 命令时,系统采用 JAVA Map 集合作即 / 键值 / 数值对集合的形式,存储不同对象的场景 编辑命令类型、对象类型、名称及其他属性,以作为统一的传输容器。
     场景浏览模块是用户浏览场景的 Web 用户界面,负责通过远程过程调用 (RPC) 向云计算平台端发送场景浏览请求,接收云计算平台端返回的场景 X3D 代码并调用场景 运行时模块在浏览器中显示场景。
     场景运行时模块是一个 JavaScript 脚本,用于将 HTML5 网页中的 X3D 代码通过 调用内置 WebGL 三维图形程序接口显示在浏览器中,而不需要安装任何插件。 这里的 浏览器必须支持 HTML5 和 WebGL 标准,由于目前已经有很多浏览器开始支持 WebGL 标 准,例如 Apple (Safari)、 Google (Chrome)、 Mozilla (Firefox) 和 Opera (Opera),从而实 现了多浏览器支持。
     云计算平台端负责处理业务逻辑及对象持久化,并向浏览器端发送 X3D 代码。 云计算平台端包括场景管理模块、资源管理模块、数据访问层和数据仓库,实现如下功 能: 场景管理模块负责场景和场景中所有对象的创建和管理,其基本构成如图 2 所示。 其中场景管理器 (SceneManager) 是其核心类,在处理浏览器端场景编辑模块发送的 场景编辑命令时,场景管理器会根据场景编辑命令的类型、对象的名称和属性,设置场景属性 (例如名称、描述、背景、雾效等),维护其所有场景物体的列表,进行场 景物体的创建、查询、销毁和设置等操作,同时使用数据访问层的 JDO (Java 数据对 象) 方法保证场景对象在数据仓库中的持久化。 场景物体类 (SceneObject) 是实体类 (Entity)、相机类 (Camera)、灯光类 (Light)、声音类 (Sound) 的父类,包含名 称 (场景物体对象的唯一标识)、可见性以及位置、缩放、旋转等空间变换属性,而场 景物体的每个子类也有自己的特有属性。 实体类描述所有可见的场景物体,通过实体类 可以创建预制实体对象 (包括立方体、圆柱体、锥体和球体),也可以创建自制实体对 象,即用户自定义的场景实体,一般用于较为复杂实体的表示。 场景管理器和场景物体 都提供 X3D 代码转换方法,负责将这些对象需要输出的属性赋值给相应 X3D 代码模板中 标签的属性及属性值,形成对象的 X3D 代码,其中场景管理器输出的是整个场景的 X3D 代码。
     资 源 管 理 模 块 包 括 资 源 对 象 (Resource) 及 其 资 源 管 理 器 (ResourceManager),其基本构成如图 3 所示。 资源管理器负责管理创建场景所需的模 型 (Model)、外观 (Appearance) 等可复用资源对象,并提供使用接口供场景管理模块 调用。 其中,模型是系统内置、用户编辑或使用第三方设计工具导出的描述场景实体的 X3D 代码块,外观是用来描述场景实体外观属性的 X3D 代码块。 在处理浏览器端场景 编辑模块发送的场景编辑命令时,资源管理器根据场景编辑命令类型、对象的名称和属 性,进行资源对象的创建、查询、销毁和设置等操作,使用数据访问层的 JDO (Java 数 据对象) 方法保证对象在数据仓库中的持久化。 本发明的基本实现包括以下步骤 : 1) 登录场景编辑模块,新建场景并初始化生成空白场景,云计算平台端生成场景 管理器并保存到数据仓库 ; 2) 通过远程过程调用创建模型、外观、音频、视频等可复用资源,云计算平台端 资源管理模块生成相应资源对象并同步数据仓库 ; 3) 通过远程过程调用创建并设置实体、相机、灯光、声音等场景物体,云计算平 台端场景管理模块生成和维护相应对象,同步数据仓库并返回 X3D 代码至浏览器端同步 显示 ; 4) 访问一个包含场景名称的网址,场景浏览模块发送场景名称至云计算平台端 ; 云计算平台端解析场景浏览请求,返回相应场景 X3D 代码至浏览器端,并返回步骤 3。
     在步骤 1 中,新建场景时场景编辑模块使用 JavaScript 脚本语言操作其编辑区的 DOM 树,初始化场景 X3D 代码,此时为空白场景。 随后通过远程过程调用 (RPC) 将 场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场景名称对应的场 景管理器,并通过数据访问层将其存储到数据仓库。
     在步骤 2 中,当用户通过远程过程调用创建一个模型资源时,资源管理模块中 的模型管理器 (ModelManager) 读取 X3D 模型数据,解析并生成一个或若干个子模型 (SubModel) 对象,组合形成一个模型 (Model) 对象。 子模型对象有用于存储几何形状的 属性,以及用于关联外观对象的外观名称属性,外观对象的属性包括与 X3D 标准对应的 材质 (Material)、纹理 (Texture) 及纹理变换等。
     在步骤 3 中,实体对象是基于所述资源管理模块中的模型构建的,当场景管理
     器创建一个实体对象时,模型管理器将用户指定的模型对象与实体对象关联,并保证模 型对象在云计算平台端只有一个对象实例存在。 随后实体对象生成子实体 (SubEntity) 列表,每个子实体对应一个子模型,并包含子模型的外观名称属性。 本发明使用外观名 称作为获取外观资源对象的唯一标识,多个实体对象可以共用一个模型对象,场景管理 器能够通过设置外观名称属性动态改变实体的外观。 最后,场景管理器将实体对象通过 数据访问层将存储于数据仓库,如果成功,场景管理器则将实体对象转换为 X3D 代码, 通过远程过程调用块发送至浏览器端。 场景编辑模块接收后使用 JavaScript 脚本语言操作 其编辑区的 DOM 树,添加上述实体对象的 X3D 代码,同时场景运行时模块调用内置三 维图形程序接口同步场景,此时实体被显示在编辑区。
     在进行场景物体的位置、缩放、旋转等空间变换操作时,场景编辑模块直接使 用 JavaScript 脚本语言操作其编辑区的 DOM 树以改变物体的属性,再通过远程过程调用 将场景物体名称和相应的属性发送至云计算平台端进行对象更新。 而对于场景物体的特 有属性,则先将场景物体名称和相应的属性通过远程过程调用发送至云计算平台端,场 景物体更新相应的属性后,发送属性的 X3D 代码块至浏览器端。 场景编辑模块接收后使 用 JavaScript 脚本语言操作其编辑区的 DOM 树,修改实体对象相应属性的 X3D 代码。
     在步骤 4 中,场景浏览模块根据场景名称向云计算平台端发送浏览请求,场景 管理模块获取与场景名称对应的场景管理器,场景管理器调用所有场景物体的符合 X3D 标准的场景代码转换方法,最终生成整个场景的 X3D 代码并发送至浏览器端。 在浏览器 端,场景浏览模块通过场景运行时模块调用内置三维图形程序接口加载场景的场景 X3D 代码符合 X3D 标准的场景代码,在浏览器中进行场景内容显示。
     以创建一个户型三维场景 “房屋框架” 为例,如图 4 所示。 首先通过浏览器登 录三维场景管理平台,在场景编辑模块中新建 “房屋框架” 场景,设置相关属性,如名 称、描述等,场景编辑模块发送场景属性集合至云计算平台端的场景管理模块,创建名 为 “房屋框架” 的场景管理器,并在数据仓库中持久化。 随后通过场景编辑模块添加若 干立方体,分别代表墙面和地面,并设置大小、位置、旋转等属性,在属性区中选择材 质和纹理等资源与其关联,场景编辑模块发送场景物体属性集合至云计算平台端的场景 管理模块, “房屋框架” 场景管理器创建立方体,同步数据库后返回其 X3D 代码至浏览 器端,场景运行时模块调用内置三维图形程序接口加载立方体的场景 X3D 代码在浏览器 中内容显示。 在添加门窗、桌椅、沙发等时,可以在场景编辑模块已有模型的列表中选 择添加,如要添加的家具不在此列表,则可以自行添加第三方模型 X3D 代码及其关联的 纹理图片,交由资源管理模块生成相应资源对象,供场景编辑模块调用加载。 同理添加 若干灯光、声音,以增强户型的真实感。 在户型 “布置” 完毕后,即可通过访问浏览器 端浏览场景。
     本发明采用的 SaaS 架构方式全面基于 Web 标准 (X3D,HTML5 和 WebGL),解 决了 Web3D 开发模型及编程接口与现有 Web 标准不统一的问题,提高了 Web3D 场景的可 访问性、开放性和易用性,同时突破了传统架构以文件形式存储场景内容、必须安装庞 大客户端软件,升级、维护复杂等局限,降低了用户使用成本和风险,实现了集 Web3D 场景开发和运行为一体的内容管理平台软件运营服务。
     本发明提供了一种基于 SaaS 架构的三维场景管理平台及编辑浏览方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指 出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出 若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 本实施例中未明确的各 组成部分均可用现有技术加以实现。

基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf_第1页
第1页 / 共13页
基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf_第2页
第2页 / 共13页
基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf》由会员分享,可在线阅读,更多相关《基于SAAS架构的三维场景管理平台及编辑浏览方法.pdf(13页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102012906A43申请公布日20110413CN102012906ACN102012906A21申请号201010521563722申请日20101027G06F17/30200601G06T19/0020110171申请人南京聚社数字科技有限公司地址210009江苏省南京市鼓楼区新模范马路5号科技综合实验楼B座504室申请人南京工业大学江苏教育学院72发明人李勇志周文军秦卫明74专利代理机构江苏圣典律师事务所32237代理人黄振华54发明名称基于SAAS架构的三维场景管理平台及编辑浏览方法57摘要本发明公开了一种基于SAAS架构的三维场景管理平台,包括浏览器端和云平台。

2、计算端;所述浏览器端用于提供WEB用户界面交互及远程过程调用功能,包括三维图形程序接口、场景运行时模块、场景编辑模块以及场景浏览模块;所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模块、数据访问层、数据仓库以及资源管理模块。本发明实现与当前WEB标准的无缝融合,做到三维场景的在线实时管理,并快速发布到INTERNET上供用户使用,有效降低了软件复杂度,并使易用性和开放性大大提高。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图3页CN102012912A1/2页21一种基于SAAS架构的三维场景管理平台,其特征在于,包括浏览器端。

3、和云平台计算端;所述浏览器端用于提供WEB用户界面交互及远程过程调用功能,包括三维图形程序接口、场景运行时模块、场景编辑模块以及场景浏览模块;所述场景编辑模块是用户管理场景的WEB模块,用于用户界面交互并通过远程过程调用向所述云计算平台端发送场景编辑命令,并与所述场景运行时模块进行双向场景数据同步;所述场景浏览模块是用户浏览场景的WEB模块,用于通过远程过程调用向所述云计算平台端发送场景浏览请求,接收云计算平台端返回的场景代码并调用所述场景运行时模块在浏览器端进行显示场景;所述场景运行时模块用于同步所述场景编辑模块和场景浏览模块中的场景代码,通过调用所述三维图形程序接口在浏览器端进行三维图形显。

4、示;所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模块、数据访问层、数据仓库以及资源管理模块;所述场景管理模块负责场景和场景中所有对象的创建和管理,其中场景管理器用于场景物体属性设置,维护其所有场景物体的列表,进行场景物体的创建、查询、销毁和设置,同时使用所述数据访问层的JAVA数据对象将场景对象在所述数据仓库中同步;所述场景编辑模块向所述场景管理模块发出场景编辑命令,并调用所述场景管理模块传来的场景代码;所述场景浏览模块向所述场景管理模块发出场景浏览命令,并调用所述场景管理模块传来的场景代码;所述资源管理模块用于管理场景需要的可复用资源对象的上传、移除和调用,包括资源。

5、对象以及资源管理器,所述资源管理器负责管理创建场景的模型对象和外观对象,并提供使用接口供场景管理模块调用;资源管理器根据场景编辑模块发出的场景编辑命令类型、对象的名称和属性,进行资源对象的创建、查询、销毁和设置,并使用所述数据访问层的JAVA数据对象将场景对象在数据仓库中同步;所述数据访问层分别与所述场景管理模块、资源管理模块以及数据仓库进行双向数据传输,用于将所属场景管理模块或资源管理模块的对象保存进入所述数据仓库,调用所述数据仓库的对象传输给所述场景管理模块或资源管理模块。2根据权利要求1所述的基于SAAS架构的三维场景管理平台,其特征在于,所述三维图形程序接口为WEBGL三维图形程序接口。

6、。3根据权利要求2所述的基于SAAS架构的三维场景管理平台,其特征在于,所述浏览器端支持HTML5和WEBGL标准,所述场景运行时模块包括JAVASCRIPT脚本,用于将HTML5网页中符合X3D标准的场景代码通过调用所述WEBGL三维图形程序接口在浏览器端进行场景显示。4一种基于SAAS架构的三维场景管理平台的场景编辑浏览方法,其特征在于,包括浏览器端和云平台计算端;所述浏览器端包括三维图形程序接口、场景运行时模块、场景编辑模块以及场景浏览模块;所述云平台计算端包括场景管理模块、数据访问层、数据仓库以及资源管理模块;所述场景编辑浏览方法包括以下步骤权利要求书CN102012906ACN102。

7、012912A2/2页3步骤(1),所述场景编辑模块新建场景并初始化生成空白场景,场景编辑模块通过远程过程调用将场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场景名称对应的场景管理器,并通过数据访问层将场景管理器存储到数据仓库;步骤(2),所述场景编辑模块通过远程过程调用发出创建模型、外观、音频、视频等可复用资源的命令,云计算平台端资源管理模块生成相应的资源对象并同步数据仓库;其中资源管理模块中的模型管理器读取X3D模型数据,解析并生成一个或若干个子模型对象,组合形成一个模型对象,子模型对象包括用于存储几何形状的属性,以及用于关联外观对象的外观名称属性,外观对象的属性包括与X3D。

8、标准对应的材质、纹理及纹理变换信息;步骤(3),场景编辑模块发出场景编辑命令,包括实体对象、相机、灯光、声音创建和设置命令;云计算平台端的场景管理模块创建和维护相应实体对象,同步数据仓库并返回X3D代码至浏览器端;当场景管理器创建一个实体对象时,模型管理器将模型对象与实体对象关联,并令模型对象在云计算平台端只有一个对象实例,随后实体对象生成子实体列表,每个子实体对应一个子模型,并包含子模型的外观名称属性;所述外观名称作为获取外观资源对象的唯一标识,多个实体对象共用一个模型对象,场景管理器通过设置外观名称属性动态改变其中一个实体的外观;场景管理器将实体对象通过数据访问层将存储于数据库,场景管理器。

9、将实体对象转换为X3D代码,通过远程过程调用块发送至浏览器端的场景编辑模块;场景编辑模块接收后使用JAVASCRIPT脚本语言操作添加或修改上述实体对象的X3D代码,同时场景运行时模块调用内置三维图形程序接口同步显示场景;在进行场景物体的空间变换操作,包括场景物体位置移动、缩放、旋转时,场景编辑模块使用JAVASCRIPT脚本语言操作改变物体X3D代码的对应属性,通过远程过程调用将场景物体名称和相应的属性发送至云计算平台端的场景管理模块进行对象更新;步骤(4),场景浏览时通过访问一个包含场景名称的网址,场景浏览模块根据场景名称向云计算平台端发送浏览请求,场景管理模块获取与场景名称对应的场景管理。

10、器,场景管理器调用所有场景物体的符合X3D标准的场景代码转换方法,最终生成整个场景的X3D代码并发送至浏览器端;在浏览器端,场景浏览模块通过场景运行时模块调用内置三维图形程序接口加载场景的场景X3D代码符合X3D标准的场景代码,在浏览器中进行场景内容显示。权利要求书CN102012906ACN102012912A1/7页4基于SAAS架构的三维场景管理平台及编辑浏览方法0001技术领域0002本发明涉及一种WEB3D场景管理技术,特别是一种基于SAAS架构的三维场景管理平台及编辑浏览方法。背景技术0003随着信息通讯技术的飞速发展,当今计算机领域的前沿应用几乎都是面向互联网的,而三维图形技术也。

11、在互联网上等到了延伸,即WEB3D技术。WEB3D技术是在网页中呈现与真实环境高度近似的三维场景,或者在场景中加入创意互动元素,以实现真实环境中无法实现的效果。人们借助于键盘、鼠标及显示器等设备与场景中的物体进行交互,产生身临其境的感受和体验。0004当前WEB3D技术可以分为两大阵营,其中之一是由众多商业公司设计开发的WEB3D专有技术,另外的一个阵营是由WEB3D联盟发布的VRML(VIRTUALREALITYMARKUPLANGUAGE,虚拟现实标记语言)以及后续的X3D(EXTENSIBLE3D)标准技术。WEB3D软件一般包含编辑工具和显示插件,许多商业软件公司推出了的WEB3D软件。

12、使用专用的文件格式和显示插件,类似的软件大约有三十几种之多。这些软件各有特色,在显示速度,图像质量,造型技术,交互性以及数据的压缩与优化上都有各自的优势。现今比较成熟的WEB3D软件有法国的VIRTOOLS、丹麦的UNITY3D以及荷兰ACT3D公司的QUEST3D等,国内目前有上海创图网络科技有限公司的WEBMAX、中视典数字科技的VRP产品系列等。另一方面,WEB3D联盟制定了早期的WEB3D标准VRML,它可以用于建立虚拟现实场景模型,使得场景模型可以通过互联网进行传输。由于VRML在性能及编程实现上的缺陷,WEB3D联盟发布了一个新的标准X3D。X3D整合了XML等相关技术,提高了场景。

13、模型的处理能力、绘制质量和传输速度。VRML/X3D是免费的、开放标准的文件格式和体系架构,部分商业公司和开源社区实现了基于X3D标准的WEB3D软件,如BITMANAGEMENT公司的BSEDITOR/CONTACT等。0005无论是基于专有技术还是标准技术,都以文件的形式存储场景内容,WEB3D插件实现方式都不尽相同,且互不兼容,这也就意味着用户浏览不同WEB3D软件开发出的应用时需要安装不同的插件,有的插件体积甚至非常庞大,这大大降低了用户的体验度。2009年,KHRONOSGROUP提出了WEBGL标准,它是一种免费开放的跨平台3D绘图WEB标准,提供了在下一代互联网技术标准HTML5。

14、的CANVAS元素中显示三维内容和JAVASCRIPT脚本交互能力,而不需要安装插件。目前已经有很多浏览器开始支持这一标准,例如APPLESAFARI、GOOGLECHROME、MOZILLAFIREFOX和OPERAOPERA。另一方面,目前所有WEB3D编辑工具都局限于桌面应用程序,不利于软件的传播和使用。随着基于云计算的软件运营服务(SOFTWAREASASERVICE,SAAS)的逐渐普及,带来了更低的成本、更简单的部署和更轻松的维护等诸多好处,这种新型的应用程序架构必将代替说明书CN102012906ACN102012912A2/7页5大部分传统的桌面应用程序架构。0006集成三维图。

15、形技术是互联网进化的必然趋势,而要实现WEB3D技术的普及和应用,就必须解决WEB3D技术发展存在的上述瓶颈问题,需要设计一种便于创造、发现和分享3D内容的软件运营服务(SAAS)架构,为不同系统、浏览器的WEB3D开发人员、设计人员和使用者提供基于WEB标准的环境支持。发明内容0007发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种基于SAAS架构的三维场景管理平台及编辑浏览方法。0008为了解决以上技术问题,本发明公开了一种基于SAAS架构的三维场景管理平台,包括浏览器端和云平台计算端;所述浏览器端用于提供WEB用户界面交互及远程过程调用功能,包括三维图形程序接口、场景运行时。

16、模块、场景编辑模块以及场景浏览模块;所述场景编辑模块是用户管理场景的WEB模块,用于用户界面交互并通过远程过程调用向所述云计算平台端发送场景编辑命令,并与所述场景运行时模块进行双向场景数据同步;所述场景浏览模块是用户浏览场景的WEB模块,用于通过远程过程调用向所述云计算平台端发送场景浏览请求,接收云计算平台端返回的场景代码并调用所述场景运行时模块在浏览器端进行显示场景;所述场景运行时模块用于同步所述场景编辑模块和场景浏览模块中的场景代码,通过调用所述三维图形程序接口在浏览器端进行三维图形显示;所述云平台计算端用于处理业务逻辑并向浏览器端发送场景代码,包括场景管理模块、数据访问层、数据仓库以及资。

17、源管理模块;所述场景管理模块负责场景和场景中所有对象的创建和管理,其中场景管理器用于场景物体属性设置,维护其所有场景物体的列表,进行场景物体的创建、查询、销毁和设置,同时使用所述数据访问层的JAVA数据对象将场景对象在所述数据仓库中同步;所述场景编辑模块向所述场景管理模块发出场景编辑命令,并调用所述场景管理模块传来的场景代码;所述场景浏览模块向所述场景管理模块发出场景浏览命令,并调用所述场景管理模块传来的场景代码;所述资源管理模块用于管理场景需要的可复用资源对象的上传、移除和调用,包括资源对象以及资源管理器,所述资源管理器负责管理创建场景的模型对象和外观对象,并提供使用接口供场景管理模块调用;。

18、资源管理器根据场景编辑模块发出的场景编辑命令类型、对象的名称和属性,进行资源对象的创建、查询、销毁和设置,并使用所述数据访问层的JAVA数据对象将场景对象在数据仓库中同步;所述数据访问层分别与所述场景管理模块、资源管理模块以及数据仓库进行双向数据传输,用于将所属场景管理模块或资源管理模块的对象保存进入所述数据仓库,调用所述数据仓库的对象传输给所述场景管理模块或资源管理模块。0009本发明中,所述三维图形程序接口为WEBGL三维图形程序接口。0010本发明中,所述浏览器端支持HTML5和WEBGL标准,所述场景运行时模块包说明书CN102012906ACN102012912A3/7页6括JAVA。

19、SCRIPT脚本,用于将HTML5网页中符合X3D标准的场景代码通过调用所述WEBGL三维图形程序接口在浏览器端进行场景显示。0011本发明还公开了一种基于SAAS架构的三维场景管理平台的场景编辑浏览方法,包括浏览器端和云平台计算端;所述浏览器端包括三维图形程序接口、场景运行时模块、场景编辑模块以及场景浏览模块;所述云平台计算端包括场景管理模块、数据访问层、数据仓库以及资源管理模块;所述场景编辑浏览方法包括以下步骤步骤(1),所述场景编辑模块新建场景并初始化生成空白场景,场景编辑模块通过远程过程调用将场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场景名称对应的场景管理器,并通过数。

20、据访问层将场景管理器存储到数据仓库;步骤(2),所述场景编辑模块通过远程过程调用发出创建模型、外观、音频、视频等可复用资源的命令,云计算平台端资源管理模块生成相应的资源对象并同步数据仓库;其中资源管理模块中的模型管理器读取X3D模型数据,解析并生成一个或若干个子模型对象,组合形成一个模型对象,子模型对象包括用于存储几何形状的属性,以及用于关联外观对象的外观名称属性,外观对象的属性包括与X3D标准对应的材质、纹理及纹理变换信息;步骤(3),场景编辑模块发出场景编辑命令,包括实体对象、相机、灯光、声音创建和设置命令;云计算平台端的场景管理模块创建和维护相应实体对象,同步数据仓库并返回X3D代码至浏。

21、览器端;当场景管理器创建一个实体对象时,模型管理器将模型对象与实体对象关联,并令模型对象在云计算平台端只有一个对象实例,随后实体对象生成子实体列表,每个子实体对应一个子模型,并包含子模型的外观名称属性;所述外观名称作为获取外观资源对象的唯一标识,多个实体对象共用一个模型对象,场景管理器通过设置外观名称属性动态改变其中一个实体的外观;场景管理器将实体对象通过数据访问层将存储于数据库,场景管理器将实体对象转换为X3D代码,通过远程过程调用块发送至浏览器端的场景编辑模块;场景编辑模块接收后使用JAVASCRIPT脚本语言操作添加或修改上述实体对象的X3D代码,同时场景运行时模块调用内置三维图形程序接。

22、口同步显示场景;在进行场景物体的空间变换操作,包括场景物体位置移动、缩放、旋转时,场景编辑模块使用JAVASCRIPT脚本语言操作改变物体X3D代码的对应属性,通过远程过程调用将场景物体名称和相应的属性发送至云计算平台端的场景管理模块进行对象更新;步骤(4),场景浏览时通过访问一个包含场景名称的网址,场景浏览模块根据场景名称向云计算平台端发送浏览请求,场景管理模块获取与场景名称对应的场景管理器,场景管理器调用所有场景物体的符合X3D标准的场景代码转换方法,最终生成整个场景的X3D代码并发送至浏览器端;在浏览器端,场景浏览模块通过场景运行时模块调用内置三维图形程序接口加载场景的场景X3D代码符合。

23、X3D标准的场景代码,在浏览器中进行场景内容显示。0012有益效果本发明提供一种部署在INTERNET上的基于HTML5、X3D和WEBGL标准的无插件、可视化三维场景编辑、发布和浏览的平台架构,克服现有WEB3D技术普遍使用客户端软件、以文件形式存储场景、应用程序模型及编程接口与现有WEB标准不统说明书CN102012906ACN102012912A4/7页7一以及需要安装插件、对浏览器支持不一等缺点,实现与当前WEB标准的无缝融合,做到三维场景的在线实时管理,并快速发布到INTERNET上供用户使用,有效降低了软件复杂度,并使易用性和开放性大大提高。附图说明0013下面结合附图和具体实施方。

24、式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。0014图1为本发明的平台架构示意图。0015图2为本发明中场景管理模块类图。0016图3为本发明中资源管理模块类图。0017图4为三维场景管理平台运行实例图。0018具体实施方式本发明的平台架构如图1所示,平台架构是由浏览器端和云计算平台端两个系统协同工作完成。其中浏览器端提供WEB用户界面交互及远程过程调用(RPC)功能,而业务逻辑则交由云计算平台端处理。浏览器端包括场景编辑模块、场景浏览模块、场景运行时模块和三维图形程序接口,实现如下功能场景编辑模块是用户管理场景的WEB用户界面,负责用户界面交互并通过远程。

25、过程调用RPC的方式向云计算平台端发送场景编辑命令,包括场景属性(名称、描述、背景、雾效等)的设置,场景物体和资源对象的创建、查询、销毁和设置等命令,以及接收云计算平台端返回的X3D代码并调用场景运行时模块在浏览器中进行场景显示。场景编辑模块的用户界面由功能区、查看器、属性区和编辑区组成,功能区包含所有场景编辑命令菜单和工具栏,查看器是包含所有场景物体的分类列表,属性区用于设置各种对象的属性值,编辑区用于显示编辑状态下的三维场景。在向云计算平台端发送场景编辑命令时,系统采用JAVAMAP集合作即/键值/数值对集合的形式,存储不同对象的场景编辑命令类型、对象类型、名称及其他属性,以作为统一的传输。

26、容器。0019场景浏览模块是用户浏览场景的WEB用户界面,负责通过远程过程调用RPC向云计算平台端发送场景浏览请求,接收云计算平台端返回的场景X3D代码并调用场景运行时模块在浏览器中显示场景。0020场景运行时模块是一个JAVASCRIPT脚本,用于将HTML5网页中的X3D代码通过调用内置WEBGL三维图形程序接口显示在浏览器中,而不需要安装任何插件。这里的浏览器必须支持HTML5和WEBGL标准,由于目前已经有很多浏览器开始支持WEBGL标准,例如APPLESAFARI、GOOGLECHROME、MOZILLAFIREFOX和OPERAOPERA,从而实现了多浏览器支持。0021云计算平台。

27、端负责处理业务逻辑及对象持久化,并向浏览器端发送X3D代码。云计算平台端包括场景管理模块、资源管理模块、数据访问层和数据仓库,实现如下功能场景管理模块负责场景和场景中所有对象的创建和管理,其基本构成如图2所示。其中场景管理器(SCENEMANAGER)是其核心类,在处理浏览器端场景编辑模块发送的场景编辑命令时,场景管理器会根据场景编辑命令的类型、对象的名称和属性,设置说明书CN102012906ACN102012912A5/7页8场景属性(例如名称、描述、背景、雾效等),维护其所有场景物体的列表,进行场景物体的创建、查询、销毁和设置等操作,同时使用数据访问层的JDO(JAVA数据对象)方法保证。

28、场景对象在数据仓库中的持久化。场景物体类(SCENEOBJECT)是实体类(ENTITY)、相机类(CAMERA)、灯光类(LIGHT)、声音类(SOUND)的父类,包含名称(场景物体对象的唯一标识)、可见性以及位置、缩放、旋转等空间变换属性,而场景物体的每个子类也有自己的特有属性。实体类描述所有可见的场景物体,通过实体类可以创建预制实体对象(包括立方体、圆柱体、锥体和球体),也可以创建自制实体对象,即用户自定义的场景实体,一般用于较为复杂实体的表示。场景管理器和场景物体都提供X3D代码转换方法,负责将这些对象需要输出的属性赋值给相应X3D代码模板中标签的属性及属性值,形成对象的X3D代码,其。

29、中场景管理器输出的是整个场景的X3D代码。0022资源管理模块包括资源对象(RESOURCE)及其资源管理器(RESOURCEMANAGER),其基本构成如图3所示。资源管理器负责管理创建场景所需的模型MODEL、外观(APPEARANCE)等可复用资源对象,并提供使用接口供场景管理模块调用。其中,模型是系统内置、用户编辑或使用第三方设计工具导出的描述场景实体的X3D代码块,外观是用来描述场景实体外观属性的X3D代码块。在处理浏览器端场景编辑模块发送的场景编辑命令时,资源管理器根据场景编辑命令类型、对象的名称和属性,进行资源对象的创建、查询、销毁和设置等操作,使用数据访问层的JDO(JAVA数。

30、据对象)方法保证对象在数据仓库中的持久化。0023本发明的基本实现包括以下步骤1)登录场景编辑模块,新建场景并初始化生成空白场景,云计算平台端生成场景管理器并保存到数据仓库;2)通过远程过程调用创建模型、外观、音频、视频等可复用资源,云计算平台端资源管理模块生成相应资源对象并同步数据仓库;3)通过远程过程调用创建并设置实体、相机、灯光、声音等场景物体,云计算平台端场景管理模块生成和维护相应对象,同步数据仓库并返回X3D代码至浏览器端同步显示;4)访问一个包含场景名称的网址,场景浏览模块发送场景名称至云计算平台端;云计算平台端解析场景浏览请求,返回相应场景X3D代码至浏览器端,并返回步骤3。00。

31、24在步骤1中,新建场景时场景编辑模块使用JAVASCRIPT脚本语言操作其编辑区的DOM树,初始化场景X3D代码,此时为空白场景。随后通过远程过程调用(RPC)将场景属性发送至云计算平台端的场景管理模块,场景管理模块创建和场景名称对应的场景管理器,并通过数据访问层将其存储到数据仓库。0025在步骤2中,当用户通过远程过程调用创建一个模型资源时,资源管理模块中的模型管理器(MODELMANAGER)读取X3D模型数据,解析并生成一个或若干个子模型SUBMODEL对象,组合形成一个模型MODEL对象。子模型对象有用于存储几何形状的属性,以及用于关联外观对象的外观名称属性,外观对象的属性包括与X3。

32、D标准对应的材质(MATERIAL)、纹理(TEXTURE)及纹理变换等。0026在步骤3中,实体对象是基于所述资源管理模块中的模型构建的,当场景管理说明书CN102012906ACN102012912A6/7页9器创建一个实体对象时,模型管理器将用户指定的模型对象与实体对象关联,并保证模型对象在云计算平台端只有一个对象实例存在。随后实体对象生成子实体(SUBENTITY)列表,每个子实体对应一个子模型,并包含子模型的外观名称属性。本发明使用外观名称作为获取外观资源对象的唯一标识,多个实体对象可以共用一个模型对象,场景管理器能够通过设置外观名称属性动态改变实体的外观。最后,场景管理器将实体对象。

33、通过数据访问层将存储于数据仓库,如果成功,场景管理器则将实体对象转换为X3D代码,通过远程过程调用块发送至浏览器端。场景编辑模块接收后使用JAVASCRIPT脚本语言操作其编辑区的DOM树,添加上述实体对象的X3D代码,同时场景运行时模块调用内置三维图形程序接口同步场景,此时实体被显示在编辑区。0027在进行场景物体的位置、缩放、旋转等空间变换操作时,场景编辑模块直接使用JAVASCRIPT脚本语言操作其编辑区的DOM树以改变物体的属性,再通过远程过程调用将场景物体名称和相应的属性发送至云计算平台端进行对象更新。而对于场景物体的特有属性,则先将场景物体名称和相应的属性通过远程过程调用发送至云计。

34、算平台端,场景物体更新相应的属性后,发送属性的X3D代码块至浏览器端。场景编辑模块接收后使用JAVASCRIPT脚本语言操作其编辑区的DOM树,修改实体对象相应属性的X3D代码。0028在步骤4中,场景浏览模块根据场景名称向云计算平台端发送浏览请求,场景管理模块获取与场景名称对应的场景管理器,场景管理器调用所有场景物体的符合X3D标准的场景代码转换方法,最终生成整个场景的X3D代码并发送至浏览器端。在浏览器端,场景浏览模块通过场景运行时模块调用内置三维图形程序接口加载场景的场景X3D代码符合X3D标准的场景代码,在浏览器中进行场景内容显示。0029以创建一个户型三维场景“房屋框架”为例,如图4。

35、所示。首先通过浏览器登录三维场景管理平台,在场景编辑模块中新建“房屋框架”场景,设置相关属性,如名称、描述等,场景编辑模块发送场景属性集合至云计算平台端的场景管理模块,创建名为“房屋框架”的场景管理器,并在数据仓库中持久化。随后通过场景编辑模块添加若干立方体,分别代表墙面和地面,并设置大小、位置、旋转等属性,在属性区中选择材质和纹理等资源与其关联,场景编辑模块发送场景物体属性集合至云计算平台端的场景管理模块,“房屋框架”场景管理器创建立方体,同步数据库后返回其X3D代码至浏览器端,场景运行时模块调用内置三维图形程序接口加载立方体的场景X3D代码在浏览器中内容显示。在添加门窗、桌椅、沙发等时,可。

36、以在场景编辑模块已有模型的列表中选择添加,如要添加的家具不在此列表,则可以自行添加第三方模型X3D代码及其关联的纹理图片,交由资源管理模块生成相应资源对象,供场景编辑模块调用加载。同理添加若干灯光、声音,以增强户型的真实感。在户型“布置”完毕后,即可通过访问浏览器端浏览场景。0030本发明采用的SAAS架构方式全面基于WEB标准(X3D,HTML5和WEBGL),解决了WEB3D开发模型及编程接口与现有WEB标准不统一的问题,提高了WEB3D场景的可访问性、开放性和易用性,同时突破了传统架构以文件形式存储场景内容、必须安装庞大客户端软件,升级、维护复杂等局限,降低了用户使用成本和风险,实现了集。

37、WEB3D场景开发和运行为一体的内容管理平台软件运营服务。0031本发明提供了一种基于SAAS架构的三维场景管理平台及编辑浏览方法的思路,说明书CN102012906ACN102012912A7/7页10具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。说明书CN102012906ACN102012912A1/3页11图1说明书附图CN102012906ACN102012912A2/3页12图2图3说明书附图CN102012906ACN102012912A3/3页13图4说明书附图CN102012906A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1