threejs实现3d全景看房

本文介绍了如何利用three.js实现3D全景看房功能,从认识three.js、安装使用到3D世界的三剑客——场景、相机和渲染器的详细解释,再到3D全景房的实现,包括天空盒贴图、全景图片贴图和房屋模型的创建,以及交互功能的实现,如轨道控制器、灯光和精灵模型。最后,文章提到了在实际应用中遇到的问题和学习总结。
摘要由CSDN通过智能技术生成

背景

随着电商时代的发展,网上购物的方式已经成为主流,良好的购物体验已经显得极为重要。展示给用户的视觉效果便不能仅仅局限于2D视觉效果,全方位的3D立体展示效果能让用户对商品进行 360度无死角的认识了解。丰富多彩的三维世界大门早已敞开,一起进去看看吧!

认识threejs

three.js就是使用 javascript 来写的,基于原生 WebGL 封装运行的三维引擎,运行在浏览器上的3D程序。WebGL 是在浏览器中实现三维效果的一套规范。与我们而言,three.js 相当于简化了 WebGL 的操作,让我们在不懂计算机图形学,只理解 three.js 的一些基本概念的条件下也能够轻松进行web 3D开发。在所有WebGL引擎中,Three.js 是国内文资料最多、使用最广泛的三维引擎。

通过 can i use 查询可知,现在的主流浏览器都已支持webGL

安装与使用

 // cod引用<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/87/three.js"></script>// npm 安装使用npm install three// 引用import * as THREE from 'three' 

3D世界的三剑客

在threejs中,渲染一个3d世界的必要因素是场景(scene)、相机(camera)、渲染器(renderer), 我将他们称之为 threejs 3D世界的三剑客。有了这三样东西,才能将物体渲染到网页中去。

场景(scene)

场景是一个三维空间, 所有物品的容器。相当于世界, 我们所创造的所有物体光源等都必须添加到场景中才能生效或可见。

在threejs中,场景是右手坐标系, 把右手放在原点的位置,使大拇指,食指和中指互成直角,把大拇指指向x轴的正方向,食指指向y轴的正方向时,中指所指的方向就是z轴的正方向。

创建场景

 const scene = new THREE.Scene() 

相机(camera)

相机决定了场景中那个角度的景色会显示出来。相机就像人的眼睛一样,人站在不同位置,抬头或者低头都能够看到不同的景色。

值得注意的是场景只有一种,但是相机却有很多种。和现实中一样,不同的相机确定了呈相的各个方面。比如有的相机适合人像,有的相机适合风景,专业的摄影师根据实际用途不一样,选择不同的相机。对程序员来说,只要设置不同的相机参数,就能够让相机产生不一样的效果。

常用的是正交投影相机和透视相机。

透视相机

透视相机是模拟人眼的视觉,近大远小(透视)

创建透视相机

 const camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 ); 

相机参数PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number ) fov — 摄像机视锥体垂直视野角度 aspect — 摄像机视锥体长宽比 near — 摄像机视锥体近端面 far — 摄像机视锥体远端面 只有离相机的距离大于near值,小于far值,且在相机的可视角度之内,才能被相机投影到。

正交投影相机

无论物体距离相机距离远或者近,在最终渲染的图片中物体的大小都保持不变。我们所所熟知的三视图就是很典型的正交投影模式,多运用与工程制图

创建正交投影相机

 const camera &
