基于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 相关文章推荐
让div层随鼠标移动的实现代码 ie ff
Dec 18 Javascript
jquery ajax,ashx,json的用法总结
Feb 12 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
Apr 03 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
Aug 16 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
Jan 19 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
Mar 30 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
Vue-Router的使用方法
Sep 05 Javascript
vue实现按需加载组件及异步组件功能
May 27 Javascript
使用react context 实现vue插槽slot功能
Jul 18 Javascript
js脚本中执行java后台代码方法解析
Oct 11 Javascript
vue $set 给数据赋值的实例
Nov 09 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调用三种数据库的方法(2)
2006/10/09 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
PHP写日志的实现方法
2014/11/05 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
JS简单计算器实例
2015/01/20 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
js瀑布流布局的实现
2020/06/28 Javascript
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
读书活动总结范文
2014/04/26 职场文书
违纪开除通知书
2015/04/25 职场文书
电影建国大业观后感
2015/06/01 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
Python实现单例模式的5种方法
2021/06/15 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技