在提问之前,我搜索了许多地方,我发现了一些类似的想法,但没有我的solution.And,我的问题也可以描述为如何重新计算模型的紫外线,以修复为六面天窗设计的全景图。
最近,我在matterport的官方网络https://matterport.com/gallery/上找到了一种独特的方式来获得流畅的3D漫游体验
我只想知道他们是怎么做到的?他们的产品在拍摄全景照片时非常流畅。
在我漫游多次之后,我发现了这个秘密。我意识到他们使用的全景载体不是盒子或球体,而是他们首先展示的物体!证据是,当切换点时,椅子和桌子等物体会有自己的影子(一张椅子有两幅图像,一张是站立的,另一张是躺在地板上的。)

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

我想在我的项目中使用这个想法,我有一组六幅全景图,可以完美地粘贴在boxGeometry上,我只想把它们粘贴到model.but上--我卡在项目360 degree.Yes中--我只知道如何投射一个方向,但我无法投射剩下的五个方向。
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 --我不能处理占用了两个视图的三角形面,就像盒子边缘的一个脸。
我应该如何处理这个问题?还是我在第一个错误方向中运行?我应该朝哪个方向运行?
发布于 2018-08-04 02:10:46
在询问了很多人之后,我发现我只需要三倍的美元材质,并且使用一个名为cubetexture,samplercube.With的函数,我可以得到我所需要的像素颜色!
https://stackoverflow.com/questions/51605091
复制相似问题