本文介绍了三个 JS TextureLoader的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将纹理添加到我转换为 json 并从 3ds Max 导入的模型中.我搜索但没有在网上找到任何使用three.js r53将纹理应用于json模型的代码.我猜 Three.js 处理纹理的方式与以前的版本有所不同.有什么指导吗?
I am trying to add texture to a model that I converted to json and imported from 3ds Max. I searched but didn't find any code online which applies texture to json models using three.js r53. I guess the way Three.js handles textures changed from previous version. Any guidance?
以下是我的代码:
var texloader = new THREE.TextureLoader();
var tex=texloader.load("second.jpg");
var mat = new THREE.MeshBasicMaterial({ map: tex });
loader = new THREE.JSONLoader();
loader.load( "js/JsonModels/toothz.js", function( geometry, mat ) {
mat[0].shading = THREE.SmoothShading;
var material = new THREE.MeshFaceMaterial( mat);
mesh = new THREE.Mesh( geometry, material );
mesh.scale.set( 3, 3, 3 );
mesh.position.y = 0;
mesh.position.x = 0;
scene.add( mesh );
} );
推荐答案
可能是旧版本上的另一个答案,这就是我的工作方式
May be the other answer worked on the older version, this is how I got it working
var textureLoader = new THREE.TextureLoader();
textureLoader.load(url);
// Add the event listener
textureLoader.addEventListener('load', function(event){
// The actual texture is returned in the event.content
sphere.material.map = event.content;
});
这篇关于三个 JS TextureLoader的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!