我需要将Maya转换为带有纹理的简单模型的js
工作正常,但显示没有纹理
我的代码:
var loader = new THREE.JSONLoader();

loader.load( "models/t2.js", function(geometry) {
var part1 = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial() );
    mesh =new THREE.Object3D();
    mesh.add( part1 );
    //var mesh = new THREE.Mesh(geometry, material);
    mesh.position.set(0,0,0);
    mesh.rotation.set(0,0,0);
    mesh.scale.set(30,30,30);
    scene.add( mesh );
});


在线演示:http://mika.ir/virtual-exhibition/
下载代码:http://mika.ir/virtual-exhibition/virtual-exhibition.rar

最佳答案

您必须将纹理传递给其中一个实物对象。使用MeshLambertMaterial或MeshPhongMaterial并传入THREE.Texture。首先,您必须加载纹理并传递回调。如果要加载的纹理是“ path / texture.png”,我将执行以下操作:

var modelTexture = THREE.ImageUtils.loadTexture('path/texture.png', false, loadModel);

function loadModel() {
    loader.load( "models/t2.js", function(geometry) {
    var part1 = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial({ map: modelTexture });
        mesh =new THREE.Object3D();
        mesh.add( part1 );
        //var mesh = new THREE.Mesh(geometry, material);
        mesh.position.set(0,0,0);
        mesh.rotation.set(0,0,0);
        mesh.scale.set(30,30,30);
        scene.add( mesh );
    });
}

07-25 23:06
查看更多