加载.obj和.mtl文件时的黑色纹理three.js

时间:2016-11-01 13:12:19

标签: javascript 3d three.js

需要一些帮助才能将文件加载到three.js。我们正在使用Marvelous Designer应用程序创建3d模型,并使用three.js库在Web中显示它们。

问题是某些加载的对象有黑色纹理。我试图添加光,但这对我没有帮助。有时对象的一切都很好(意味着它有自然的颜色而不是黑色纹理) 例如: enter image description here

和:
enter image description here

两个对象都以相同的方式创建

这是我的代码:

controls = new THREE.OrbitControls(camera, container);
    scene = new THREE.Scene();

    var lighting = false;
    var ambient = new THREE.AmbientLight(0xffffff, 1.0);
    scene.add(ambient);
    var keyLight = new THREE.DirectionalLight(new THREE.Color('hsl(30, 100%, 75%)'), 1.0);
    keyLight.position.set(-100, 0, 100);
    var fillLight = new THREE.DirectionalLight(new THREE.Color('hsl(240, 100%, 75%)'), 0.75);
    fillLight.position.set(100, 0, 100);
    var backLight = new THREE.DirectionalLight(0xffffff, 1.0);
    backLight.position.set(100, 0, -100).normalize();


    var mtlLoader = new THREE.MTLLoader();
    mtlLoader.setBaseUrl(params.folder);
    mtlLoader.setPath(params.folder);
    mtlLoader.load(params.mtl, function (materials) {

        materials.preload();

        var objLoader = new THREE.OBJLoader();
        objLoader.setMaterials(materials);
        objLoader.setPath(params.folder);
        objLoader.load(params.obj, function (object) {


            scene.add(object);

        }, onProgress, onError);

    }, onProgress, onError);

0 个答案:

没有答案