Three.js Multi-tile UV

时间:2016-12-20 17:23:06

标签: three.js

Three.js是否支持Multi-tile UV?

我有一个网格,其中有两组从maya导出的uv作为.json文件。我尝试使用MultiMaterial定义2种不同的材质,使用2种不同的纹理,如下所示:

var material1 = new THREE.MeshPhongMaterial({//side

        color: 0xffffff,
        map: textureLoader.load(topINF_TopSide_Side_DiffMap),
        normalMap: textureLoader.load(topINF_TopSide_Side_NormalMap),
        normalScale: new THREE.Vector3(1, 1),       
        displacementMap: textureLoader.load(topINF_TopSide_Side_DisplacementMap),
        aoMap: textureLoader.load(topINF_TopSide_Side_AOMap),
        specularMap: textureLoader.load(topINF_TopSide_Side_SMap),

    });

var material2 = new THREE.MeshPhongMaterial({//top

        color: 0xffffff,
        map: textureLoader.load(topINF_TopSide_Top_DiffMap),
        normalMap: textureLoader.load(topINF_TopSide_Top_NormalMap),
        normalScale: new THREE.Vector3(1, 1),       
        displacementMap: textureLoader.load(topINF_TopSide_Top_DisplacementMap),
        aoMap: textureLoader.load(topINF_TopSide_Top_AOMap),    
        specularMap: textureLoader.load(topINF_TopSide_Top_SMap),
    });

materials.push(material1);
materials.push(material2);

然后我按如下方式创建了我的网格

var mesh = new THREE.SceneUtils.createMultiMaterialObject( geometry,  [material2, material1]);
mesh.children[0].material.transparent = true;
mesh.children[0].material.opacity = 0.5;

然而,似乎它仅使用网格上的第一组uv,因为纹理显示在彼此之上。

以下是我在Maya得到的结果,我希望

maya results

以下是我从Three.js获得的内容

Threejs results

0 个答案:

没有答案