我正在加载一个具有纹理的* .js模型。纹理本身是一个单独的文件,位于与模型相同的目录中,因此加载器将此纹理添加到* .js模型中。
var loader = new THREE.JSONLoader();
var aMesh;
loader.load("models/mesh.js", function (geometry, materials) {
aMesh = new THREE.Mesh(geometry, materials[0]);
scene.add(aMesh);
});
从某个角度观察时纹理变得模糊,因此我需要对其应用各向异性过滤。
我只能猜测我需要创建一个 var Texture ,将纹理加载到其中,应用各向异性,然后将此纹理变量添加到网格或其材质[0]。
或者我可以直接以某种方式访问 aMesh 材质中的纹理吗?
答案 0 :(得分:1)
这可能有效,未经测试。
var loader = new THREE.JSONLoader();
var aMesh;
loader.load("models/mesh.js", function (geometry, materials) {
var maxAnisotropy = renderer.getMaxAnisotropy();
materials[0].map.anisotropy = maxAnisotropy;
aMesh = new THREE.Mesh(geometry, materials[0]);
scene.add(aMesh);
});
如果没有,您可以始终覆盖the JSONLoader class的加载功能 或者单独加载模型和纹理。