22. WebAR那些事: 20行代码做全景

简介: #紧接上文 AR技术,全称增强现实技术,对已有的现实世界,增加一些虚拟元素,提升用户体验。传统的内容展示无非于:图片、文字、视频等组合,随着经济、技术的发展,越来越多的用户已经不满足于现状,目前需要的是消费升级、体验升级,那么AR、VR技术运用而生。 #本次Demo所需二维码 本次demo已经集成到APK中,用户可以点击《全景》来体验。 ![1481388940.png](http:/

紧接上文

AR技术,全称增强现实技术,对已有的现实世界,增加一些虚拟元素,提升用户体验。传统的内容展示无非于:图片、文字、视频等组合,随着经济、技术的发展,越来越多的用户已经不满足于现状,目前需要的是消费升级、体验升级,那么AR、VR技术运用而生。

本次Demo所需二维码

本次demo已经集成到APK中,用户可以点击《全景》来体验。
1481388940.png

AR全景

环境准备

  1. Demo使用r82版本,向下兼容
  2. Three.js 到http://www.threejs.org下载最新源码,这里使用three.min.js作为渲染引擎。
  3. WebVR.js WebVR的工具库,用于切换VR状态(three.js的源码包中,自己拷贝)
  4. VREffect.js WebVR的展示库,用于分屏展示(three.js的源码包中,自己拷贝)
  5. VRControls.js WebVR的控制库,用于监控陀螺仪、Camera、重力等(three.js的源码包中,自己拷贝)

3D模型

这次增加了一张本地4k图片,所以包变大了。
map.jpg

核心代码

代码参考Three.js,代码只需20行

var w = window.innerWidth;
var h = window.innerHeight;
var renderer = new THREE.WebGLRenderer();        // 创建渲染器
renderer.setSize(w, h);                            // 设置渲染器为全屏
document.body.appendChild(renderer.domElement);    // 将渲染器添加到body上

var camera    = new THREE.PerspectiveCamera(75, w / h, 0.01, 100);
var effect    = new THREE.VREffect(renderer);        // 控制器,用来控制VR渲染
var loader    = new THREE.TextureLoader();        // 加载器,用于异步加载图片
var control    = new THREE.VRControls(camera);        // 控制器,用来控制摄像机

var mater = { map : new THREE.TextureLoader().load('map.jpg'), side : THREE.BackSide };
var earth = new THREE.Mesh(new THREE.SphereGeometry(20, 32, 32), new THREE.MeshBasicMaterial(mater));

var scene  = new THREE.Scene();                    // 创建场景
scene.add(earth);                                // 添加全景球形纹理

animate();
function animate() {
    effect.requestAnimationFrame(animate);
    control.update();
    effect.render(scene, camera);
}

效果展示

我有一间小木屋,面朝大海,春暖花开

2358d79a627297501e66723a987bf0d1.png

1ce72255c13e1a6d8d2eaa69c34d7dc6.png

畅想

体验升级

沉浸式体验,可以让用户更加方便的感受照片。相比传统的照片浏览方式,左右滑动、上下滑动,每张照片展示的只是一个角度。对于用户来说,展示的思路并不连贯,需要用户在脑海中二次加工,才能生成完整的场景。

消费升级

相机与照片,交卷与相片,相辅相成。以前拥有一台柯达傻瓜相机,是一件非常幸福的事情。后来是单反,拍出更加清晰的电子照片。再后来是全景相机,360°球形照片。
随着人们的消费升级,不禁的会问:花了这么多钱,你就给我看这个?
这种问题,在每个时代的末期,都会有人提出。我们现在就处于传统2D电子照片的末期,新的时代马上就会来临。

下一回

手把手做一个VR视频播放器,要支持在线URL输入播放的那种。
敬请期待

