基于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 相关文章推荐
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
vue中keep-alive的用法及问题描述
May 15 Javascript
angular2实现统一的http请求头方法
Aug 13 Javascript
详解JavaScript 为什么要有 Symbol 类型?
Apr 03 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 Javascript
使用Vant完成Dialog弹框案例
Nov 11 Javascript
Vue和Flask通信的实现
May 19 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自动反斜杠的函数代码
2010/01/05 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue根据值给予不同class的实例
2018/09/29 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python模块之re正则表达式详解
2017/02/03 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
flask框架视图函数用法示例
2018/07/19 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
北京某公司的.net笔试题
2014/03/20 面试题
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
求职简历中个人的自我评价
2013/12/01 职场文书
校外活动方案
2014/08/28 职场文书
2014年校长工作总结
2014/12/11 职场文书
销售员自我评价
2015/03/11 职场文书
通知函格式范文
2015/04/27 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