Browse Source

Removed workers from Blender exporter.

Fixed Blender importer to work with Blender 2.60, add option for importing workers or non-worker models.

Fixed more examples to use worker-less format. All examples should work now.

Only Max exporter should be left to change.
alteredq 13 years ago
parent
commit
1658d7f083

File diff suppressed because it is too large
+ 14 - 18
examples/models/animated/sittingBox.js


+ 4 - 22
examples/obj/WaltHeadLo.js

@@ -1,21 +1,6 @@
-/*
- * File generated with Blender 2.58 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * vertices: 1642
- * faces: 3232
- * normals: 0
- * uvs: 0
- * colors: 0
- * materials: 0
- * edges: 0
- * morphTargets: 0
- *
- */
-
-var model = {
-
-    "version" : 2,
+{
+
+    "metadata": { "formatVersion" : 3, "generatedBy": "Blender 2.58 Exporter" },
 
     "scale" : 100.000000,
 
@@ -36,7 +21,4 @@ var model = {
     "edges" : []
 
 
-};
-
-postMessage( model );
-close();
+}

+ 19 - 24
examples/obj/blenderscene/scene.Cube.js

@@ -1,23 +1,20 @@
-/*
- * File generated with Blender 2.56 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * vertices: 8
- * faces: 6
- * normals: 0
- * uvs: 0
- * colors: 0
- * materials: 1
- * edges: 0
- *
- */
-
-var model = {
-
-    "version" : 2,
-    
+{
+
+    "metadata" :
+    {
+        "formatVersion" : 3,
+        "generatedBy"   : "Blender 2.60 Exporter",
+        "vertices"      : 8,
+        "faces"         : 6,
+        "normals"       : 0,
+        "colors"        : 0,
+        "uvs"           : 0,
+        "materials"     : 1,
+        "morphTargets"  : 0
+    },
+
     "scale" : 1.000000,
-    
+
     "materials": [	{
 	"DbgColor" : 15658734,
 	"DbgIndex" : 0,
@@ -25,6 +22,7 @@ var model = {
 	"colorAmbient" : [0.0, 0.0, 0.0],
 	"colorDiffuse" : [0.6400000190734865, 0.10179081114814892, 0.126246120426746],
 	"colorSpecular" : [0.5, 0.5, 0.5],
+	"shading" : "Lambert",
 	"specularCoef" : 50,
 	"transparency" : 1.0,
 	"vertexColors" : false
@@ -40,11 +38,8 @@ var model = {
 
     "uvs": [[]],
 
-    "faces": [3,0,1,2,3,0,3,4,7,6,5,0,3,0,4,5,1,0,3,1,5,6,2,0,3,2,6,7,3,0,3,4,0,3,7,0],
+    "faces": [3,0,1,2,3,0,3,4,7,6,5,0,3,0,4,5,1,0,3,1,5,6,2,0,3,2,6,7,3,0,3,4,0,3,7,0]
 
-    "edges" : []
 
-};
 
-postMessage( model );
-close();
+}

File diff suppressed because it is too large
+ 17 - 19
examples/obj/blenderscene/scene.Monkey.js


+ 19 - 24
examples/obj/blenderscene/scene.Plane.js

@@ -1,23 +1,20 @@
-/*
- * File generated with Blender 2.56 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * vertices: 4
- * faces: 1
- * normals: 0
- * uvs: 0
- * colors: 0
- * materials: 1
- * edges: 0
- *
- */
-
-var model = {
-
-    "version" : 2,
-    
+{
+
+    "metadata" :
+    {
+        "formatVersion" : 3,
+        "generatedBy"   : "Blender 2.60 Exporter",
+        "vertices"      : 4,
+        "faces"         : 1,
+        "normals"       : 0,
+        "colors"        : 0,
+        "uvs"           : 0,
+        "materials"     : 1,
+        "morphTargets"  : 0
+    },
+
     "scale" : 1.000000,
-    
+
     "materials": [	{
 	"DbgColor" : 15658734,
 	"DbgIndex" : 0,
@@ -25,6 +22,7 @@ var model = {
 	"colorAmbient" : [0.0, 0.0, 0.0],
 	"colorDiffuse" : [0.14462547517754842, 0.6400000190734865, 0.24541190036254967],
 	"colorSpecular" : [0.5, 0.5, 0.5],
+	"shading" : "Lambert",
 	"specularCoef" : 50,
 	"transparency" : 1.0,
 	"vertexColors" : false
@@ -40,11 +38,8 @@ var model = {
 
     "uvs": [[]],
 
-    "faces": [3,0,3,2,1,0],
+    "faces": [3,0,3,2,1,0]
 
-    "edges" : []
 
-};
 
-postMessage( model );
-close();
+}

+ 89 - 65
examples/obj/blenderscene/scene.js

@@ -1,21 +1,21 @@
-/* Converted from: scene.blend
- *
- * File generated with Blender 2.56 Exporter
- * https://github.com/alteredq/three.js/tree/master/utils/exporters/blender/
- *
- * objects:    27
- * geometries: 3
- * materials:  3
- * textures:   0
- */  
-
-var scene = {
+{
+
+"metadata" :
+{
+    "formatVersion" : 3,
+    "sourceFile"    : "scene.blend",
+    "generatedBy"   : "Blender 2.60 Exporter",
+    "objects"       : 27,
+    "geometries"    : 3,
+    "materials"     : 3,
+    "textures"      : 0
+},
 
 "type" : "scene",
 "urlBaseType" : "relativeToScene",
 
 
-"objects" : 
+"objects" :
 {
     "Cube.006" : {
         "geometry"  : "geo_Cube",
@@ -24,10 +24,11 @@ var scene = {
         "position"  : [ 10.623673, 0.321692, 3.370784 ],
         "rotation"  : [ 0.005265, 0.056306, 1.566005 ],
         "quaternion": [ 0.708568, -0.017992, 0.021809, 0.705076 ],
-        "scale"     : [ 8.310001, 0.120000, 4.930000 ],
+        "scale"     : [ 8.310000, 0.120000, 4.930000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.018" : {
@@ -35,12 +36,13 @@ var scene = {
         "groups"    : [  ],
         "materials" : [ "Material.002" ],
         "position"  : [ 1.702659, -5.860421, 0.680278 ],
-        "rotation"  : [ 1.413516, -0.081378, -3.079003 ],
+        "rotation"  : [ 1.413516, -0.081377, -3.079004 ],
         "quaternion": [ 0.050177, -0.010617, -0.649485, -0.758643 ],
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.017" : {
@@ -48,12 +50,13 @@ var scene = {
         "groups"    : [  ],
         "materials" : [ "Material.002" ],
         "position"  : [ 0.081295, -5.808783, 0.639505 ],
-        "rotation"  : [ 1.413516, -0.081378, -3.079003 ],
+        "rotation"  : [ 1.413516, -0.081377, -3.079004 ],
         "quaternion": [ 0.050177, -0.010617, -0.649485, -0.758643 ],
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.016" : {
@@ -61,12 +64,13 @@ var scene = {
         "groups"    : [  ],
         "materials" : [ "Material.002" ],
         "position"  : [ -1.569030, -5.747240, 0.619385 ],
-        "rotation"  : [ 1.413516, -0.081378, -3.079003 ],
+        "rotation"  : [ 1.413516, -0.081377, -3.079004 ],
         "quaternion": [ 0.050177, -0.010617, -0.649485, -0.758643 ],
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.015" : {
@@ -74,12 +78,13 @@ var scene = {
         "groups"    : [  ],
         "materials" : [ "Material.002" ],
         "position"  : [ -3.129120, -5.709269, 0.552267 ],
-        "rotation"  : [ 1.413516, -0.081378, -3.079003 ],
+        "rotation"  : [ 1.413516, -0.081377, -3.079004 ],
         "quaternion": [ 0.050177, -0.010617, -0.649485, -0.758643 ],
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.014" : {
@@ -92,7 +97,8 @@ var scene = {
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.013" : {
@@ -105,7 +111,8 @@ var scene = {
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.012" : {
@@ -118,7 +125,8 @@ var scene = {
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.011" : {
@@ -131,7 +139,8 @@ var scene = {
         "scale"     : [ 0.435837, 0.435837, 0.435837 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.010" : {
@@ -141,10 +150,11 @@ var scene = {
         "position"  : [ -2.010442, -24.343616, 1.387332 ],
         "rotation"  : [ -1.621122, -2.949867, -0.136972 ],
         "quaternion": [ 0.016439, -0.116140, -0.679574, -0.724169 ],
-        "scale"     : [ 9.160008, 9.160007, 9.160007 ],
+        "scale"     : [ 9.160008, 9.160008, 9.160007 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.009" : {
@@ -157,7 +167,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.008" : {
@@ -170,7 +181,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.007" : {
@@ -183,7 +195,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube.005" : {
@@ -196,7 +209,8 @@ var scene = {
         "scale"     : [ 6.130000, 0.070000, 1.690000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube.004" : {
@@ -205,11 +219,12 @@ var scene = {
         "materials" : [ "Material" ],
         "position"  : [ 2.484517, -7.486932, 2.724846 ],
         "rotation"  : [ 0.220417, 0.075224, -0.181029 ],
-        "quaternion": [ 0.988790, 0.112836, 0.027288, -0.093898 ],
+        "quaternion": [ 0.988791, 0.112836, 0.027288, -0.093898 ],
         "scale"     : [ 0.350000, 0.890000, 3.309999 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.006" : {
@@ -222,7 +237,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.005" : {
@@ -235,7 +251,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.004" : {
@@ -248,7 +265,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.003" : {
@@ -261,7 +279,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.002" : {
@@ -274,7 +293,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube.003" : {
@@ -282,12 +302,13 @@ var scene = {
         "groups"    : [  ],
         "materials" : [ "Material" ],
         "position"  : [ -3.031251, -1.943665, 0.702044 ],
-        "rotation"  : [ 1.840851, 1.811250, -0.141131 ],
+        "rotation"  : [ 1.840852, 1.811250, -0.141131 ],
         "quaternion": [ 0.328619, 0.523567, 0.440581, -0.650981 ],
         "scale"     : [ 1.781142, 0.361142, 0.231142 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey.001" : {
@@ -300,7 +321,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Monkey" : {
@@ -313,7 +335,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube.002" : {
@@ -326,7 +349,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube.001" : {
@@ -339,7 +363,8 @@ var scene = {
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Plane" : {
@@ -352,7 +377,8 @@ var scene = {
         "scale"     : [ 7.922787, 7.922787, 7.922787 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     },
 
     "Cube" : {
@@ -361,16 +387,17 @@ var scene = {
         "materials" : [ "Material" ],
         "position"  : [ 3.651978, -0.000000, 1.071144 ],
         "rotation"  : [ 0.220417, 0.075224, -0.181029 ],
-        "quaternion": [ 0.988790, 0.112836, 0.027288, -0.093898 ],
+        "quaternion": [ 0.988791, 0.112836, 0.027288, -0.093898 ],
         "scale"     : [ 1.000000, 1.000000, 1.000000 ],
         "visible"       : true,
         "castsShadow"   : false,
-        "meshCollider"  : false
+        "meshCollider"  : false,
+        "trigger"       : "None"
     }
 },
 
 
-"geometries" : 
+"geometries" :
 {
     "geo_Cube" : {
         "type" : "ascii_mesh",
@@ -389,26 +416,26 @@ var scene = {
 },
 
 
-"materials" : 
+"materials" :
 {
     "Material" : {
-        "type": "MeshPhongMaterial",
-        "parameters": { color: 10688800, opacity: 1.00, ambient: 0, specular: 8355711, shininess: 50.0 } 
+        "type": "MeshLambertMaterial",
+        "parameters": { "color": 10688800, "opacity": 1 }
     },
 
     "Material.001" : {
-        "type": "MeshPhongMaterial",
-        "parameters": { color: 2401086, opacity: 1.00, ambient: 0, specular: 8355711, shininess: 50.0 } 
+        "type": "MeshLambertMaterial",
+        "parameters": { "color": 2401086, "opacity": 1 }
     },
 
     "Material.002" : {
-        "type": "MeshPhongMaterial",
-        "parameters": { color: 10711076, opacity: 1.00, ambient: 0, specular: 8355711, shininess: 50.0 } 
+        "type": "MeshLambertMaterial",
+        "parameters": { "color": 10711076, "opacity": 1 }
     }
 },
 
 
-"cameras" : 
+"cameras" :
 {
     "default_camera" : {
         "type"  : "perspective",
@@ -422,7 +449,7 @@ var scene = {
 },
 
 
-"lights" : 
+"lights" :
 {
     "default_light": {
         "type"		 : "directional",
@@ -433,14 +460,14 @@ var scene = {
 },
 
 
-"transform" : 
+"transform" :
 {
     "position"  : [ 0.000000, 0.000000, 0.000000 ],
     "rotation"  : [ -1.570796, 0.000000, 0.000000 ],
-    "scale"     : [ 1.000000, 1.000000, 1.000000 ],
+    "scale"     : [ 1.000000, 1.000000, 1.000000 ]
 },
 
-"defaults" : 
+"defaults" :
 {
     "bgcolor" : [ 0.000000, 0.000000, 0.000000 ],
     "bgalpha" : 1.000000,
@@ -448,6 +475,3 @@ var scene = {
 }
 
 }
-
-postMessage( scene );
-close();

+ 16 - 22
examples/obj/cubecolors/cube_fvc.js

@@ -1,20 +1,17 @@
-/*
- * File generated with Blender 2.59 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * vertices: 8
- * faces: 6
- * normals: 0
- * uvs: 0
- * colors: 22
- * materials: 1
- * morphTargets: 0
- *
- */
-
-var model = {
-
-    "version" : 2,
+{
+
+    "metadata" :
+    {
+        "formatVersion" : 3,
+        "generatedBy"   : "Blender 2.60 Exporter",
+        "vertices"      : 8,
+        "faces"         : 6,
+        "normals"       : 0,
+        "colors"        : 22,
+        "uvs"           : 0,
+        "materials"     : 1,
+        "morphTargets"  : 0
+    },
 
     "scale" : 1.000000,
 
@@ -31,7 +28,7 @@ var model = {
 	"vertexColors" : true
 	}],
 
-    "vertices": [1.000000,-1.000000,-1.000000,1.000000,-1.000000,1.000000,-1.000000,-1.000000,1.000000,-1.000000,-1.000000,-1.000000,1.000000,1.000000,-1.000000,0.999999,1.000000,1.000000,-1.000000,1.000000,0.999999,-1.000000,1.000000,-1.000000],
+    "vertices": [1.000000,-1.000000,-1.000000,1.000000,-1.000000,1.000000,-1.000000,-1.000000,1.000000,-1.000000,-1.000000,-1.000000,1.000000,1.000000,-1.000000,0.999999,1.000000,1.000001,-1.000000,1.000000,1.000000,-1.000000,1.000000,-1.000000],
 
     "morphTargets": [],
 
@@ -45,7 +42,4 @@ var model = {
 
 
 
-};
-
-postMessage( model );
-close();
+}

File diff suppressed because it is too large
+ 14 - 17
examples/obj/cubecolors/cubecolors.js


+ 13 - 15
examples/obj/ninja/NinjaLo_bin.js

@@ -1,15 +1,16 @@
-// Converted from: ../../examples/obj/ninja/ninjaHead_Low.obj
-//  vertices: 4485
-//  faces: 4810
-//  materials: 0
-//
-//  Generated with OBJ -> Three.js converter
-//  http://github.com/alteredq/three.js/blob/master/utils/exporters/convert_obj_three.py
+{
 
-
-var model = {
-
-    "version" : 1,
+    "metadata" :
+    {
+        "formatVersion" : 3,
+        "sourceFile"    : "ninjaHead_Low.obj",
+        "generatedBy"   : "OBJConverter",
+        "vertices"      : 4485,
+        "faces"         : 4810,
+        "normals"       : 4485,
+        "uvs"           : 4543,
+        "materials"     : 0
+    },
 
     "materials": [	{
 	"DbgColor" : 15658734,
@@ -19,7 +20,4 @@ var model = {
 
     "buffers": "NinjaLo_bin.bin"
 
-};
-    
-postMessage( model );
-close();
+}

File diff suppressed because it is too large
+ 3 - 16
examples/obj/suzanne/suzanneHi.js


+ 6 - 2
utils/exporters/blender/2.60/scripts/addons/io_mesh_threejs/__init__.py

@@ -24,8 +24,8 @@
 bl_info = {
     "name": "three.js format",
     "author": "mrdoob, kikko, alteredq, remoe, pxf",
-    "version": (1, 1, 0),
-    "blender": (2, 5, 7),
+    "version": (1, 2, 0),
+    "blender": (2, 6, 0),
     "api": 35622,
     "location": "File > Import-Export",
     "description": "Import-Export three.js meshes",
@@ -128,6 +128,7 @@ class ImportTHREEJS(bpy.types.Operator, ImportHelper):
 
     option_flip_yz = BoolProperty(name="Flip YZ", description="Flip YZ", default=True)
     recalculate_normals = BoolProperty(name="Recalculate normals", description="Recalculate vertex normals", default=True)
+    option_worker = BoolProperty(name="Worker", description="Old format using workers", default=False)
 
     def execute(self, context):
         import io_mesh_threejs.import_threejs
@@ -143,6 +144,9 @@ class ImportTHREEJS(bpy.types.Operator, ImportHelper):
         row = layout.row()
         row.prop(self.properties, "recalculate_normals")
 
+        row = layout.row()
+        row.prop(self.properties, "option_worker")
+
 
 # ################################################################
 # Exporter - settings

+ 27 - 36
utils/exporters/blender/2.60/scripts/addons/io_mesh_threejs/export_threejs.py

@@ -77,18 +77,18 @@ COLORS = [0xeeeeee, 0xee0000, 0x00ee00, 0x0000ee, 0xeeee00, 0x00eeee, 0xee00ee]
 # #####################################################
 
 TEMPLATE_SCENE_ASCII = """\
-/* Converted from: %(fname)s
- *
- * File generated with Blender 2.60 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * objects:    %(nobjects)s
- * geometries: %(ngeometries)s
- * materials:  %(nmaterials)s
- * textures:   %(ntextures)s
- */
-
-var scene = {
+{
+
+"metadata" :
+{
+    "formatVersion" : 3,
+    "sourceFile"    : "%(fname)s",
+    "generatedBy"   : "Blender 2.60 Exporter",
+    "objects"       : %(nobjects)s,
+    "geometries"    : %(ngeometries)s,
+    "materials"     : %(nmaterials)s,
+    "textures"      : %(ntextures)s
+},
 
 "type" : "scene",
 "urlBaseType" : %(basetype)s,
@@ -110,9 +110,6 @@ var scene = {
 }
 
 }
-
-postMessage( scene );
-close();
 """
 
 TEMPLATE_SECTION = """
@@ -221,33 +218,27 @@ TEMPLATE_HEX = "0x%06x"
 # #####################################################
 
 TEMPLATE_FILE_ASCII = """\
-/*
- * File generated with Blender 2.59 Exporter
- * https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
- *
- * vertices: %(nvertex)d
- * faces: %(nface)d
- * normals: %(nnormal)d
- * uvs: %(nuv)d
- * colors: %(ncolor)d
- * materials: %(nmaterial)d
- * morphTargets: %(nmorphTarget)d
- *
- */
-
-var model = {
+{
 
-%(model)s
+    "metadata" :
+    {
+        "formatVersion" : 3,
+        "generatedBy"   : "Blender 2.60 Exporter",
+        "vertices"      : %(nvertex)d,
+        "faces"         : %(nface)d,
+        "normals"       : %(nnormal)d,
+        "colors"        : %(ncolor)d,
+        "uvs"           : %(nuv)d,
+        "materials"     : %(nmaterial)d,
+        "morphTargets"  : %(nmorphTarget)d
+    },
 
-};
+%(model)s
 
-postMessage( model );
-close();
+}
 """
 
 TEMPLATE_MODEL_ASCII = """\
-    "version" : 2,
-
     "scale" : %(scale)f,
 
     "materials": [%(materials)s],

+ 7 - 3
utils/exporters/blender/2.60/scripts/addons/io_mesh_threejs/import_threejs.py

@@ -253,7 +253,8 @@ def create_mesh_object(name, vertices, materials, face_data, flipYZ, recalculate
                     active_texture = materials[faceMaterials[fi]].active_texture
 
                     if active_texture:
-                        uv_face.use_image = True
+                        # this property doesn't exist anymore in Blender 2.60
+                        #uv_face.use_image = True
                         uv_face.image = active_texture.image
 
 
@@ -562,7 +563,7 @@ def get_path(filepath):
 # Parser
 # #####################################################
 
-def load(operator, context, filepath, option_flip_yz = True, recalculate_normals = True):
+def load(operator, context, filepath, option_flip_yz = True, recalculate_normals = True, option_worker = False):
 
     print('\nimporting %r' % filepath)
 
@@ -576,7 +577,10 @@ def load(operator, context, filepath, option_flip_yz = True, recalculate_normals
     rawcontent = file.read()
     file.close()
 
-    json_string = extract_json_string(rawcontent)
+    if option_worker:
+        json_string = extract_json_string(rawcontent)
+    else:
+        json_string = rawcontent
     data = json.loads( json_string )
 
     time_new = time.time()

Some files were not shown because too many files changed in this diff