我使用Blender插件导出JSON文件,但出于某种原因我无法导出我的对象的纹理。
JSON文件的材质部分如下所示:
"materials" : [ {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "new",
"blending" : "NormalBlending",
"colorAmbient" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorDiffuse" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorEmissive" : [0.1, 0.1, 0.1],
"colorSpecular" : [0.5, 0.5, 0.5],
"depthTest" : true,
"depthWrite" : true,
"shading" : "Lambert",
"specularCoef" : 50,
"transparency" : 1.0,
"transparent" : false,
"vertexColors" : false
}],
,JavaScript部分是:
var loader = new THREE.JSONLoader();
loader.load( "./try.js", function(geometry,materials) {
material = new THREE.MeshFaceMaterial( materials );
object = new THREE.Mesh(geometry,material);
object.scale.set(0.5,0.5,0.5);
object.position.x=0;
object.position.y=0;
object.position.z=0;
});
loader.onLoadComplete=function(){ //render
}
我按照https://www.youtube.com/watch?v=cUkNOF8eORA来创建对象。 (不是我会做的,但这样我们有相同的起点)
答案 0 :(得分:0)
我发现:使用各种网格UV方法,使用blender在几何体上绘制纹理,导出器生成的.json文件将存储有关UV贴图的信息。 UV映射当然与您选择的纹理图像有关。
JSON文件支持很多加载程序不支持的东西(但是?),例如动画,摄像头和灯光等等。加载器不支持的功能之一就是我在寻找。似乎在JSON文件的规范中,您可以为纹理添加图像文件的名称。但是出口商和装载者都无法用它做任何事情。
编辑:这个https://github.com/mrdoob/three.js/pull/5502拉取请求显示他们正在处理它,也许下一个版本的three.js会起作用