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