【问题标题】:Loading textures in three.js在 three.js 中加载纹理
【发布时间】:2013-06-28 14:36:23
【问题描述】:

我是three.js 的新手,到目前为止我所做的是:在Blender 中为几何建模,将其导出为JSON,然后将其放入我的three.js 场景中。 它适用于基本的three.js 材料。现在我想将颜色、镜面反射和法线贴图加载到我的几何体中。但是每次我尝试只添加一个纹理时,几何图形都会在浏览器中消失。

这是我的代码:

    var jsonLoader = new THREE.JSONLoader();
    jsonLoader.load( "models/schuh.js", addModelToScene );

    var texture = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");

    var ambientLight = new THREE.AmbientLight(0x111111);
    scene.add(ambientLight);

}

function addModelToScene( geometry, materials ) 
{

    var material = new THREE.MeshBasicMaterial(map:texture});
    mesh = new THREE.Mesh( geometry, material );
    mesh.scale.set(50,50,50);
    scene.add( mesh );
}

我做错了什么?

【问题讨论】:

    标签: three.js textures


    【解决方案1】:

    看起来您是在调用 addModelToScene 函数后加载纹理。

    尝试像这样更改您的代码:

    function someFunction() {  
        var texture    = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");
        var jsonLoader = new THREE.JSONLoader();
    
        jsonLoader.load('models/schuh.js', addModelToScene);        
    
        var ambientLight = new THREE.AmbientLight(0x111111);
        scene.add(ambientLight);
    
    }
    
    function addModelToScene( geometry, materials ) 
    {
    
        var material = new THREE.MeshBasicMaterial({map:texture});
        mesh = new THREE.Mesh( geometry, material );
        mesh.scale.set(50,50,50);
        scene.add( mesh );
    }
    

    【讨论】:

    • 您好 claarman,感谢您的回复。我尝试了您的建议,但没有任何改变。
    • 您能否添加更多代码或理想情况下(不)工作示例
    • 检查倒数第 5 行的结尾,好像出现了错别字( "(map:texture})" )。
    猜你喜欢
    • 2015-05-30
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2013-07-28
    • 2012-10-03
    • 2014-12-28
    • 2017-06-05
    相关资源
    最近更新 更多