如何使用THREE.js向collada文件(.dae)添加纹理?

时间:2017-09-17 10:21:28

标签: three.js textures collada

我需要使用three.js显示collada文件(.dae),我可以加载模型但显示没有纹理,使用此代码

var loader = new THREE.ColladaLoader( loadingManager );
            loader.options.convertUpAxis = true;
            loader.load( './car.dae', function ( collada ) {

                car = collada.scene;

                car.material = 
     THREE.TextureLoader("../model/car_white.jpg");

我尝试了其他代码,只有这个代码适用于模型,但没有纹理 需要你的支持来添加我的纹理。

1 个答案:

答案 0 :(得分:1)

一般来说,您可以将纹理添加到模型中,如下所示:

var textureLoader = new THREE.TextureLoader();
var texture = textureLoader.load('../model/car_white.jpg');

loader.load( './car.dae', function ( collada ) {

  collada.scene.traverse(function (node) {
    if (node.isMesh) {
      node.material.map = texture;
    }
  });

});

有关详细信息,请参阅THREE.MaterialTHREE.TextureLoader的文档。

  

注意:正如评论中提到的@gaitat一样,如果它们没有相互设计,并且模型不是'很简单。如果是这种情况,您可能需要在Blender(或其他软件)中添加纹理,您可以在其中创建UV,并导出结果。