THREE.JS从blender中导出JSON模型(包括纹理)

时间:2022-06-30 05:58:12

I'm using the mrdoob Blender Export Plugin (io_mesh_threejs) to Export to Three JS, but the exported .js or .dae objects do not contain any reference to the texture map files. Is there a special way I need to export the object? Alternatively, is there a special way I need to apply the map to the object in Blender 2.65 in order for the exporter to include it. Lastly, if there is not a way, can I manually add the texture in the JS file?

我正在使用mrdoob Blender Export Plugin(io_mesh_threejs)导出到三个JS,但导出的.js或.dae对象不包含对纹理贴图文件的任何引用。我需要一种特殊的方式来导出对象吗?或者,我需要一种特殊的方法将地图应用于Blender 2.65中的对象,以便导出器包含它。最后,如果没有办法,我可以在JS文件中手动添加纹理吗?


Blender Before Export

出口前的搅拌机

THREE.JS从blender中导出JSON模型(包括纹理)


JSON Object Exported (without reference to texture)

导出的JSON对象(不参考纹理)

{

    "metadata" :
    {
        "formatVersion" : 3.1,
        "generatedBy"   : "Blender 2.65 Exporter",
        "vertices"      : 8,
        "faces"         : 6,
        "normals"       : 8,
        "colors"        : 0,
        "uvs"           : [4],
        "materials"     : 1,
        "morphTargets"  : 0,
        "bones"         : 0
    },

    "scale" : 1.000000,

    "materials" : [ {
        "DbgColor" : 15658734,
        "DbgIndex" : 0,
        "DbgName" : "Material",
        "blending" : "NormalBlending",
        "colorAmbient" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
        "colorDiffuse" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
        "colorSpecular" : [0.5, 0.5, 0.5],
        "depthTest" : true,
        "depthWrite" : true,
        "shading" : "Lambert",
        "specularCoef" : 50,
        "transparency" : 1.0,
        "transparent" : false,
        "vertexColors" : false
    }],

    "vertices" : [1,-0.988938,-1,1,-0.988938,1,-1,-0.988938,1,-1,-0.988938,-1,1,1.01106,-0.999999,0.999999,1.01106,1,-1,1.01106,1,-1,1.01106,-1],

    "morphTargets" : [],

    "normals" : [0.577349,-0.577349,-0.577349,0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,-0.577349,0.577349,0.577349,-0.577349,-0.577349,0.577349,-0.577349,-0.577349,0.577349,0.577349,0.577349,0.577349,0.577349],

    "colors" : [],

    "uvs" : [[1,-0,1,1,0,1,-0,0]],

    "faces" : [43,0,1,2,3,0,0,1,2,3,0,1,2,3,43,4,7,6,5,0,0,1,2,3,4,5,6,7,43,0,4,5,1,0,0,1,2,3,0,4,7,1,43,1,5,6,2,0,0,1,2,3,1,7,6,2,43,2,6,7,3,0,0,1,2,3,2,6,5,3,43,4,0,3,7,0,2,3,0,1,4,0,3,5],

    "bones" : [],

    "skinIndices" : [],

    "skinWeights" : [],

    "animation" : {}


}

Code To Load JSON Object

代码加载JSON对象

var object;
var loader = new THREE.JSONLoader();          

loader.load( "./quirk_logo.js", function(geometry, materials) {
     var material = new THREE.MeshFaceMaterial(materials);
     object = new THREE.Mesh(geometry, materials);

     object.scale.set(1, 1, 1);
     scene.add(object)
     render();
});

3 个解决方案

#1


2  

I think you can first export your model to .obj from your Blender and then follow the rest part of this tutorial to get your right .json model.
http://bkcore.com/blog/3d/webgl-three-js-workflow-tips.html

我想你可以先从你的Blender将你的模型导出到.obj,然后按照本教程的其余部分来获得正确的.json模型。 http://bkcore.com/blog/3d/webgl-three-js-workflow-tips.html

#2


1  

This should be what you are looking for.

这应该是你正在寻找的。

http://graphic-sim.com/B_basic_export.html

http://graphic-sim.com/B_basic_export.html

#3


1  

Take a look at the example i cooked up .

看看我煮熟的例子。

https://github.com/master-atul/blender3js

https://github.com/master-atul/blender3js

U can see the working example here :

你可以在这里看到工作示例:

http://www.atulr.com/blender3js

http://www.atulr.com/blender3js

You can check out my code from my repo link.

你可以从我的repo链接查看我的代码。

And if you wish to know the export options i used :

如果您想知道我使用的出口选项:

I directly exported the animations and everything from blender with options described here.

我直接从混合器中导出动画和所有内容以及此处描述的选项。

https://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/

https://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/

Hope this helps Cheers :)

希望这有助于干杯:)

#1


2  

I think you can first export your model to .obj from your Blender and then follow the rest part of this tutorial to get your right .json model.
http://bkcore.com/blog/3d/webgl-three-js-workflow-tips.html

我想你可以先从你的Blender将你的模型导出到.obj,然后按照本教程的其余部分来获得正确的.json模型。 http://bkcore.com/blog/3d/webgl-three-js-workflow-tips.html

#2


1  

This should be what you are looking for.

这应该是你正在寻找的。

http://graphic-sim.com/B_basic_export.html

http://graphic-sim.com/B_basic_export.html

#3


1  

Take a look at the example i cooked up .

看看我煮熟的例子。

https://github.com/master-atul/blender3js

https://github.com/master-atul/blender3js

U can see the working example here :

你可以在这里看到工作示例:

http://www.atulr.com/blender3js

http://www.atulr.com/blender3js

You can check out my code from my repo link.

你可以从我的repo链接查看我的代码。

And if you wish to know the export options i used :

如果您想知道我使用的出口选项:

I directly exported the animations and everything from blender with options described here.

我直接从混合器中导出动画和所有内容以及此处描述的选项。

https://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/

https://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/

Hope this helps Cheers :)

希望这有助于干杯:)