【案例】VR全景图:效果+源码

狠人话不多说,直接放视频效果地址

一、效果

1.视频效果

视频效果地址:点击这里

2.图片效果

在这里插入图片描述

二、构思

  • 该怎么实现?
  • 页面如何布局
  • 页面是否可随意控制显示

1.功能

  • 控制页面显示数量
  • 可放大控制全景图+自动播放
  • 左右按钮控制上一页或下一页(尾页:下一页按钮隐藏,首页:上一页按钮隐藏)

2.过程

过程中初次想一次性展示全部,实现了,后面发现当全景图超过16个时,后16个显示没问题,前面几个无法显示,控制台提示。

1.问题

警告:WARNING Too many active WebGL contexts. Oldest context will be lost.
翻译:警告太多活动的WebGL上下文。最古老的上下文将丢失。
建议:不要超过16个

2.解决方案

可观区域最多显示16,不然就报错/警告

  1. 懒加载
  2. 分页加载(笔者选择,简单)

3.实现

第一步:下载photo-sphere-viewer插件
npm install --save photo-sphere-viewer

第二步:导入插件
import {Viewer} from ‘photo-sphere-viewer’;
import ‘photo-sphere-viewer/dist/photo-sphere-viewer.css’;

第三步: 初始化插件
let str = ‘#viewer’+String(x)
// 节点增删
const odiv = document.querySelector(str)
const container = odiv.querySelector(‘.psv-container’)
if (container) {
odiv.removeChild(container)
}
// vr
new Viewer({
container: document.querySelector(str),
panorama: vrlist[x].url, // vr地址
// caption: ‘某某小区几号楼二单元****’,
caption: <div style="color:white;font-family:'仿宋';font-size:20px;"><b>${vrlist[x].name}</b></div>,
description:‘描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述’,
downloadUrl: ‘’,
size: {
width: this.widthValue+‘px’,
height: this.heightValue+‘px’,
},
minFov: 0,
maxFov: 100,
defaultZoomLvl: 0,
fisheye: true,
//vr功能按钮 **** 缩放 标题 全屏 移动 下载
navbar: [‘autorotate’, ‘zoom’, ‘caption’, ‘fullscreen’, ‘move’, ‘download’ ]
})

第四步:
根据自己的要求去实现事件就行

三、源码

<template><div id="vr" :style="{'height':vrheight+'px','overflow-y': 'auto'}" @mouseover="Mouseover()" @mouseleave="Mouseleave()"><div v-show="btuShow"><div v-show="leftShow" style="position:absolute;width:50px;height:80px; top:43%;left:15px; z-index:101; background:rgba(0,0,0,0.3); " @click="PageFeedClick('-')"><van-icon name="arrow" color="#000" size="50px" style="top:20%;" /></div><div v-show="rightShow" style="position:absolute;width:50px;height:80px; top:43%;right:15px; z-index:101; background:rgba(0,0,0,0.3); " @click="PageFeedClick('+')"><van-icon name="arrow-left" color="#000" size="50px" style="top:20%;" /></div></div><div class="choose"><el-row><el-col :span="12"><ol><li>0000</li></ol></el-col><el-col :span="12"><el-select v-model="selectvlaue" @change="selectChange" placeholder="请选择...."><el-option label="1(显示数量为1)" value="1"></el-option><el-option label="2(显示数量为2)" value="2"></el-option><el-option label

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63531.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web实现全景图的交互展示

Web实现全景图的交互展示 不需要学习其他知识&#xff0c;小白也能实现全景图AR展示一、webVR全景图多种方案实现&#xff08;aframe&#xff0c;Krpano&#xff0c;three,jquery-vrview等等&#xff09;二、用krpano之前的一些知识准备三、krpano的购买、下载、注册四、做一个…

全景图的获取以及HTML页面显示全景图

目录 前言 1. 使用全景相机拍摄 2.手机app拍摄 3.使用爬虫爬取 二、全景图显示 总结 前言 随着前端技术的不断发展&#xff0c;图像的展示越来越重要&#xff0c;本文就介绍了全景图获取与显示的基础内容。 一、全景图片获取方法 1. 使用全景相机拍摄 拍摄的图片在2维显示下…

PTGui+PS生成全景图

1.打开PTGui&#xff0c;加载影响&#xff0c;拖入需要生成的全景图文件 2.点击对齐影像 3.点击创建全景图片 4.把生成的全景图导入到PS&#xff0c; 由于生成的全景图天空是空缺的&#xff0c;需要使用PS修复 套索选中黑色区域&#xff0c;右击填充即可。如遇到内存不足&#…

百度全景图/内景图切换示例

先看效果&#xff1a; 外景图 内景图&#xff1a; 具体代码&#xff1a; <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name"viewport" content&qu…

什么是全景图?如何进行vr全景图拍摄

照片可以记录生活中的精彩的片段&#xff0c;而且照片的种类也分为很多&#xff0c;比如人像图&#xff0c;美食图&#xff0c;风景图等&#xff0c;其中有一种照片称为大像素全景图&#xff0c;大像素是全景的一种比较超高清的全景图&#xff0c;他不仅可以保留vr全景技术的所…

自己制作并发布720°VR全景图

大疆内置的全景图不好用&#xff0c;导出就成了平面图了&#xff0c;只能在他的“天空之城”上看&#xff0c;很不方便&#xff0c;而且他的全景图像素降低了&#xff0c;所以我们要自己制作。 1、先用大疆或者其它设备拍一组全景照。 2、然后下载并安装“PTGui”软件&#xff…

浪潮信息Inspur KOS性能及稳定性位列前茅 与万里安全数据库GreatDB高效兼容

