基于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 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
javascript闭包的理解和实例
Aug 12 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
jquery表格内容筛选实现思路及代码
Apr 16 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
原生js模拟淘宝购物车项目实战
Nov 18 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
vue组件的路由高亮问题解决方法
May 11 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来实现网络服务
2009/09/15 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
详解redux异步操作实践
2018/08/15 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
Python过滤序列元素的方法
2020/07/31 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
《雪儿》教学反思
2014/04/17 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
个人租房协议书
2014/11/28 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
PHP设计模式(观察者模式)
2021/07/07 PHP
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB