基于Three.js实现360度全景图片


Posted in Javascript onDecember 30, 2018

Three.js 是一款运行在浏览器中的3D引擎, 处理三维效果。在一些相机的官网首页中,经常有一张图在旋转,图上面悬浮着文字。这种效果是如何做出来的呢?先看效果,再讲解。

基于Three.js实现360度全景图片

1).建立一个java web 工程(或者其他工程), 因为three.js 的全景图要通过服务端浏览(安全的考虑)

基于Three.js实现360度全景图片

2).在上面的结构中,只有css中的index.css是自定义的,其余css和js都属于three.js自带的工具文件。包含图片在内,已经上传资源了,点击此处下载。

3).index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!doctype html>
<html lang="zh">
<head>
 <meta charset="UTF-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>基于Three.js的360度全景图片</title>
 <link rel="stylesheet" type="text/css" href="css/normalize.css" />
 <link rel="stylesheet" type="text/css" href="css/default.css" >
 <link rel="stylesheet" type="text/css" href="css/index.css" >
 <script src="js/three.min.js"></script>
 <script src="js/photo-sphere-viewer.min.js"></script>
</head>
<body>
 <div class="container">
 <div class="description">
  <h1>苑中遇雪</h1>
  <p> 紫禁仙舆诘旦来,青?缫R型?禾ā?lt;/p>
  <p>不知庭霰今朝落,疑是林花昨夜开。</p>
 </div>
 <div id="my-pano" class="pano"></div>
 </div> 
</body>
<script>
 window.onload = function() {
  var div = document.getElementById('my-pano');
  var PSV = new PhotoSphereViewer({
  // Panorama, given in base 64
  panorama: 'images/snow.jpg',

  // Container
  container: div,

  autoload:true,

  // Deactivate the animation
  time_anim: 2000,

  // Display the navigation bar
  navbar: true,

  // Resize the panorama
  size: {
  width: '70%',
  height: 700
  }
 });
 };
 </script>
</html>

4).index.css

body{ text-align:center} 
.container {
 margin:0 auto;
}
.pano {
 margin:0 auto;
 z-index:1;
}
.description {
 width:400px;
 left:350px;
 margin-top:40px;
 z-index:100;
 position:absolute;
 float:left; 
}
.description h1 {
 font-size:40px;
 color:#FFF
}
.description p {
 font-size:22px;
 color:#FFF
}

5).根据实际应用在浏览器测试,全景图可自动旋转、可鼠标拖拽转动、可全屏

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 24小时弹出一次的代码(利用cookies)
Sep 03 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
封装好的一个万能检测表单的方法
Jan 21 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
JQuery实现动态添加删除评论的方法
May 18 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
node.js中 stream使用教程
Aug 28 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
纯JS打造网页中checkbox和radio的美化效果
Oct 13 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
Dec 05 Javascript
详解webpack+gulp实现自动构建部署
Jun 29 Javascript
Vue入门之animate过渡动画效果
Apr 08 Javascript
three.js实现圆柱体
Dec 30 #Javascript
three.js实现炫酷的全景3D重力感应
Dec 30 #Javascript
Three.js实现3D机房效果
Dec 30 #Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 #Javascript
three.js搭建室内场景教程
Dec 30 #Javascript
Three.JS实现三维场景
Dec 30 #Javascript
Three.js实现简单3D房间布局
Dec 30 #Javascript
You might like
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
不错的新闻标题颜色效果
2006/12/10 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python中实现switch功能实例解析
2018/01/11 Python
python3人脸识别的两种方法
2019/04/25 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
Python的信号库Blinker用法详解
2020/12/31 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
市场营销专业推荐信
2013/11/03 职场文书
写给保洁员表扬信
2014/01/08 职场文书
出生证明公证书
2014/04/09 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
美容院管理规章制度
2015/08/05 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
Python作用域和名称空间的详细介绍
2022/04/13 Python
Redis实现一个账号只能登录一个设备
2022/04/19 Redis
nginx配置指令之server_name的具体使用
2022/08/14 Servers