13840251110 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

web3d技术介绍

2020-01-18分享
Web3d技术介绍
1定义
通常,Web 3D是指可以通过Web浏览器使用的交互式3D技术。在webgl标准没有得到众多浏览器支持之前,通常需要用户安装所谓的插件。
Web 3D也可以指允许以3D浏览Web的技术。
2 Web 3D技术概述
人们可能会分为几种技术,但由于需要满足不同的需求,所以并不无可比性。
我们建议在四个不同的条件入手:
  • 简单性(不需要下载安装软件)
  • 相容性pc、移动兼容)
  • 质量(性能,优化好,打开速度快)
  • 交互性(用户体验自由度高)
概括为三点:
  • 标准化(这在教育中非常重要,因为内容应持续数十年)。标准化包括与其他标准的交互,例如HTML,HTTP(URL),ECMAScript,MPEG等。
  • 表现力,即可以定义和呈现什么类型的内容。良好的交互性,即可以动态更改的内容(如web3D中的任何内容或游戏引擎中的某些内容)
  • 格式,即技术是一种格式还是一种编程API(或两者兼有)
2.1 VRMLX3D
Web上的3D从一开始就是VRML的主要推动力,即虚拟现实建模语言,可以追溯到1994年5月25日至27日在CERN于2004年5月25日至27日在第一届互联网国际会议上有关虚拟现实标记语言的功能专题讨论中。
它的概念起源较旧,例如(a)科幻小说文献(例如[Gibson,1994],[Stephenson,1992]),(b)Mark Pesce,P。Kennard和Toni Parisi的迷宫系统([Pesce等,1994]。 ])以及3D导航和表示方案的提案,以及(c)更一般的3D计算机图形(包括VR)。基于SGI的Open Inventor格式,VRML 1.0的几乎最终草案在94年秋季于芝加哥举行的第二届WWW会议上提出。1995年4月3日,SGI推出了WebSpace,这是第一个公开可用的VRML浏览器。因此,设置标准并启用第一个浏览器总共花费了大约一年的时间。在2007年,VRML成为ISO标准。
VRML从来没有流行过,因为它的灵活性使得很难编写快速的渲染引擎。与之相反,早期的游戏引擎只能渲染隧道(带有纹理)和武器,并且由于这种专业性而很快。当然,在1990年代,大多数PC都没有3D图形板,而那些拥有3D图形板的PC与现代板相比既很慢又很昂贵。另外,与网络浏览器的接口,即嵌入3D场景的HTML页面是不可靠的,并且没有标准化。这也是一个主要缺陷,因为能够组合交互式2D和3D内容非常重要。最后,由于编写灵活的渲染引擎需要花费数年时间,因此3D公司应该能够进行长期规划。没有大公司的支持,这是不可能的。
Web3D联盟于2001年开始研究X3D,并于2003年发布了第一个版本。X3D是VRML的模块化修订版。它支持XML和传统VRML语法。现在大多数模块都是ISO标准或几乎是ISO标准。
2.2 WebGL
WebGL的目的是在不使用插件的情况下将硬件加速的3D图形引入Web。换句话说,Web浏览器可以直接支持3D图形,并减少了安装插件的需要。
当前(2018年),所有主流浏览器都以一种或另一种方式支持WebGL。
Web GL基于众所周知的OpenGL图形API。
2.3 HTML5 / JavaScript API
该HTML canevas元素允许一些3D:
“ Canvas API是一种客户端脚本技术,可用于丰富的栅格图像(位图)的创建或更改。它使用基于矢量的编程方法来创建形状,渐变和其他图形效果,并且由于没有DOM,因此可以非常快速地执行。专门的脚本编写者可以单独使用Canvas API或将其集成到HTML或SVG中,从而开发游戏甚至是功能齐全的应用程序。大多数现代浏览器(脚本库将其支持范围扩展到所有主流浏览器)甚至在某些移动设备上都原生支持它。”(图形(W3C,2010年9月2日检索)。
其他建议(HTML5 DOM树的附加内容或JavaScript扩展)
  • Google推广O3D。“ O3D是Google创建的开源(BSD许可证)JavaScript API [2],用于创建在Web浏览器窗口或XUL桌面应用程序中运行的交互式3D图形应用程序。O3D可以设计用于任何应用领域,但是它适用于游戏,广告,3D模型查看器,产品演示,模拟,工程应用,控制和监视系统或庞大的在线虚拟世界。O3D目前在Google的孵化实验室中,并作为实验性的Web浏览器插件进行了部署。”(2010年9月2日撤回)当前,转换器允许加载Collada文件,该文件是娱乐行业赞助的一种类似X3D的交换格式。O3D遵循与Flash 3D相同的逻辑,即必须编写EcmaScript代码。
  • Web | 3D联盟于2010年启动了X3DOM。“ X3DOM ”是一个实验性的开放源代码框架和运行时,用于支持Web3D和W3C社区中正在进行的讨论,如何将HTML5和声明性3D内容集成在一起。它试图满足用于声明性3D内容的当前HTML5规范,并允许将X3D元素包括在任何HTML5 DOM树中。”(X3DOM Blog,2010年9月2日检索)。
2.4闪光灯
Flash 10(2008年发布)确实具有3D功能,即ActionScript类和方法。在获得官方3D支持之前,许多第三方开发人员确实发布了Flash 3D产品,其中大多数是编程库。这些库仍然比Adobe的类更受欢迎,但它们通常依赖Adobe的框架。
没有Adobe提供的官方3D创作工具。CS4和CS5仅支持2D对象的3D动画。
Flash是开发轻量级Web游戏的流行技术。
Adobe还提供了较旧的Shockwave格式。
2.5 Java 3D
根据Wikipedia(于2010年9月2日收回),“ Java 3D是Java平台的基于场景图的3D应用程序编程接口(API)。它可以在OpenGL或Direct3D上运行。与其他解决方案相比,Java 3D不仅是这些图形API的包装,而且是一个使用真实的,面向对象的概念封装图形编程的接口。在这里,使用场景图构建场景,该场景图表示必须显示的对象。该场景图的结构为一棵树,其中包含显示对象所需的几个元素。此外,Java 3D提供了广泛的空间声音支持。”
2.6 QuickTime VR
根据Wikipedia(在2010年9月2日,美国东部时间11:38检索),“ QuickTime VR(虚拟现实)(也称为QTVR)是Apple QuickTime支持的一种图像文件格式。它允许创建和查看拍摄的全景照片,以及通过以多个视角拍摄的图像探索物体。它既可以作为独立QuickTime Player的插件,也可以作为QuickTime Web浏览器插件的插件。”
2.7 3DMLW
3DMLW的格式有点类似于X3D。可以通过两个主要功能来区分它们:
  • 3DMLW支持2D和3D内容,而X3D旨在嵌入HTML
  • 3DMLW允许3D模型使用 .3ds,.obj,.an8和.blend 文件格式。
  • 在3DMLW中,脚本使用Lua编写,而在X3D中,它使用JavaScript(除了X3D格式的交互式内置元素之外)。
2.8游戏引擎
由于大多数游戏引擎都支持Internet上的多用户,因此将客户端与Web浏览器集成起来并不难。
  • Unity有一个Webplayer。根据Wikipedia(2010年9月)的说法,“ Unity是用于创建3D视频游戏或其他交互式内容(例如建筑可视化效果或实时3D动画)的集成创作工具。在集成图形环境是主要开发方法的意义上,Unity与Director,Blender游戏引擎,Virtools或Torque Game Builder类似。
3 X3D / VRML与专有格式
VRML和X3D从未流行很多。但是,这两种格式都灵活,强大,声明式和标准化,因此在教育中非常受欢迎。大多数专有的Web 3D格式都无法幸免。一个典型的模式是,一家新的3D公司以其专有格式引起很大的轰动,然后遇到了一些成功,然后跌到了比VRML / X3D或破产小的地方。例子是活跃世界,现在也许是第二人生。
另一个典型的模式是计划“拥有3D世界”的真正的大公司。典型示例是Microsoft Chrome和Adobe Atmosphere。两家公司都为这两家公司的全力支持提供了解决方案,但它们都死了。
让我们看看Google的O3D会发生什么,O3D是一种很难使用的特殊格式,即它是JavaScript API,而不是格式。如果最终用户工具(例如Flash 3D或游戏引擎)可用,则这种策略可能会成功,但可能不会:)
由于VRML / X3D都可以生存并且表现力强,因此两种格式也都被用作可靠的交换格式(与SVG用于2D的方式相同)]。1997年编码的示例仍然有效,而1995年的示例仅需进行少量调整。X3D具有更好的HTML / JavaScript集成。选择这些标准化格式的另一个原因。
 

> 在线咨询
Copyright © 2020-2025 原拓数字科技(沈阳)有限公司 工信部备案号:辽ICP备18006475号-2  技术支持:原拓动画