Javascript 三个重合顶点纹理已停止

Javascript 三个重合顶点纹理已停止,javascript,3d,three.js,Javascript,3d,Three.js,我想制作一个带有半球形端点的动画管状体,管状体段为200。我有前60个线段的顶点来复制球墨学上半部分的位置,最后60个线段的下半部分 上半球和下半球之间的分段将全部复制到球体赤道周围的顶点 几何体看起来很好,但球形环境贴图纹理在球体的赤道处中断 我的代码如下,有人知道如何解决这个问题吗 var摄像机、场景、渲染器; init(); 制作动画(); 函数init(){ 摄像头=新的三个透视摄像头(28,window.innerWidth/window.innerHeight,11000); 摄

我想制作一个带有半球形端点的动画管状体,管状体段为200。我有前60个线段的顶点来复制球墨学上半部分的位置,最后60个线段的下半部分

上半球和下半球之间的分段将全部复制到球体赤道周围的顶点

几何体看起来很好,但球形环境贴图纹理在球体的赤道处中断

我的代码如下,有人知道如何解决这个问题吗

var摄像机、场景、渲染器;
init();
制作动画();
函数init(){
摄像头=新的三个透视摄像头(28,window.innerWidth/window.innerHeight,11000);
摄像机位置z=50;
场景=新的三个。场景();
var nMat=new THREE.MeshNormalMaterial({side:THREE.DoubleSide,});
var管=新的数据管(200、30、10、nMat);
场景.添加(tube.mesh);
renderer=new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
//
addEventListener('resize',onWindowResize,false);
}
函数onWindowResize(){
camera.aspect=window.innerWidth/window.innerHeight;
camera.updateProjectMatrix();
renderer.setSize(window.innerWidth、window.innerHeight);
}
函数animate(){
请求动画帧(动画);
渲染器。渲染(场景、摄影机);
}
正文{
边际:0px;
背景色:#000000;
溢出:隐藏;
}

功能数据管(长度Seg、半径Seg、半径、材质){
//为了速度
这个。帧率=60;
//居中
this.origin=new THREE.Vector3();
this.head=this.origin;
this.tail=this.origin;
//设置
this.lengthSeg=lengthSeg;
this.radiuseg=radiuseg;
这个半径=半径;
this.pathPoints=[];

对于(var i=0;ihi)您可以为此创建代码段…以验证thnkx..很抱歉,我不知道如何对齐代码您可以在jsfiddle.net中尝试…很容易解码代码并获得结果..您应该使用API
spheregemetry中的
spheregemetry
的额外参数来创建所需的球体部分(半径、宽度段、高度段、phiStart、phiLength、Start、Talength)
您可能没有正确复制球体属性。API更好。