目录
相关文章
|
6月前
|
SQL 分布式计算 DataWorks
使用DataWorks PyODPS节点调用XGBoost算法
本文介绍如何在DataWorks中通过PyODPS3节点调用XGBoost算法完成模型训练与测试,并实现周期离线调度。主要内容包括:1) 使用ODPS SQL构建数据集;2) 创建PyODPS3节点进行数据处理与模型训练;3) 构建支持XGBoost的自定义镜像;4) 测试运行并选择对应镜像。适用于需要集成机器学习算法到大数据工作流的用户。
264 24
|
数据采集 监控 数据库
爬虫技术详解:从原理到实践
本文详细介绍了爬虫技术,从基本概念到实际操作,涵盖爬虫定义、工作流程及Python实现方法。通过使用`requests`和`BeautifulSoup`库,演示了如何发送请求、解析响应、提取和保存数据,适合初学者学习。强调了遵守法律法规的重要性。
3995 4
|
存储 算法 安全
量子计算与金融科技的结合:重塑金融行业的未来
【9月更文挑战第23天】量子计算与金融科技的结合是金融科技发展的重要趋势之一。量子计算以其强大的计算能力和独特的算法优势,为金融行业的创新发展提供了新的动力。随着技术的不断进步和应用场景的不断拓展,量子金融技术将在金融行业中发挥越来越重要的作用,重塑金融行业的未来。金融机构应积极拥抱这一变革趋势,加强技术研发和人才培养,不断提升自身的金融科技水平,以应对未来的挑战和机遇。
|
9月前
|
人工智能 监控 自动驾驶
Migician:清北华科联手放大招!多图像定位大模型问世:3秒锁定跨画面目标,安防监控迎来AI革命!
Migician 是北交大联合清华、华中科大推出的多模态视觉定位模型,支持自由形式的跨图像精确定位、灵活输入形式和多种复杂任务。
287 3
Migician:清北华科联手放大招!多图像定位大模型问世:3秒锁定跨画面目标,安防监控迎来AI革命!
|
机器学习/深度学习 人工智能 PyTorch
网页也能跑大模型?
本故事主要介绍在网页上部署模型的来龙去脉,你想问的问题,可能都可以在这里找到答案
226 3
网页也能跑大模型?
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术革新:智能创造如何重塑艺术与设计行业
AIGC技术,人工智能生成内容,正引领艺术与设计行业的变革。借助深度学习和自然语言处理等技术,AIGC能自动生成文本、图像等内容,丰富创作手段并提供创新机会。在艺术领域,它模拟各种风格作品,助力高效创作;在设计领域,它根据用户需求生成设计方案,提升个性化选择。AIGC打破了传统界限,提高了创作效率,并满足了用户的个性化需求。未来,随着技术进步和应用场景拓展,AIGC将在虚拟现实等领域的结合中,为艺术与设计带来更沉浸式、交互式的体验,重塑行业未来。【6月更文挑战第4天】
1308 1
|
数据采集 算法 数据处理
Python中的列表推导式:简介与应用
【9月更文挑战第14天】本文旨在介绍Python中一种强大且简洁的构造列表的方法——列表推导式。我们将从基础语法入手,通过实例演示其用法,并探讨在数据处理和算法优化中的应用价值。文章将不包含代码示例,而是专注于概念理解和应用场景的描述,以促进读者对列表推导式的深入认识。
317 3
|
机器学习/深度学习 自然语言处理
预训练-微调范式
预训练-微调范式
411 1
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
762 1
|
人工智能 数据可视化 物联网
AI时代的创新工具:如何利用AI生成独具个性的XMind思维导图?
本文介绍了如何用GPT生成Markdown代码制作思维导图,然后用xmind导入并修改样式。首先在Typora中编写Markdown,如示例所示,保存为.txt文件。接着在xmind中打开该文件,即可看到思维导图。通过xmind可调整形状和颜色。这种方法能节省时间,提供丰富图形库,有助于信息组织和呈现。作者木头左期待你的点赞、收藏和关注!
AI时代的创新工具:如何利用AI生成独具个性的XMind思维导图?