基于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 相关文章推荐
JQuery的ready函数与JS的onload的区别详解
Nov 21 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
Mar 04 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
小程序实现左右来回滚动字幕效果
Dec 28 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 Javascript
原生JS实现烟花效果
Mar 10 Javascript
vue监听键盘事件的相关总结
Jan 29 Vue.js
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中isset与empty函数的困惑与用法分析
2019/07/05 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
JS实现的视频弹幕效果示例
2018/08/17 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
警察思想汇报
2014/01/04 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
明信片寄语大全
2014/04/08 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
Python基础之元类详解
2021/04/29 Python
Python面向对象编程之类的概念
2021/11/01 Python
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技