全景漫游常见制作方法对比
Example
krpano
Krpano功能介绍
Krpano viewer的主程序所使用的XML文件十分简洁,默认情况下仅可以做到场景的载入。其他所有功能,都以插件的形式实现,而每个插件既可以在自己的XML文件进行配置。 然后供主程序XML文件调用,也可以在主程序的XML文件中直接在<plugin>
标签引入并进行配置。这样做的好处就是功能明确,结构清晰,便于扩展,利于维护。
Krpano的所有标签如下
|
|
three.js
通过
pano2vr
直接将鱼眼全景图生成立体空间的六个面;也可通过Photoshop
或其他的专业3D建模工具,将鱼眼图贴到3D球面上,再将球面转为立方面,获得立体空间的六个面。使用到的JS库:
- three.min.js
- CSS3DRenderer.js
设置相机
|
|
设置场景
|
|
定义3D空间的6个面的背景
|
|
将定义好的6各面添加到空间中,并为每个空间指定ID
|
|
设置渲染器
|
|
空间实时渲染
|
|
为每个面构建空间的图标物件
|
|
窗体大小改变更新相机
|
|
监听鼠标事件
|
|
监听触摸事件
|
|
基于Three.js的360X180度全景图预览插件
Photo Sphere Viewer是一款基于Three.js的360X180度全景图预览js插件。该js插件可以360度旋转查看全景图,也可以上下180度查看图片。使用该插件的唯一要求是浏览器支持canvas或WebGL。
使用方法
使用该全景图插件时要引入three.min.js和photo-sphere-viewer.min.js文件。
|
|
HTML结构
可以创建一个空的<div>
来放置全景图,通过CSS来设置它的尺寸。
|
|
初始化插件
要初始化该全景图插件,可以创建一个新的PhotoSphereViewer对象,然后在这个对象中插入一个参数对象,有两个参数是必须设置的:
|
|
配置参数
下面是该全景图插件的所有可用配置参数:
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
。当全景图准备就绪并且第一张图片显示时的回调函数。