Three.js立方体透明纹理显示边

Three.js立方体透明纹理显示边,three.js,transparency,cube,texture-mapping,invisible,Three.js,Transparency,Cube,Texture Mapping,Invisible,我试图用three.js在游戏演示中创建世界的极限,因此我创建了两个立方体,每个立方体显示一个“透明森林纹理”,模拟世界极限 我最初的问题是纹理显示在立方体的所有面上,但我希望它只显示在其中4个面上 [更新:我已设法使立方体顶面中的纹理不可见,但我仍然可以看到天空中有某种边缘(我不确定它是什么…)。现在的问题是如何隐藏立方体边缘?] 近距离观察: 如果你访问,你将能够看到它的行动 我的代码是[更新]: function createWall(texture,distanceFromM

我试图用three.js在游戏演示中创建世界的极限,因此我创建了两个立方体,每个立方体显示一个“透明森林纹理”,模拟世界极限

我最初的问题是纹理显示在立方体的所有面上,但我希望它只显示在其中4个面上

[更新:我已设法使立方体顶面中的纹理不可见,但我仍然可以看到天空中有某种边缘(我不确定它是什么…)。现在的问题是如何隐藏立方体边缘?]

近距离观察:

如果你访问,你将能够看到它的行动

我的代码是[更新]

    function createWall(texture,distanceFromMapLimit,wallsHeight,positiony){
        //texture
        var backgroundInteriorTexture = THREE.ImageUtils.loadTexture(texture,distanceFromMapLimit);
        backgroundInteriorTexture.wrapS = backgroundInteriorTexture.wrapT = THREE.RepeatWrapping;
        backgroundInteriorTexture.repeat.set( 10, 1 ); //repeat texture 10 times per face
        backgroundInteriorTexture.needsUpdate = true;
        // materials (for each face of the cube we will add one material)
        var backgroundInteriorMaterials = [];
        for ( var i = 0; i < 6; i ++ ) {
            if((i == 0) || (i == 1) || (i == 4) || (i == 5)) // side faces
            {
                console.log(i,'visible')
                backgroundInteriorMaterials.push(
                    new THREE.MeshBasicMaterial(
                    {
                        map: backgroundInteriorTexture,
                        transparent: true,
                        opacity: 1, //visible
                        side: THREE.BackSide
                    }
                ));
            }
            else //top and bottom faces
            {
                console.log(i,'NOT visible')
                backgroundInteriorMaterials.push(
                    new THREE.MeshBasicMaterial(
                    {
                        map: backgroundInteriorTexture,
                        transparent: true,
                        opacity: 0, //not visible
                        side: THREE.BackSide
                    }
                ));
            }
        }
        //geometry
        var backgroundInteriorGeometry = new THREE.CubeGeometry(
            world.worldWidth + distanceFromMapLimit,
            wallsHeight,
            world.worldDepth + distanceFromMapLimit
        );
        //mesh
        var backgroundInteriorMesh = new THREE.Mesh(
            backgroundInteriorGeometry,
            new THREE.MeshFaceMaterial(backgroundInteriorMaterials)
        );
        backgroundInteriorMesh.position.y = positiony;
        game.scene.add(backgroundInteriorMesh);
    }

    function createBackground(){
        //INTERIOR
        var wallsHeight = 4056;
        var positiony = 1750;
        createWall("Back_01.png", 0, wallsHeight, positiony); //just in ground limits
        //EXTERIOR
        createWall("Back_02.png", 5000, wallsHeight, positiony); //5000 away from ground limits
    }
函数createWall(纹理、距离贴图限制、墙高、位置Y){
//质地
var backgroundInteriorTexture=THREE.ImageUtils.loadTexture(纹理,距离MapLimit);
backgroundInteriorTexture.wrapT=backgroundInteriorTexture.wrapT=THREE.RepeatWrapping;
backgroundInteriorTexture.repeat.set(10,1);//每个人脸重复纹理10次
backgroundInteriorTexture.needsUpdate=true;
//材质(对于立方体的每个面,我们将添加一种材质)
var backgroundInteriorMaterials=[];
对于(变量i=0;i<6;i++){
如果((i==0)| |(i==1)| |(i==4)| |(i==5))//侧面
{
console.log(i,'visible')
背景内饰材料(
新的三网格基本材料(
{
地图:背景内部纹理,
透明:是的,
不透明度:1,//可见
侧面:三。背面
}
));
}
else//顶面和底面
{
console.log(i,“不可见”)
背景内饰材料(
新的三网格基本材料(
{
地图:背景内部纹理,
透明:是的,
不透明度:0,//不可见
侧面:三。背面
}
));
}
}
//几何学
var backgroundInteriorGeometry=新的三立方测量法(
world.worldWidth+distanceFromMapLimit,
wallsHeight,
world.worldDepth+distanceFromMapLimit
);
//网孔
var backgroundInteriorMesh=新的三个网格(
背景内部几何,
新三.网面材料(背景内饰材料)
);
backgroundInteriorMesh.position.y=positiony;
游戏。场景。添加(backgroundInteriorMesh);
}
函数createBackground(){
//内部
var wallsHeight=4056;
变量Y=1750;
createWall(“Back_01.png”,0,wallsHeight,positiony);//仅在地面范围内
//外表
createWall(“Back_02.png”,5000,wallsHeight,positiony);//5000远离地面限制
}

谢谢:)

因为我在编辑之前和之后都读过这个问题,所以现在没有意义了。这是一个标题错误的完全不同的问题。你的问题是什么?对不起,伙计们,我忘了更新标题,现在的问题是如何隐藏立方体边缘?谢谢你的帮助