3D全景漫游
全景图共分为三种:
①球面全景图
利用一张全景图围成一个球,自身位置位于球体内。由于图片是矩形,所以最上和最下的缝合处很明显就能够看得出来。
球面全景图是最接近人眼的构建模式,若利用多个立面构建,拼接方法繁琐,性能消耗高。
因此,本文介绍的是上述通过一张全景图构成的球面全景图。
②立方体全景图
一个立方体,有六个面组成,所以就需要六张图片啦。自身的位置位于立方体中间。这也是最常见的全景图构建模式。
③柱状全景图
这个则是前两种构建模式的结合版啦。
开发方案对比:
代码实现:
1.球迷那全景图
<script src="js/three.min.js"></script>
<script src="js/photo-sphere-viewer.min.js"></script>
核心代码,就这么两行搞定全景demo
var PSV = new PhotoSphereViewer({
panorama: 'http://tassedecafe.org/wp-content/uploads/2013/01/parc-saint-pierre-amiens.jpg',
container: div,
time_anim: 3000,
navbar: true,
navbar_style: {
backgroundColor: 'rgba(58, 67, 77, 0.7)'
},
});
配置参数:
下面是该全景图插件的所有可用配置参数:
panorama
:必填参数,全景图的路径。container
:必填参数,放置全景图的div
元素。autoload
:可选,默认值为true
,true
为自动调用全景图,false
为在后面加载全景图(通过.load()
方法)。usexmpdata
:可选,默认值为true
,如果Photo Sphere Viewer必须读入XMP数据则为true
。default_position
:可选,默认值为{}
,定义默认的位置,及用户看见的第一个点,例如:{long: Math.PI, lat: Math.PI/2}
。min_fov
:可选,默认值为30,观察的最小区域,单位degrees,在1-179之间。max_fov
:可选,默认值为90,观察的最大区域,单位degrees,在1-179之间。allow_user_interactions
:可选,默认值为true
,设置为false
则禁止用户和全景图交互(导航条不可用)。tilt_up_max
:可选,默认值为Math.PI/2
,向上倾斜的最大角度,单位radians。tilt_down_max
:可选,默认值为Math.PI/2
,向下倾斜的最大角度,单位radians。zoom_level
:可选,默认值为0,默认的缩放级别,值在0-100之间。long_offset
:可选,默认值为PI/360
,mouse/touch移动时每像素经过的经度值。lat_offset
:可选,默认值为PI/180
,mouse/touch移动时每像素经过的纬度值。time_anim
:可选,默认值为2000,全景图在time_anim
毫秒后会自动进行动画。(设置为false禁用它)theta_offset
:过时的选项,可选,默认值为1440,自动动画时水平方向的速度。anim_speed
:可选,默认值为2rpm
,动画的速度,每秒/分钟多少radians/degrees/revolutions。navbar
:可选值,默认为false
。显示导航条。navbar_style
:可选值,默认为{}
。导航条的自定义样式。下面是可用的样式列表:backgroundColor
:导航条的背景颜色,默认值为rgba(61, 61, 61, 0.5)
。buttonsColor
:按钮的前景颜色,默认值为transparent
。activeButtonsBackgroundColor
:按钮激活状态的背景颜色,默认值为rgba(255, 255, 255, 0.1)
。buttonsHeight
:按钮的高度,单位像素,默认值为20
。autorotateThickness
:autorotate图标的厚度,单位像素,默认值为1
。zoomRangeWidth
:缩放的范围,单位显示,默认值50。zoomRangeThickness
:缩放的范围的厚度,单位像素,默认值1。zoomRangeDisk
:缩放范围的圆盘直径,单位像素,默认值为7。fullscreenRatio
:全屏图标的比例,默认值为3/4
。fullscreenThickness
:全屏图标的厚度,单位像素,默认值为2。loading_msg
:可选,默认值为Loading…
,图片加载时的提示文字。loading_img
:可选,默认值为null
,在加载时显示的图片的路径。size
:可选,默认值null
,全景图容器的最终尺寸。例如:{width: 500, height: 300}
。onready
:可选值,默认值为null
。当全景图准备就绪并且第一张图片显示时的回调函数。
3D全景漫游的更多相关文章
- 打造H5里的“3D全景漫游”秘籍
近来风生水起的VR虚拟现实技术,抽空想起年初完成的“星球计划”项目,总结篇文章与各位分享一下制作基于Html5的3D全景漫游秘籍. QQ物联与深圳市天文台合作,在手Q“发现新设备”-“公共设备”里,连 ...
- 打造自己的3D全景漫游
three.js 示例: 打造H5里的"3D全景漫游"秘籍 - 腾讯ISUX QQ物联星球计划 通过pano2vr直接将鱼眼全景图生成立体空间的六个面:也可通过Photos ...
- <Three.js>(第三节)全景漫游
一.实验内容 通过上次实验,了解了Three.js创建场景的基本步骤.这一节,我们将通过Three.js实现全景漫游功能.如下图: 全景图是获取一个3D场景中的不同角度的图片,然后通过拼接.融合实现3 ...
- 轩辕展览-VR虚拟展厅设计如何实现全景漫游功能
什么是在线3d漫游?如何在VR虚拟展厅设计之中实现3d漫游功能?让我们来分享3dVR虚拟展厅的在线漫游. 实际上,在线3d漫游就是通过3d仿真场景,使用鼠标和键盘在虚拟空间之中自由漫游,它可以从高空俯 ...
- 摸索js的3d全景
先我在网上找到了一个例子,http://silali.vicp.net/three/emaple.html 完美实现3d全景,在详细查看这个例子后,发现他在手机上运行并不流畅,而且显不全并会卡顿. 我 ...
- 3D全景!这么牛!!
如果你用过网页版的百度地图,你大概3D全景图浏览是一种怎样的酷炫体验:在一个点可以360度环顾周围的建筑.景色,当然也可以四周移动,就像身临其境. 全景图共分为三种: ①球面全景图 利用一张全景图围成 ...
- three.js全景漫游实践
Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动力!GitHub 地址 简介 全景图分两种 由六张正方形图片组成的SkyBox 一整张的宽高比为 ...
- ThreeJs 3D 全景项目开发总结
本文来自网易云社区 作者:唐钊 项目背景 那是在一个毫无征兆的下午,我还沉浸在 vue 的世界中,突然编辑跑过来说N的新官网想做一些3D全景的东西,一开始其实我的内心是拒绝的,一是没怎么实质性做过 W ...
- 3D全景之ThreeJs
3D全景之ThreeJs 一.前言 随着H5越来越多的被应用到各个领域,3D也越来越频繁的出现在各个H5案例中,今天我们就来讨论一下3D全景的实现. 据百度百科上介绍:720全景是视角超过人的正常视角 ...
随机推荐
- 020 Valid Parentheses 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.括号必须以正确的顺序关闭,"()" 和 "()[]{}" 是有效的 ...
- B. Tell Your World
http://codeforces.com/contest/849/problem/B 题目是给出n个点,要求把这n个点分成两组,每组都是一条直线.而且这两组不能为空,还要是平行的. 思路: 对于前3 ...
- UiAutomator新建工程
新建工程步骤: 1.打开Eclipse 2.新建一个java工程UiAutomatorDemo1,然后新建一个包com.hhb 3.选中java工程,右击新建文件夹,命名为libs,在D:\Andro ...
- UiPath Studio 快捷键
掌握快捷键可以事半功倍,写一下比较重要的 1. Ctrl + J 插入代码片段 2. Ctrl + K 快速建变量 3. Ctrl + L 打开日志文件夹 4. Ctrl + F4 关闭当前机 ...
- VMware ESXi5忘记登录密码解决办法
很久没有登录ESXi5了,今天登录发现忘记密码了: 网上搜索到的方法都是使用linux其他版本的镜像的恢复模式来重置密码(尝试过了,ESXI自己的镜像没有恢复模式).于是使用现有的Ubuntu镜像来操 ...
- bootstrapTable的数据后端分页排序
数据后端分页排序,其实就是sql语句中oeder by做一些限制. 之前在写sql语句中的order by是写死,既然要写活,就要传参数到后台. 之前讲到bootstrapTable的queryPar ...
- ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题
1.前言 问题:在部分Android机型中使用ArcGIS for Android 10.1.1 API 中文标注导致程序异常崩溃. 说明:手里有两台机器一台是Nexus4,原生系统,版本4.4.4, ...
- LeetCode Reverse Words in a String 将串中的字翻转
class Solution { public: void reverseWords(string &s) { string end="",tem="" ...
- POJ 3046 Ant Counting(递推,和号优化)
计数类的问题,要求不重复,把每种物品单独考虑. 将和号递推可以把转移优化O(1). f[i = 第i种物品][j = 总数量为j] = 方案数 f[i][j] = sigma{f[i-1][j-k], ...
- Mybatis-动态 SQL语句
if标签 判断语句,用户单条件分支判断 where标签 为了简化上面where 1=1的条件拼装,我们可以采用标签来简化开发 同 foreach标签 场景:传入多个 id 查询用户信息 标签用于遍历集 ...