SketchUp导出obj纹理 - 如何

时间:2013-09-09 08:43:23

标签: 3d three.js webgl sketchup

Windows 7(64位),SketchUp Make 13.0.4812。

目标:将SketchUp .skp模型转换为.obj并使用three.js加载到WebGL。

问题: sketchup使用外部纹理将模型导出到.obj,并且这些纹理不会被three.js加载。

问题:是否可以将SketchUp模型保存为带纹理的.obj文件?

1 个答案:

答案 0 :(得分:5)

不,.obj是一种简单的文本格式。您无法在.obj中存储纹理。  Here is an example关于如何从单独的.jpg文件加载纹理。

我复制了重要的部分:

// texture
var manager = new THREE.LoadingManager();
manager.onProgress = function ( item, loaded, total ) {
  console.log( item, loaded, total );
};
var texture = new THREE.Texture();
var loader = new THREE.ImageLoader( manager );
loader.load( 'textures/ash_uvgrid01.jpg', function ( image ) {
  texture.image = image;
  texture.needsUpdate = true;
} );

// model
var loader = new THREE.OBJLoader( manager );
loader.load( 'obj/male02/male02.obj', function ( object ) {
  object.traverse( function ( child ) {
    if ( child instanceof THREE.Mesh ) {
      child.material.map = texture;
    }
    scene.add( object );
  });
});