基于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 相关文章推荐
js left,right,mid函数
Jun 10 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
js实现带圆角的两级导航菜单效果代码
Aug 24 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
Jun 23 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 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
消息持续发送的完整例子
2006/10/09 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
我的javascript 函数链之演变
2011/04/07 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
vue中如何使用ztree
2018/02/06 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
python字符串连接方法分析
2016/04/12 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
用Eclipse写python程序
2018/02/10 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
数控专业自荐书范文
2014/03/16 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
公司租车协议书
2015/01/29 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python