最低0.47元/天 解锁文章
AI画手小王
关注 关注
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Threejs实现全景图功能
少得多惑的博客
09-02 1万+
可以利用Threejs中的立方体或者球体实现全景图功能,把立方体或球体当成天空盒子,将无缝衔接的图片贴上,看起来就像在一个场景中,相机一般放置在中央,只要离边缘足够远就看不出是立方体或球体,但如果超出边界就能看到他们。Threejs也有官方的全景图实例: https://threejs.org/examples/?q=pano#webgl_panorama_cube https://three...
three.js实现3D全景看房
10-23
three.js实现3D全景看房(移动端)。 three.js的基本使用(入门阶段),全景自动展示,以及手动拖拽滑动控制房屋方向角度。
Three.js 全景图浏览
最新发布
ッ微凉的博客
08-13 265
1. 创建球体,背(双)面贴图,视角位于球体中心;2. 创建立方体,六面贴图,视角位于立方体中心。
three.js 全景看房
weixin_38946164的博客
07-13 1702
代码参考了官方的 https://threejs.org 天空盒是一个包含了整个场景的立方体,它包含周围环境的6个图像。 所有图片的尺寸是 2048X2048 图片来自 :https://juejin.cn/post/7112696052884439070
网页全景看房ThreeJs
qq_43422957的博客
07-06 553
最近看了看Three.js,做了个入门级的小案例--简易版的全景看房(可上下左右拖动,可滚轮调整远近,可操作面板自动转动),vue2写的,注释详细,需要学习three.js的道友可以一键复制去学习,代码看着挺多,其实不复杂。它包含了大量的内置功能和效果,如阴影、纹理映射、光照、粒子效果等,同时还支持各种3D模型和几何体的加载和渲染。threeJS的优点包括丰富的功能和灵活性、跨平台性能和兼容性以及庞大的社区支持和资源库,这些优势使得它成为开发3D图形应用程序的理想选择。本文首发于公众号【雪天前端
three.js--3D全景图开发
HZKang的博客
07-24 5483
一、初识three.js 平时喜欢在各博客看些文章,偶然情况下看到了关于webgl制作的一些相当有趣网站于是便去webgl的官网上了解知识,期间发现three.js这个封装webgl api的库,官网的例子感觉很牛,于是去b站等看了些three.js写的炫酷特效,自己也尝试不看视频的情况下写了一个3D全景图demo,截了demo的上下左右前后的效果图,在页面底部。于是记录下期间收获的一些知识和技巧,如果想看的话可以参考我的typescript版git代码,git地址:链接: git.threeDemo. 二
three.js实现3D室内全景看房
qq_60976312的博客
03-08 2972
three.js实现3D室内全景看房
three.js项目(立方体贴图实现3D全景看房)(源码+项目说明).zip
03-09
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...three.js项目(立方体贴图实现3D全景看房)(源码+项目说明).zip
three.js项目(立方体贴图实现3D全景看房)(完整源码+说明).zip
03-27
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、...
vue中利用three.js实现全景图的完整示例
01-18
通过指令下载three.js npm install three -S 第二步: 在组件中引用 import * as THREE from 'three' 第三步: html部分 <div id=container></div> js部分 [removed] import * as THREE from 'three'; var ...
three.js实现炫酷的全景3D重力感应
12-29
本文实例为大家分享了three.js 全景重力感应的具体代码,供大家参考,具体内容如下 实现three.js 全景图 demo 使用three.js 写了球体和圆柱体版本的3D重力感应全景图,支持手指触摸和陀螺仪感应,也支持PC端的鼠标。给大家介绍一下基于移动端H5球体的实现方法,圆柱体类似。 设置容器和展示的样式 设置容器的宽高为全屏展示,清除body的margin,引用three.min.js(3D渲染框架) 和orienter.js (陀螺仪经纬度计算) [removed]</scrip
VR看房threejs.rar
07-06
VR看房
基于Three.js插件制作360度全景图
11-27
这是个基于three.js的插件,预览地址:戳这里 使用方法: 1、这个插件的用法很简单,引入如下2个js [removed][removed] [removed][removed] 2、初始化一下,(具体各种参数配置根据情况而定) var PSV = new PhotoSphereViewer({ // 全景图的完整路径 panorama: 'images/360img03.jpg', // 放全景图的元素 container: div }) 配置参数 下面是该全景图插件的所有
一步步带你实现web全景看房——three.js
09-03 6509
1. 基本概念在THREEjs中,渲染一个3d世界的必要因素是场景(scene)、相机(camera)、渲染器(renderer)。渲染出一个3d世界后,可以往里面增加各种各样的物体、光源等,形成一个3d世界:场景:右手坐标系,一切要素都在场景里面,相当于“世界”,包括各种物质和物理变化//创建场景constscene=newTHREE.Scene(); 复制代码照...
【js&threeJS】入门three,并实现全景看房案例,附带全码
weixin_52479803的博客
08-22 1365
【js&threeJS】入门three,并实现全景看房案例,附带全码
Three.js 实战【1】—— 3D全景视图开发
共勉
05-17 3355
我们先看一下这篇文章主要要实现的一个demo效果,现如今在第三方租房、买房App、或者百度、高德地图上会出现这种全景视图,当手势操作时,他对应的景色也会发生一定的变化。又或者你最近刷抖音看到了HM玩的图寻,给了一张可以旋转的3D全景图片,然后找这张图片在哪拍摄的,你可能会好奇这种效果在前端是如何实现的。这就是这篇文章将会教会你的一个小demo。
three.js实现vr全景图(vue)
qq_45331969的博客
08-01 4098
vue项目通过three.js实现vr全景图
html 全景图three,用threejs实现三维全景图
weixin_42347324的博客
06-07 1259
three.js css3d - panoramabody {background-color: #000000;margin:0;cursor: move;overflow: hidden;}a {color: #ffffff;}#info {position: absolute;width:100%;color: #ffffff;padding: 5px;font-family: Monosp...
three.js实现vr全景看房
05-10
下面就着重介绍基于three.js实现VR全景看房的技术和流程。 一、技术原理 基于three.js实现VR全景看房的原理非常简单。首先利用three.js构建出一个场景,然后在场景中添加全景图片作为背景,再添加相机和控制器,...
写文章

热门文章

  • JS遍历对象的七种方法 26790
  • 【HTML 教程系列第 22 篇】 HTML 中的 input 标签,看这一篇就够了 26393
  • Github进行fork后的仓库,如何与原仓库同步? 15396
  • CSS单行/多行文本溢出隐藏 13760
  • highlight.js(代码高亮插件) 11392

最新评论

  • bpmn.js + vue + vuex的业务实现-自定义连线、箭头的颜色和虚线

    在田野的田田: 为什么还要钱看呀

  • vite+vue3如何配置ESLint与prettier?

    RickRelax: 完美的抄袭,抄别人的文章,然后自己打广告?牛的表情包 原文Link: https://juejin.cn/post/7142815651294511135

  • Naive UI 组件使用体验之-级联选择 Cascader

    美酒没故事°: 复选框怎么去掉啊

  • Canvas drawImage() 方法实现图片压缩

    weixin_44946095: 压缩后会影响图片清晰度吗

  • Github进行fork后的仓库,如何与原仓库同步?

    早上真好: 现在仓库网页端会显示当前分支与原仓库分支的区别,不管是多的commit还是少的commit都有,同步仓库和提pr都变得很方便了

最新文章

  • CTF-记一次PWN练习
  • CTF PWN之精确覆盖变量数据
  • CISA《网络安全事件和漏洞响应手册》提到的SSVC是什么?
2023年95篇
2022年259篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢花盆工艺介绍扬州玻璃钢卡通雕塑摆件湖南玻璃钢面具雕塑新郑商场美陈绿植墙大连玻璃钢雕塑造型牡丹江广场玻璃钢雕塑安装下城区玻璃钢雕塑尺寸大型玻璃钢花盆采购河北商场美陈市场价商场美陈营销案例徐州玻璃钢雕塑设计费用玻璃钢雕塑莲花指飞天仙女陕西欧式玻璃钢雕塑图片武夷山玻璃钢神像雕塑福建季节性商场美陈哪里买玻璃钢海洋雕塑平台联系方式普陀区镜面玻璃钢雕塑诚信企业杭州玻璃钢雕塑定做加工玻璃钢雕塑 杭州租赁福州手糊法玻璃钢雕塑销售玻璃钢大蒜雕塑邯郸玻璃钢仿铜雕塑小品浙江室内商场美陈生产厂家南通玻璃钢花盆模具贵阳定制玻璃钢雕塑生产厂家玻璃钢佛像雕塑工艺品牡丹江卡通玻璃钢雕塑定做玻璃钢雕塑成功案例南昌大型玻璃钢雕塑生产厂家绍兴玻璃钢抽象雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化