vue 使用 threejs 实现实景看房效果 demo

news2024/9/25 7:17:38

vue 使用 threejs 实现实景看房效果 demo

关于这个 threejs 实现 VR 看房效果也超级简单,只需要提供一个思路的话就可以了其实,首先需要一个房间结构的贴图,这个贴图网上有,当然找个合适的也不好找,我找了一上午在别人的 demo 里面扣了一张出来,代码都是一样的,稍微说一下思路。一张全景图,超级简单,在绘制一个球的模型,把这个全景图贴到球上作为材质,然后把相机视角移动到球内,将球面翻转,让贴图在球内显示即可。

图片素材

首先需要下面这张房屋结构的全景图照片,如果是专业项目开发,这个图片是会有人提供的,咱们做 demo 的话我直接在这里贴一张测试用。

在这里插入图片描述

代码编写

这个具体代码我就不写了,如果不知道 vue 项目中怎么接入 threejs 和初始化的话,可以参考我这个专栏的最早一篇博文。

重点是啥呢,创建一个球,然后把上面的图片当做贴图材质设置到球上面去。

		let sphere_geometry = new SphereGeometry(50, 50, 50)
		let texture = new TextureLoader().load(require("../../../public/imgs/house.png"))
		let sphere_material = new MeshBasicMaterial({
			map: texture
		})
		let sphere = new Mesh(sphere_geometry, sphere_material)
		this.scene.add(sphere)

最后得到的效果就是这个样子了。

在这里插入图片描述
然后我们重新设置一下相机的位置。

camera.position.set(0, 2, 0) // 设置相机位置

这样就把视角转移到了球体内部。

在这里插入图片描述

看到一篇黑色,很正常,我们还需要做一步,就是把球面翻转,使贴图贴到球的内部来。

sphere_geometry.scale(1, 1, -1);

然后,就 OK 了。

在这里插入图片描述

好的,基本的就是这个样子。完成!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型商业的搅局者?除了谷歌和微软,你可能忘记了它!

夕小瑶科技说 原创 作者 | 小戏、iven 大模型的商业大戏愈发精彩了,这边是谷歌和 OpenAI 剑拔弩张军备竞赛,那边是各路豪强的大模型应用雪花般的涌来,你方唱罢我登场。 而在这串作为大模型先行者而出现的公司以及研究院的名字中,…

6WINDGate-whitepaper

6WINDGate Witerpaper Author:Once Day Date:2023年4月29日 本文是对6WIND官网文档的整理和翻译,仅供学习和研究之用,原始文章可参考下面文档: 6WINDGate Documentation - 6WIND6WINDGate Modules — 6WINDGate Mod…

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 3 (人工神经网络)

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 1 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 2 (传统机器学习方法如何选择) 人工神经网络 人工神经网络模型得名于这样一个事实,即所拟合的数学模型的形式受到大脑中神…

一个新的ubuntu

1 安装cmake 方法一:现成的教程 ubuntu安装cmake_yuanzhoulvpi的博客-CSDN博客 方法二:自己总结的 安装openssl系统:sudo apt-get install libssl-dev 安装:sudo apt-get install build-essential 以上是防止安装cmake时缺少文…

Ubuntu零基础安装

Ubuntu零基础安装 首先我们需要安装VM,再安装ubuntu。 1、安装VM 进入VM官网 VM官网地址 选择下载试用版 下载Windows版本 下载完成后,点击安装包进行安装 至此就安装完毕了。 桌面会出现VM的图标。 点击打开,弹出如下画面: …

基于Springboot的旅游网管理系统后台

目录 一. 🦁 研究背景及意义二. 🦁 技术栈系列及主要功能Ⅰ. 技术栈Ⅱ. 主要功能 三. 🦁 项目搭建Ⅰ. 后端模块Ⅱ. 前端模块 四. 🦁 主要实现过程Ⅰ. 认证和授权1. SpringSecurity配置类2. 自定义逻辑认证 Ⅱ. 富文本编辑器——wa…

边无际CEO陈永立:让ChatGPT通过物联网看到世界

如何利用ChatGPT及其插件,将AI与物联网设备相连? 通过Shifu Plugin获取摄像头的实时画面 我们都认识到,ChatGPT引发了一连串的技术变革。作为一个对AI和物联网技术充满热情的开发者,获得ChatGPT插件的早期访问权限,是…

Table 表格 + Pagination 分页

<el-table>属性 v-loading 加载动画 data 显示的数据 border 是否带有纵向边框 fit 列的宽度是否自撑开 highlight-current-row 是否要高亮当前行 row-style 行的 style 的回调方法&#xff0c;也可以使用一个固定的 Object 为所有行设置一样的 Style…

Android - 深色主题

