纹理中的图像,调整UV,三个j

时间:2015-10-23 14:03:14

标签: three.js

我被卡住了! 我试图将图像映射到三个js的表面上。它与UV映射有关。我试图理解

我使用

创建形状
var i, verts = [];
for (i = 0; i < 6; i++) {
    verts.push(createVert(i, Hex.FLAT));
}
hexShape = new THREE.Shape(verts); 

我已阅读http://paulyg.f2s.com/uv.htmCustom UVgenerator Three.js for extrudedgeometryUV mapping in THREE.jsTHREE.js generate UV coordinate

他们使用正方形,我使用十六进制/三角形。 我正在加载图片:

    if (true) {
    texture = new THREE.ImageUtils.loadTexture("data/mylogo.png",{}, onText, onErr);
} else {
    var textLoader = new THREE.TextureLoader();
    textLoader.load("data/hemp_logoB.png", {}, onText, onErr);
    function onErr(err) {
        console.log('ERR ', err);
    }

    function onText(text) {
        console.log('TEXTLOADED  ', text);
        var t = text;
        var img = t.image;
        console.log(img.height, img.width);
        texture = text;
        texture.needsUpdate = true;
        update();
    }
}

我挤出十六进制。

    geo = new THREE.ExtrudeGeometry(hexShape, extrudeSettings);

我甚至让脸和脸都不同

var mats = [imgMaterial, sideMaterial];
var mat = new THREE.MeshFaceMaterial(mats);
mesh = new THREE.Mesh(geo, mat);

我看到十六进制中心的一个小点就是图像。在形状(地理)上我有44个面孔**

我想我需要一个uvGenerator或自定义uv。图像上的尺寸为256x256,但我可以制作任何尺寸***。文档使用方形表面,这是一个六角形表面。

思想???

**应该是24? 6 + 6 + 12顶部+底部+(6 * 2)侧 *** mylogo.png是从SVG文件生成的,我想在表面上使用SVG。

0 个答案:

没有答案