Three.js - 将各向异性应用于加载的 js 模型中的纹理
Three.js - Apply anisotropy to a texture in a loaded js model
我正在加载具有纹理的 *.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,将纹理加载到其中,应用各向异性,然后将此纹理变量添加到网格或其 material[0].
或者我可以直接访问 aMesh material 中的纹理吗?
这可能有效,未经测试。
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 的加载函数。
或者分别加载模型和贴图
我正在加载具有纹理的 *.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,将纹理加载到其中,应用各向异性,然后将此纹理变量添加到网格或其 material[0].
或者我可以直接访问 aMesh material 中的纹理吗?
这可能有效,未经测试。
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 的加载函数。
或者分别加载模型和贴图