繁体   English   中英

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

[英]How can I add textures to collada file (.dae) using THREE.js?

我需要使用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");

我尝试了其他代码,仅此代码适用于模型,但没有纹理需要您的支持以添加我的纹理。

一般来说,您可以像这样向模型添加纹理:

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并导出结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM