首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何投影(或粘贴)全景模型?

问如何投影(或粘贴)全景模型?
EN

Stack Overflow用户
提问于 2018-07-31 03:34:37
回答 1查看 228关注 0票数 0

在提问之前,我搜索了许多地方,我发现了一些类似的想法,但没有我的solution.And,我的问题也可以描述为如何重新计算模型的紫外线,以修复为六面天窗设计的全景图。

最近,我在matterport的官方网络https://matterport.com/gallery/上找到了一种独特的方式来获得流畅的3D漫游体验

我只想知道他们是怎么做到的?他们的产品在拍摄全景照片时非常流畅。

在我漫游多次之后,我发现了这个秘密。我意识到他们使用的全景载体不是盒子或球体,而是他们首先展示的物体!证据是,当切换点时,椅子和桌子等物体会有自己的影子(一张椅子有两幅图像,一张是站立的,另一张是躺在地板上的。)

​

​

随着物体在全景图上贴在自己的对应对象上,随着深度信息的增加,漫游开关变得更加流畅(至于为什么它们不直接使用该对象,我认为由于硬件的限制,从扫描设备获得的许多不规则面不能直接使用。)

​

我想在我的项目中使用这个想法,我有一组六幅全景图,可以完美地粘贴在boxGeometry上,我只想把它们粘贴到model.but上--我卡在项目360 degree.Yes中--我只知道如何投射一个方向,但我无法投射剩下的五个方向。

代码语言:javascript
复制
var _p=BufferGeometry.attributes;
for (var i = 0; i < _p.position.count; i++){
    var uvtempbeforeconvert= ( new THREE.Vector3(_p.position.array[3*i],_p.position.array[3*i+1],_p.position.array[3*i+2]) ).clone().applyMatrix4(houseObject.matrixWorld).project(camera1)
//use the worldvertices to get its screen coordinate            
    if(uvtempbeforeconvert.x<1&&uvtempbeforeconvert.x>-1 && uvtempbeforeconvert.y<1 &&uvtempbeforeconvert.y>-1)      {
VerticesArray1.push(_p.position.array[3*i],_p.position.array[3*i+1],_p.position.array[3*i+2]);uvArray1.push(uvtempbeforeconvert.x*0.5+0.5,uvtempbeforeconvert.y*0.5+0.5);

是的,我成功地计算出了一个direction.BUT --我不能处理占用了两个视图的三角形面,就像盒子边缘的一个脸。

我应该如何处理这个问题?还是我在第一个错误方向中运行?我应该朝哪个方向运行?

EN

回答 1

Stack Overflow用户

发布于 2018-08-04 02:10:46

在询问了很多人之后,我发现我只需要三倍的美元材质,并且使用一个名为cubetexture,samplercube.With的函数,我可以得到我所需要的像素颜色!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51605091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档