web实现全景图的交互展示

article/2025/11/4 22:03:54

Web实现全景图的交互展示

  • 不需要学习其他知识,小白也能实现全景图AR展示
    • 一、webVR全景图多种方案实现(aframe,Krpano,three,jquery-vrview等等)
    • 二、用krpano之前的一些知识准备
    • 三、krpano的购买、下载、注册
    • 四、做一个简单的漫游全景图
    • 五、总结

不需要学习其他知识,小白也能实现全景图AR展示

自己对于we前端开发来说也属于新手,这也是本人接到的第一个项目技术要求,尝试了许多次也算有个折磨的过程,我的失败经验应该能解决大部分人对于全景图的展示:

一、webVR全景图多种方案实现(aframe,Krpano,three,jquery-vrview等等)

  1. 第一种方案:three.js 作为作为前端界全景、3D大哥,无论是哪里搜索,只要搜索全景的插件,都会搜到这位大哥。
    官方地址:three.js官网
    官方学习地址:https://threejs.org/examples/#css3d_panorama
    源码:简单,引入three,引入3d
    实现:2:1的全景在PC端,可以预览,左右上下 鼠标移动
    优点:可调节细节比较多,对于技术大佬这才是展示拳脚的地方。
    缺点:PC端不能放大缩小,图片需要裁剪六张,移动端,不能放大缩小,更加糟糕的是渲染滴很差,手机也是如此(也有可能是我技术不到位)
    (因为尝试了几个效果都不好,而且代码也比较长,有需要的可以去官网看看,讲的也很详细)
  2. 第二种方案:A-frame
    官方地址:A-frame官方地址
    官方案例:案例展示
    源码:真是太简单了,引入aframe 框架<a-sky></a-sky>
    实现:2:1的全景在PC端,可以预览,左右上下 鼠标移动,还支持VR模式。
    优点:简单方便,就真的操作无脑
    缺点:PC端不能放大缩小,移动端只能左右移动,不能放大缩小,不能上下滑动
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script><title>Document</title>
</head>
<body><a-scene><a-sky src="./img/2.jpg"></a-sky></a-scene>
</body>
</html>

个人觉得aframe是一个非常好用得插件,提供了新的标签以后,就可以更通过CSS即可修饰,对于一些像我这样的JS基础不强的人来说还是非常友好,但是确定pc端和移动端不能放大缩小的缺点不能达到项目要求。
3. 第三种方案:krpano 是看了很多大佬的意见,一开始也觉得很难,因为听说还需要使用xml来使用,但是实际操作起来并不难甚至对于简单的漫游来说,简直是傻瓜式操作,并且这个比起之前的终于能实现要求了!!!(下面我也会详细讲讲如何实现)
官方地址:https://krpano.com/
中文教程:http://www.krpano360.com/
实现:2:1的全景在PC端,可以预览,左右上下鼠标移动,能够放大缩小,移动端也完美具备这些需求,完全符合我的需求,并且没有锯齿
优点:能满足大部分对于全景图的需求,对接简单的漫游,傻瓜式操作,有个类似图形化界面工具,可以直接添加热点(720云的底层也是用krpano写的)
缺点:首先就是这款是付费的,而且159欧元的价格,换算人民币就是1300+,还是让不少人劝退的,其次就是很多都是插件包自带的脚本,相当于一个成熟的商品,可修改性就很差。

二、用krpano之前的一些知识准备

xml文件是什么?
很多人和接触过一些前端知识的人都会拿xml和html做一个比较,我这里就主要讲一下这二者的一下区别和联系把:
1、XML不是用来替换HTML的技术;

2、XML和HTML为不同的目的而设计;

3、XML设计的核心是包含和传输数据,而HTML设计的核心是显示数据。
然后我自己也查看了一些资料,有一位大佬写的笔记写的很好,想深入学习的朋友可以看看哦。

三、krpano的购买、下载、注册