为满足企业在数据安全、产品可控等数字化转型中的多样化需求&#xff0c;浪潮信息正基于技术与应用的深厚积累&#xff0c;持续优化创新产品及服务能力&#xff0c;助力企业在数智化时代下构筑黑心竞争力。日前&#xff0c;浪潮信息打造的Inspur KOS V5与万里安全数据库软件Gre…

随便聊聊浪潮开务数据库

今天这个话题挺随意&#xff0c;我们来聊聊浪潮开务数据库&#xff0c;原因主要是我的微信朋友圈被这个数据库刷屏了。当然我对这款号称多模数据库的非开源数据库也很感兴趣&#xff0c;也有很多疑问&#xff0c;希望各位专家能帮忙答疑解惑&#xff0c;揭开这款即将发布的 Kai…

浪潮信息推出服务器操作系统Inspur KOS的底气与豪气

近日&#xff0c;浪潮信息正式发布了其基于Linux内核、OpenAnolis等开源成果自主研发的服务器操作系统Inspur KOS&#xff0c;这为本就热闹非凡的自主操作系统市场再次带来涟漪。 何以推出Inspur KOS&#xff1f; 浪潮信息副总裁张东表示&#xff0c;“智慧时代&#xff0c;计…

20220624使用python3通过近6期的号码生成双色球红球

20220624使用python3通过近6期的号码生成双色球红球 2022/6/24 18:33 https://zst.cjcp.com.cn/shdd/ssq-hq.html 双色球红球杀号 首先获取近100期的双色球的红球号码。 【本例子以2022-06-21号算号为例子】 获取最近的6期的号码&#xff1a; 04 06 12 13 17 31 09 14 18 23…

php双色球(完整)

显示效果&#xff1a; 代码&#xff1a; <?php // 红色球号码区$red range(1, 33);// 随机选出6位数字for ($i0; $i < 6; $i) { $num array_rand($red); $redArr[] $red[$num];unset($red[$num]);}// 将选出来的6位数字小于10的补零foreach ($redArr as $v) {$red_b…

Proteus8.11的卸载与安装

写在前面&#xff1a;本来之前根据公众号的资料安装过&#xff0c;但是最近突然莫名其妙开始闪退&#xff0c;写的数码管显示程序在别人的电脑能跑&#xff0c;自己的数码管显示程序总闪退&#xff0c;搜索以后得知可能是软件安装的问题&#xff0c;就打算重装。卸载安装兜兜转…

《流浪地球》中的人工智能Moss背叛人类了吗?

编者按&#xff1a;《流浪地球》实在太火了&#xff0c;整个网络都在讨论这部电影。看过电影的人&#xff0c;一定记得这句经典台词&#xff0c;但刘培强决定要牺牲自己去点燃木星时&#xff0c;人工智能Moss说到&#xff0c;“让人类永远保持理智&#xff0c;确实是一种奢求”…

热分析TG-DTG-DTA-DSC介绍

热分析&#xff1a;1903年由Tammann提出&#xff0c;指用固定的速率加热或冷却物质&#xff0c;然后通过测量物质物理性质(如质量、温度、热焓、尺寸、机械、电学、磁学)研究物质物理变化(晶型转变、熔融、升华、吸附)和化学变化(脱水、分解、氧化、还原)的技术。我们常用到的热…

【化学信息学】药物研发的过程和意义

药物研发的过程和意义 1. 药物研发过程简介2. 药物发现2.1 Target Discovery2.2 Target Validation2.3 Lead Compound Identification2.4 Lead Optimization 3. 临床前药物开发4. 药物设计的意义5. 药物研发案例&#xff1a;卡托普利参考资料 1. 药物研发过程简介 现代药物的研…

【ChatGpt体验】ubuntu18安装Cursor编译器

国内使用chatgpt的话比较麻烦&#xff0c;找了好多教程都不太行&#xff0c;突然看到了OpenAI推出的编写代码神器Cursor。赶紧来上手体验一波~~ Cursor 官网传送门&#xff1a;Cursor windows的话直接安装即可&#xff0c;我这里使用的是ubuntu18&#xff0c;需要升级下相应…

用户注册 v1 -根据手机号注册用户

注册流程图 1. 校验手机号是否合法 public boolean verifyPhone(String phone) {Pattern pattern Pattern.compile("^[1]\\d{10}$"); // 正则&#xff1a;手机号&#xff08;简单&#xff09;, 1字头&#xff0b;10位数字即可.return pattern.matcher(phone).matc…

unity(登录注册用手机号短信验证)

短信验证 1、短信验证我是通过mob的SMSSDK实现的&#xff08;free&#xff09; 官网下载&#xff1a;http://www.mob.com/wiki/detailed?wikiSMSSDK_for_Unity3D&id23 2、在mob上注册一个账号&#xff0c;创建应用获得key和secret 替换案例中demo中的key和secret&#x…

chatgpt赋能python:Python如何设置字体大小:完美掌握方法

Python如何设置字体大小&#xff1a;完美掌握方法 你是否想要掌握Python如何设置字体大小&#xff1f;如果答案是肯定的&#xff0c;那么你来到了正确的地方。在本文中&#xff0c;我将向您介绍Python如何设置字体大小&#xff0c;以帮助您在编写代码时达到最佳效果。 为什么…

chatgpt赋能python:Python中文SEO设置指南

Python中文SEO设置指南 随着中国市场的不断扩大&#xff0c;越来越多的企业和开发者开始将目光投向了中文市场。而在中文市场&#xff0c;优化网站的SEO是至关重要的。在Python编程中也需要考虑中文SEO问题&#xff0c;因此本文将介绍如何在Python中设置中文SEO。 什么是中文…