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



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

问候, 十一月 13th 2014

简而言之,我正在尝试使用以下代码来帮助三个.js从搅拌机导出文件中识别材料,该文件已成功加载,而变形影响效果很好!但是,搅拌机内的UV贴图纹理没有显示,并且控制台没有抛出错误?我可以轻松地使用 imageutils 单独加载纹理,但当然 UV 映射会丢失!奇怪的是,当我单独加载UV图形时,我得到了象征UV图形的奇怪图案,但意义击败了我?...我是三.js的新手,已经尝试了许多代码组合,如下下面的最后一次尝试所代表的那样。有什么想法如何尝试三种.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 );

试试这个:

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 );

它自动在具有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 );
}

我们还在手册中记录了UV+不同地图的使用,它是相似的(但目前仅在去年春天更新,而 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

最新更新