购买krpano
购买前需要一张双币信用卡或者paypal账户(类似我们的支付宝)
进入购买的官网:(https://krpano.com/buy)

这里的159欧元的是基础内核款的,项目在各种设备上包括手机浏览器上都是没有问题的。
首次购买购买基础款就可以拉,如果有必要在购买去除右侧菜单中krpano版权信息的299欧元。
输入邮件地址这个很重要,你购买以后官方会通过邮箱将注册码发给你。
(看不懂英文的小伙伴,krpano官网都是支持英汉互译,谷歌浏览器在右上方)
下载krpano
直接进入官网:https://krpano.com/download/
在这里插入图片描述
可以看到win、osx、Linux三大主流版本的压缩包,我的是win64位,就直接下载了(由于是外国网站,下载速度比较慢)
注册krpano
这里需要注意的一点,之所以需要购买注册码,也就是区分用户,也就是如果你所使用的krpano程序当前所登录的系统用户没有注册,就会有很明显的水印(这也是本人一开始和很绝望的一点)
打开下载的安装包解压,在文件中找到krpano Tools.exe
在这里插入图片描述
只要是新版本都会弹出一个输入注册码的框,直接复制官方邮箱发你的拿一串东西就好了
更详细的步骤可以看http://www.krpano360.com/buykrpano/

四、做一个简单的漫游全景图

弄好一切以后呢,就开始我们使用这个插件的环节拉,首先,得去找度娘找几张全景图(这里的全景图最好是2:1的
以win32位为例,解压好的文件夹可以看到很多个bat文件,具体的实现功能我就直接截图拉
在这里插入图片描述
这里官方建议是使用MAKE VTOUR (VR-OPT) droplet.bat,直接将找好的图片拖入这个指令程序中。
在这里插入图片描述
则会弹出命令提示符窗口,有些电脑会直接执行,并且生成一个文件夹,而我的电脑需要完成几个指令
在这里插入图片描述
完成这些以后,我们就可以打开生成的文件夹(文件夹的名字不一定会小编的一样),点击里面的
在这里插入图片描述

如果点击了html文件也没有关系,找到最开始的krpano文件夹,找到krpano Testing Server.exe直接启动
在这里插入图片描述
当启动打开网页就可以看到展示的图片拉
在这里插入图片描述
由于小编也是没有钱,并未购买,所以可以看到还是有很多水印的,但是基本的功能是可以实现的
如果没有看懂的小伙伴这里有个视频讲解欢迎食用哦https://haokan.baidu.com/v?vid=3791900632166741117&pd=bjh&fr=bjhauthor&type=video
当然这个时候就会有人问,热点是如何实现的呀(这里的热点是全景图的一个叫法,其实就是一个光标,比如跳转到下一张图的工具),由于小编也是没有购买,所以其实这个功能是购买注册码以后是可以实现的,如果购买了注册码在生成文件夹里面会多带有一个生成文件夹名_editor.html文件,这个里面会直接由图形化界面工具,是可以添加热点的。
也可也去看看购买注册码后的视频展示:https://v.qq.com/x/page/m0133n9wcka.html

五、总结

1.关于软件注册码付费问题
其实大家都看到了krpano的功能应该都是有小小的心动,但是价格确实让人劝退,我看了很多资料,其实是由破解版本和低价购买的方式的,后期我会专门更新一篇博客。
2.代码端问题
可能很多小伙伴作为程序员,看到这么简单的操作,都会觉得好像没有啥挑战性,也体现不出自己的技术,关于这块,其实还是会由代码端的操作,而且就是前面所说的xml文件的操作,其实krpano这款插件有点类似MYSQL数据库又有图形化界面工具也有代码端输入输出,后续我继续出关于这款全景图的使用经验,这也是我以后的一个方向。
3.自己总结的全景图三个核心问题
全景图片的调节问题:对于一个做产品,就得想到怎么样让自己的团队,以及客户更加简单高效的完成一个项目,而这个全景图的拍摄不可能每次都会像百度搜索的刚好2:1,而前端工程师能不能使用css样式就可以完成这样的调节。(当然如果我想到了也会分享给大家)
热点的安放和交互问题:做一个全景场景不可能是单单的一张图片,如果使用自己熟悉的插件或者语言实现就是一个重要的内容。
关于热点跟踪问题:现在的webAR.js和最新版本的three.js都是可以实现追踪效果的,而krpano也是可以的
关于移动端用到陀螺仪和重力感应:这个可以直接使用插件gyro.js

 <plugin name="skin_gyro"         keep="true"  url="%SWFPATH%/plugins/gyro.js"  enabled="false" camroll="true" friction="0" velastic="0" onavailable="set(layer[skin_btn_gyro].visible,true); skin_onresize();" />

最后,这是本人第一次写博客,自己也不是什么前端大佬,如果有错误得地方多多包涵,欢迎指点,路过的大佬不喜勿喷。


http://chatgpt.dhexx.cn/article/SXVLFNTE.shtml

相关文章

WEB UI设计规范

Web应用界面设计规范&#xff08;Design Specification for Web UI&#xff09; 主讲人&#xff1a;ARay 目录&#xff1a; 一、软件界面规范的重要性及其目的 二、用户体验为何如此重要 三、Web规范体系介绍 四、界面设计开发流程 五、应该遵循的基本原则 六、界面设计规范 …

Web 与 App 数据交互原理和实现

作者 | 张小虎 杏仁前端开发工程师&#xff0c;前 iOS 开发工程师&#xff0c;关注前端技术栈。 背景 点击图片查看大图已经成了用户浏览页面时的一种习惯&#xff0c;原生 App 往往都实现了这些图片处理功能&#xff08;点击查看、缩放、保存、滑动浏览等&#xff09;。对于 W…

人机交互-8-交互式系统设计

1. 设计框架 过早地把重点放在小细节、小部件和精细的交互上会妨碍产品的设计 先站在一个高层次上关注用户界面和相关行为的整体结构房屋设计举例 设计框架 定义高层次上的屏幕布局定义产品的工作流、行为和组织 1.1. 定义外形因素和输入方法 外形因素 设计什么样的产品&am…

人机交互-2-交互设计的原则与方法

交互设计的原则与方法 交互设计中的问题 尽量减少用户需要记忆的部分缺乏反馈 1. 目标Goal vs. 意图Intention 单个目标可对应多个意图 举例:删除文档中的部分内容的目标意图1:通过编辑菜单删除意图2:通过删除按钮删除每个意图可包含一系列活动 2. EEC模型 从用户视角探…

网页交互性设计

对于任何一个Web应用&#xff0c;与用户互动是最基本的要求。为Web应用增加交互性&#xff0c;最常用的方法&#xff0c;莫过于使用 Javascript 或 jQuery、AJAX 了。 本节不打算详细介绍这几种技术&#xff0c;只是简要介绍在网页版 word 中&#xff0c;如何使用这些技术来实…

web与服务器之间的信息交互,web客户端与服务器端如何进行交互

web客户端与服务器端如何进行交互 内容精选 换一换 开启了 Kerberos认证的安全模式集群,进行应用开发时需要进行安全认证。Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”,后来沿用作为安全认证的概念,使用Kerberos的系统在设计上采用“客户端/服务器”结…

网易交互设计师微专业C5 交互设计测试与评估

如果有需要视频资源的可以关注"AI产品经理人"&#xff0c;回复关键字“网易交互设计微专业”获取下载链接~ Chapter5 交互设计测试与评估 第一章 为什么要开展测试与评估 用户测试&#xff1a;请目标用户使用产品来完成任务&#xff0c;观察并记录用户使用产品的…

网易交互设计师微专业C3 规范信息架构与流程设计

如果有需要视频资源的可以关注"AI产品经理人"&#xff0c;回复关键字“网易交互设计微专业”获取下载链接~ Chapter3 规范信息架构与流程设计 第一章 信息架构设计 &#xff08;一&#xff09;认知产品信息架构 定义&#xff1a; 信息架构设计是对信息进行结构…

【人机交互技术】Web界面设计

一、实验目的和要求 1&#xff09;熟悉 Web 站点的信息交互模型和结构 2&#xff09;熟悉 Web 界面设计的基本思想和原则 3&#xff09;掌握 Web 界面设计的工具和技术 二、实验内容与步骤 1&#xff09;实验内容: 要求根据 Web 界面设计的原则(简洁、一致性、对比度)&#…

尼尔森十大交互设计原则

前言 Jakob Nielsen&#xff08;雅各布尼尔森&#xff09;的十大交互设计原则。它们被称为“启发式”&#xff0c;因为它们是广泛的经验法则&#xff0c;而不是特定的可用性指导原则。因此&#xff0c;我们不能把它上升为一种标准&#xff0c;而是应该当做一种经验来学习&#…

人机交互-任务4:图形交互界面的设计(web)

文章目录 一、 题目二、 实验内容三、 方案设计四、 实验步骤与过程五、 实验结果与分析完整项目成品下载 一、 题目 目的 (1) 使用掌握的计算机语言完成图形界面的设计&#xff0c;熟悉图形用户界面设计的原则并运用到设计中。 (2) 通过用户友好界面的设计&#xff0c;使学生…

web交互设计模型

《信息架构中的常见模型》是整个“web交互设计方法”中的一部分&#xff1a; 本期的内容目的是分享和总结信息架构中一部分基本的交互模型。信息架构需要考虑内容和功能的建构,首先需要考虑怎样组织内容和功能的关系&#xff0c;也就是切 分内容&#xff0c;如何把一些动作和对…

交互设计文档示例_Web交互的重要性:提示和示例

网站创建涉及许多要素。 网站是与来自世界各地的用户进行交流的最佳媒介。 因此&#xff0c;至关重要的是&#xff0c;其设计方式应吸引用户并吸引其参与。 这是网站可以有效地覆盖其用户的时间。 设计师经常想知道使网站吸引人的秘密成分 。 设计和功能的结合是每个设计师都希…

计算机教改论文发在那家核心期刊,教改论文可以发表在哪些刊物上合适?

原标题&#xff1a;教改论文可以发表在哪些刊物上合适&#xff1f; 教师发表教改论文在考虑发表要求之余&#xff0c;都是希望自己的文章尽快见刊的&#xff0c;如果教师面临的是发表核心刊物的要求&#xff0c;那就做好一定的心理准备了&#xff0c;核心期刊没有容易发表的&am…

刊物论文级别

公开发表的论文分为六个级别是什么 &#xff1f; (2014-04-18 15:35:20) 转载▼ 第一级&#xff0d;T类 特种刊物论文&#xff0c;指在《SCIENCE》和《NATURE》两本期刊上发表的论文。 第二级&#xff0d;A类&#xff1a;权威核心刊物论文&#xff0c;指被国际通用的SCIE、EI…

计算机专业发论文的等级有哪些,计算机专业发表职称论文多少字

计算机专业发表职称论文多少字?文章的字数关系着作者的发表费用多少&#xff0c;字数越多&#xff0c;作者的费用负担就要越重&#xff0c;所以&#xff0c;广大作者一定充分把握字数的要求&#xff0c;以免写得字数过多或是过短&#xff0c;这样都是不容易发表的&#xff0c;…

计算机论文刊物发表,计算机论文发表流程

一、计算机论文发表流程&#xff1a; 1、根据当地评审需求选定刊物&#xff0c;确定出刊时间及费用。 2、您将论文发给我们&#xff0c; 看看是否符合杂志社要求。 3、将定金40%付到支付宝担保交易&#xff0c;安排给杂志社审稿 4、审稿通过后您将收到杂志社出的用刊通知书。打…

Python散点图拟合

散点图拟合 import matplotlib.pyplot as plt import numpy as npx [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] y np.array([5760, 3600, 1620, 1260, 1080, 900, 1080, 1800, 3060, 4680, 2880, 5040, 4140, 5580, 5040, 4…

用python绘制二维数据的散点图

用python绘制二维数据的散点图 一 绘制散点图脚本 import matplotlib.pyplot as plt #需要安装该 matplotlib库 import pandas as pd #需要安装pandas库#读入文件 file_path "data.txt"#存放二维数据的txt文件&#xff0c;换成自己的路径下 df pd.read_table(fil…