介绍几款生成360全景图的js插件

随着今年疫情的出现,网上看房的一波浪潮兴起,360度全景照片又火了一把,今天给大家介绍几种js生成360全景照片的方法。
一、Photo Sphere Viewer
这个是基于three.js的全景插件 photo-sphere-viewer.js,方便好用,只要将全景图片路径设置好就好了,示例代码如下:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BFW NEW PAGE</title>
<script id="bfwone" data="dep=three|uevent.min|doT.min|polyfill.min&err=0" type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
<script type="text/javascript">
bready(function() {
use(["photo-sphere-viewer.min", "photo-sphere-viewer.min"], function() {
var viewer = new PhotoSphereViewer({
container: 'viewer',
panorama: 'http://repo.bfw.wiki/bfwrepo/image/panorama.jpg'
});
});
});
</script>
<style>
#viewer {
width: 100vw;
height: 100vh;
}
</style>
</head>
<body>
<div id="viewer"></div>
</body>
</html>
二、Watch3D
Watch3D采用的是css的特性,利用perspective和transform的属性来实现,相比较webgl上手比较简单,他不仅实现了360度的全景,而且实现了多个场景标签的相互切换,非常方便,完整示例代码如下:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BFW NEW PAGE</title>
<script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
<script type="text/javascript">
bready(function() {
use(["watch3D.min", "watch3D.min"], function() {
let layer = document.querySelector(".layer");
let w3d = new watch3D({
wrapper: ".wrapper",
autoplay: true,
width: 5000,
height: 2500,
num: 12,
maxY: 25,
tips: {
0: {
styles: {
"height": "100px",
"width": "100px",
"background-color": "#6cf",
"text-align": "center",
"margin-right": "10px",
"color": "#fff",
"cursor": "pointer"
},
content: "风景1",
callback: function(e) {
w3d.pause();
w3d.changeData({
num: 10,
resource: "http://repo.bfw.wiki/bfwrepo/image/5ed629d01fa50.png"
}, true);
}
},
1: {
styles: {
"height": "100px",
"width": "100px",
"background-color": "#6cf",
"text-align": "center",
"margin-right": "10px",
"color": "#fff"
},
content: "美女",
callback: function(e) {
w3d.pause();
w3d.changeData({
num: 15,
resource: "http://repo.bfw.wiki/bfwrepo/image/5ed629fb039b4.png"
}, true);
}
},
3: {
styles: {
"height": "100px",
"width": "100px",
"background-color": "#6cf",
"text-align": "center",
"margin-right": "10px",
"color": "#fff",
"font-size": "24px"
},
content: "自动播放",
callback: function(e) {
w3d.play();
}
},
4: {
styles: {
"height": "100px",
...点击查看剩余70%
网友评论0