一、简介 我们一直以来使用的操作系统都是以浅色主题为主的&#xff0c;这种主题模式在白天或者是光线充足的 情况下使用起来没有任何问题&#xff0c;可是在夜晚灯光关闭的情况下使用就会显得非常刺眼。 于是&#xff0c;许多应用程序为了能够让用户在光线昏暗的环境下更加舒…

mysql使用innodb引擎,请简述mysql索引的最左前缀如何优化orderby语句。

关键点 如果排序字段不在索引列上&#xff0c;filesort有两种算法&#xff1a; mysql就要启动双路排序和单路排序无过滤不索引order by非最左 filesort顺序错 filesort方向反 filesort 答案 首先要对sql进行分析检查必要的查询字段&#xff0c;过滤字段&#xff0c;排序字段…

JeecgBoot免费低代码平台—多租户SAAS解决方案

JeecgBoot免费低代码平台&#xff0c;提供一键切换多租户模式机制&#xff01;快速实现全系统的saas租户方案&#xff0c;通过租户ID进行数据隔离。 租户设计思路 1、开启全系统租户隔离 开启方法 将 org.jeecg.config.mybatis.MybatisPlusSaasConfig#OPEN_SYSTEM_TENANT_CO…

Selenium:浏览器及鼠标、键盘事件

目录 一、控制浏览器 二、鼠标事件 三、键盘事件 一、控制浏览器 webdriver主要提供操作页面上各种元素的方法&#xff0c;但它也提供操作浏览器的一些方法&#xff0c;例如控制浏览器大小、前进和后退等。 1、控制浏览器窗口大小 1 # 控制浏览器大小 2 from selenium imp…

2023哪款蓝牙耳机性价比高?200左右高性价比蓝牙耳机推荐

现如今的蓝牙耳机越来越多&#xff0c;人们在选择时不免纠结&#xff0c;不知道选什么蓝牙耳机比较好&#xff1f;针对这个问题&#xff0c;我来给大家推荐几款性价比高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;299 蓝牙版本&am…

常见提高SQL执行效率示例

1、减少与数据库的交互&#xff1a; 当传参是一个list集合时&#xff0c;通过遍历查询数据库会造成数据库压力过大&#xff0c;这样查询效率就比较低&#xff0c;应该减少与数据库的交互来提高查询效率&#xff1a;(这里的objId为“ljydl”,"ljtpfl") QueryWrapper&…

JavaScript全解析——本地存储的概念、用法详解

本地存储概念&#xff1a; 就是浏览器给我们提供的可以让我们在浏览器上保存一些数据 常用的本地存储 localStorage sessionStorage localStorage 特点: 1.长期存储,除非手动删除否则会一直保存在浏览器中&#xff0c;清除缓存或者卸载浏览器也就没有了 2.可以跨页面通讯,…

如何设计出结构清晰布局漂亮的SWC结构图

我们都知道AUTOSAR的设计理念是自顶向下的设计,并且现在使用的很多AUTOSAR工具链对于SWC的设计都支持模型设计,以Vector Developer工具为例,假设我们不调整Composition,其结构图显示将会比较乱,比如如下这个样子,结构图中ports关系不清晰,位置重叠,布局不够清晰,有些朋…

二维码在设备管理中的应用

对设备进行巡检是工厂日常管理中必不可少的工作之一&#xff0c;从前很多工厂使用纸质记录打钩的方式进行设备巡检&#xff0c;但纸质巡检单不易保存也不方便进行查阅或汇总&#xff0c;除此之外光靠打钩很难保证巡检的真实性&#xff0c;不能起到防假检的功能。 为了让设备巡…

vue3+Typescript实现路由标签页和面包屑

文章目录 在vue中实现路由标签页和面包屑需求分析最终效果实现步骤第一步&#xff1a;创建路由标签组件和面包屑第二步&#xff1a;创建路由标签数组第三步&#xff1a;监听路由变化并自动添加新标签第四步&#xff1a;处理关闭标签事件第五步&#xff1a;当前路由标题同步面包…

Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细)

Oracle RAC 19c集群搭建指南&#xff1a;实现高可用、高性能的数据库集群&#xff08;超详细&#xff09; 1.新建节点 因为rac集群使用的是共享盘&#xff08;esxi设置共享盘步骤如下&#xff09;&#xff1a; 首先添加一个iSCSI控制器SCSI总线共享选择虚拟添加硬盘&#xf…

java:fastjson,jackson自定义反序列化器设计暨jackson反序列化时出现StackOverflowError异常的原因分析

问题描述 如下是一个Java Bean类&#xff0c;这是我的sql2java工具根据数据库表自动生成的对应表记录的Java类。 与之对应的数据库表定义如下&#xff1a; CREATE TABLE IF NOT EXISTS dc_device_channel (device_id int NOT NULL COMMENT XNAME:设备IDX,sid …