`

Web3D综述及Ajax-Zoom 实施的几个坑

阅读更多

一、Web3D相关技术

 Web3D以浏览器作为展示终端,内容部署在服务端。能够给用户以虚拟现实的交互体验,从不同角度观察对象(物体或场景)。目前常见的实现方式有以下:

 

1.1 三维建模与实时渲染

 这种方式先用三维建模工具构建三维模型和场景,然后将其转为适合前端浏览器浏览的格式。在浏览器端,利用内置的webGL或通过专用插件(例如Unity)加载三维模型,响应用户的交互指令(切换视角、观察点),实时渲染出画面。

三维实时渲染的例子可参见华多秀的虚拟展厅:

http://www.hodoso.com/

 

建模工具 3dMax、 Maya
浏览工具 Unity3D插件、WebGL
优点 效果连续、可自由漫游场景或以任意视角观察物体
缺点

对用户端显卡性能要求较高

要获得精致的细节、建模成本较高

 

 

1.2 360实景

 通常是在现实场景中,在特定的离散观察点,用相机+云台拍摄多张影像并合成全景图,合并方法可以是圆柱投影或立方体投影。谷歌街景就采用了这种交互方式。

 考虑到Web浏览的带宽限制,针对不同分辨率进行金字塔切片。

前端组件根据用户交互输入、加载相应的切片。

上述的虚拟场景也可以利用虚拟摄像机输出全景图。

360实景的例子,可参阅杭州工艺美术馆的在线展厅

http://www.zgdjss.com/unity/vr360/hzmg/tour.html

 

建模工具 云台、相机、全景图片制作软件
浏览工具

Krpano

跨终端的浏览插件

优点 建模成本较低、与真实场景完全一致
缺点

观察点离散

 

 

1.3 360旋转

 Ajax-Zoom所谓的360Ratation 在技术实现上有点类似于360实景,所不同的是360实景是观察角度在转动,而360旋转则是:观察点和角度不动,让被观察对象旋转。

如果说360实景是用来表现观察点身处场景内的景象,360旋转则是观察点位于观察对象之外,让对象自身转动,呈现不同角度的外观。

两种技术都可以应用于博物馆展览,360实景适合展厅漫游,而360旋转则适合表现单件藏品。

通过转台+近距离高清拍摄,360旋转可以实现比现场更清晰的web展示,还有一点是现实展览做不到的——看背面。

 

 

二、Ajax-Zoom的坑

Ajax-Zoom有几个优点:

1. 兼容PC和移动终端各种主流浏览器

2. 比较完整的解决方案,包括了热区(点)编辑器(Hotspot ediotr, example33.php)、局部视图及切片(Crops)编辑器、批量预处理(Zoombatch.php)

3. 性价比不错:500张图以下,每张图不超过3.2M像素,免费! 普通的应用买199欧的license足够了。

 

下面说说我实施过程遇到的几个坑:

. 官方例子中没有采用透明背景的png,但要弄出比较炫的效果,这个是必不可少的,比如下面这个效果:

需要多个层叠加:

最上层的AZ控件透明背景+ 不透明文字和红框+半透明文字框背景色+ 虚化overlay + 底层被虚化的全屏AZ控件。



 

如果要弄这个,目前的版本会遇到几个坑。

  a. 从底层AZ控件热点弹出的overlay,不能覆盖底层的Image Map和Navi bar。两个Image Map和Navi bar同时挂在天上,官网的例子没有出现这样的问题,是由于弹出窗口的底色覆盖了底层AZ的Image Map和Navi bar。窗口底色透明,问题就出来了。

  咨询售后之后,确定为z-index问题,增加以下css解决:

  .axZmHotspotOverlay{z-index:506  !important;}

 

 b. 加载热点定义js文件,例子中采用jQuery.fn.axZm.loadHotspotsFromJsFile,该函数没有开放对加载进来的热点的修改回调方法,而项目实施中,根据业务规则批量处理热点应该是很常见的需求。

我用Jquery的js加载+更底层的jQuery.fn.axZm.createNewHotspot 函数,自行加载和创建热区,创建之前可以根据业务需要,批量修改或微调热区定义。

 

c. 官方文档说:用于切片处理的图形库 GD2+或IM可以二选一,而实际上,目前的AZ版本+GD2无法正常处理透明png图的切片。售后说将在下一版本解决此bug。

我们用IM代替GD2获得解决。

 

 

三、参考

更细节的搭建环境,可参考我同事的博客文章

http://clover-whd.iteye.com/

 

效果图是“方禾尖牙” 的作品。

 

 

 

 

 

  • 大小: 280.4 KB
分享到:
评论

相关推荐

    jQuery AJAX-ZOOM 4.1.4.zip

    jQuery AJAX-ZOOM是一个强大的图片缩放和相册展示插件,基于PHP和jQuery开发,提供大约300个定制选项可轻松的集成到已有的网站、CMS和购物系统中。 jQuery AJAX-ZOOM 4.1.4 更新日志: 错误修正,几个新的例子,...

    Ajax-ajax-contact-form-wordpress.zip

    Ajax-ajax-contact-form-wordpress.zip,wordpress的联系人表单,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载...

    Ajax-wc-ajax-product-filter.zip

    Ajax-wc-ajax-product-filter.zip,Woomerce AJAX产品过滤器-是一个插件,允许您根据类别、属性和价格轻松过滤产品。您可以对产品进行排序,导航到下一页和上一页,而无需重新加载该页。,ajax代表异步javascript和xml...

    Ajax-jquery-ajax-cache.zip

    Ajax-jquery-ajax-cache.zip,jquery插件,用于用“localstorage”或“sessionstorage”缓存ajax。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页...

    Ajax-magento2-ajax-layered-navigation.zip

    Ajax-magento2-ajax-layered-navigation.zip,ajax分层导航magento 2提供了一个过滤器列表,帮助您的客户以最短的方式搜索和获得他们最喜欢的产品。这个扩展应用了现代ajax技术来增强过滤系统,以提高用户对页面上每...

    Ajax-magento2-ajax-cart-quick.zip

    Ajax-magento2-ajax-cart-quick.zip,magento 2 ajax购物车扩展插件提供舒适的购物体验。客户可以很容易地选择可配置的选项并在弹出窗口中编辑项目,而不会浪费重新加载页面的时间。,ajax代表异步javascript和xml。它...

    Ajax-gunbasic-js.zip

    Ajax-gunbasic-js.zip,gunbasic js是一个库,用于快速开发基于ajax的web应用程序,这些应用程序易于独立测试。编写ajax代码只需要一行客户端js和服务器中的实现。适用于快速成型和团队开发。,ajax代表异步javascript...

    Ajax-div-ajax-mapping.zip

    Ajax-div-ajax-mapping.zip,用于javascript和php的库,允许映射php函数、类的静态方法和任意数据。这个类提供了一个更简单的解决方案来返回已注册的数据,而不必注册特定的函数。,ajax代表异步javascript和xml。它是...

    Ajax-magento2-catalog-infinite-scroll.zip

    Ajax-magento2-catalog-infinite-scroll.zip,免费的Magento 2扩展,为目录添加无限滚动功能(通过AJAX实现)编码教程,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。...

    Ajax-bootstrap-select-ajax.zip

    Ajax-bootstrap-select-ajax.zip,bootstrap select对数据源的ajax支持,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    Ajax-magento2-ajax-cart.zip

    Ajax-magento2-ajax-cart.zip,ajax add to cart for extension magento 2提供了通过ajax弹出窗口将产品添加到购物车的主要功能。它通过允许客户从产品列表页面将任何产品类型添加到购物车,显著改善了用户体验。,...

    Ajax-online-chat-with-php-jquery-ajax-codeigniter.zip

    Ajax-online-chat-with-php-jquery-ajax-codeigniter.zip,这个应用程序表示使用codeigniter php框架、jquery和ajax的在线聊天。我还添加了表示用于测试应用程序的数据库的sql文件。只有首先导入数据库(chat.sql),...

    Ajax-ajax-shopping-cart-page.zip

    Ajax-ajax-shopping-cart-page.zip,magento 2购物车页面ajax更新数量,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    ajax-WEB考试

    ajax-WEB考试

    Ajax-ajax-blob-downloader.zip

    Ajax-ajax-blob-downloader.zip,从ajax请求下载blob,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

    Ajax-ajax-.zip

    Ajax-ajax-.zip,一、获得职位,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    Ajax-ajax-chat.zip

    Ajax-ajax-chat.zip,这是聊天室,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    Ajax-ajax-todo-list.zip

    Ajax-ajax-todo-list.zip,客户端渲染SPA(单页应用程序)实践。这个项目使用ajax来发送请求,node.js来处理api。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它...

    Ajax-ajax-live-search.zip

    Ajax-ajax-live-search.zip,ajax live search是一个php搜索表单,类似于google autocomplete特性,在您输入结果时显示结果。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和...

    Pragmatic Ajax - A Web 2.0 Primer

    Pragmatic Ajax - A Web 2.0 Primer

Global site tag (gtag.js) - Google Analytics