Blender导出的UV地图纹理没有在三个JS中显示

时间:2014-11-14 03:24:13

标签: image three.js blender uv-mapping

Blender导出的UV地图纹理未在三个JS中显示

问候,2014年11月13日

简单地说,我正在尝试使用以下代码来帮助three.js识别已成功加载的blender导出文件中的材料,同时变形效果非常好!但是,来自搅拌机内的UV贴图纹理不会显示,并且控制台没有抛出的错误?我可以轻松地使用imageutils单独加载纹理,但当然UV映射丢失了!奇怪的是,当我分别加载UV图形时,我得到了一个奇怪的图案,它象征着一个UV图形但是重要性让我失望了?...我,对于three.js的新手,尝试了许多代码组合,如下面的最后一次尝试所代表的那样。任何想法如何尝试three.js识别UV材料?

感激, 泰德

mesh = new THREE.Mesh( 
    geometry, 
    new THREE.MeshLambertMaterial({
        THREE.UVMapping(THREE.ImageUtils.loadTexture("clothtexturegreenuv.jpg"), 
        morphTargets: true 
    })
);
mesh.scale.set( 35, 35, 35 );
scene.add( mesh );

2 个答案:

答案 0 :(得分:0)

试试这个:

var mesh = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture( "clothtexturegreenuv.jpg"), 
    morphTargets: true 
}); 

mesh.scale.set( 35, 35, 35 );     
scene.add( mesh );

答案 1 :(得分:0)

它自动适用于MeshFaceMaterial的示例,当导出的json已经具有UV和我认为的纹理参考时,不需要UVMapping或loadTexture调用。来自http://threejs.org/examples/webgl_loader_json_blender.html的示例:

var loader = new THREE.JSONLoader();
loader.load( 'models/animated/monster/monster.js', function ( geometry, materials ) {
    var faceMaterial = new THREE.MeshFaceMaterial( materials );
    //(...) that example uses morph anims too but I cut the extras (...) 
    morph = new THREE.MorphAnimMesh( geometry, faceMaterial );
    scene.add( morph );
}

我们还在手册中记录了UVs +不同地图的使用情况,它类似(但目前仅在去年春天更新,而threejs.org示例是最新的):https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/3D-UI_-WebTundra-_User_and_Programmers_Guide#Exporting_3D_scenes_from_authoring_applications