Windows 7(64 位),SketchUp Make 13.0.4812。
目标:.obj
使用three.js将SketchUp .skp 模型转换为WebGL 并加载到WebGL。
问题: sketchup 导出模型到.obj
带有外部纹理,而这些纹理不是由 three.js 加载的。
问题:是否可以将 SketchUp 模型保存为一个.obj
带有纹理的文件?
不,.obj 是一种简单的文本格式。您不能将纹理存储在 .obj 中。 这是一个关于如何从单独的 .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 );
});
});