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