Javascript 纹理渲染问题
嘿,好了 我在OBJ导入模型上渲染纹理时遇到问题 在该图像中,您可以看到纹理的渲染方式 在这里,您可以看到纹理的外观(映射到对象) 这是我的代码:Javascript 纹理渲染问题,javascript,3d,three.js,Javascript,3d,Three.js,嘿,好了 我在OBJ导入模型上渲染纹理时遇到问题 在该图像中,您可以看到纹理的渲染方式 在这里,您可以看到纹理的外观(映射到对象) 这是我的代码: loader = new THREE.ImageLoader(); loader.load('./tex/Stuhl1-vorn.jpg', function (image) { var imageObj = new Image(); imageObj.src = $(image).
loader = new THREE.ImageLoader();
loader.load('./tex/Stuhl1-vorn.jpg', function (image) {
var imageObj = new Image();
imageObj.src = $(image).prop('src');
var canvas = document.createElement("canvas");
canvas.width = imageObj.width;
canvas.height = imageObj.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(imageObj, 0, 0, imageObj.width, imageObj.height, 0, 0, canvas.width, canvas.height);
texture.image = canvas;
texture.needsUpdate = true;
});
var material = new THREE.MeshLambertMaterial({
map: texture,
needsUpdate: true
});
var loader = new THREE.OBJLoader(manager);
loader.load('obj/sitz.obj', function (object) {
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material = material;
child.side = THREE.FrontSide;
}
});
object.position.y = -400;
scene.add(object);
}, onProgress, onError);
在我看来,您导入的模型没有uvw坐标。
将模型加载到三维建模程序中,添加uvw坐标,使用uvw坐标导出 或者,如果您想在代码中执行此操作,那么以下问题/答案可能会有所帮助: