OSDN Git Service

fix mqo_import smoothing, mirroring.
[meshio/meshio.git] / swig / blender / mqo_import.py
index 745102c..dff4fec 100644 (file)
@@ -110,7 +110,7 @@ def __createObjects(scene, mqo, root, materials, imageMap, scale):
     """\r
     create blender mesh objects.\r
     """\r
-    # store hierarchy\r
+    # tree stack\r
     stack=[root]    \r
     objects=[]\r
     for o in mqo.objects:\r
@@ -118,7 +118,7 @@ def __createObjects(scene, mqo, root, materials, imageMap, scale):
 \r
         # add hierarchy\r
         stack_depth=len(stack)-1\r
-        print(o.depth, stack_depth)\r
+        #print(o.depth, stack_depth)\r
         if o.depth<stack_depth:\r
             for i in range(stack_depth-o.depth):\r
                 stack.pop()\r
@@ -134,6 +134,13 @@ def __createObjects(scene, mqo, root, materials, imageMap, scale):
 \r
         bl.meshAddMqoGeometry(mesh_object, o, materials, imageMap, scale)\r
 \r
+        # mirror modifier\r
+        if o.mirror:\r
+            bl.objectAddMirrorModifier(mesh_object)\r
+\r
+        # set smoothing\r
+        bl.meshSetSmooth(mesh, o.smoothing)\r
+\r
     return objects\r
 \r
 \r
@@ -523,7 +530,7 @@ def create_bone_weight(scene, mqo, armature_object, objects):
         mesh.update()\r
 \r
 \r
-def __execute(filename, scene, scale=1.0):\r
+def __execute(filename, scene, scale=0.1):\r
     # parse file\r
     io=mqo.IO()\r
     if not io.read(filename):\r
@@ -532,6 +539,8 @@ def __execute(filename, scene, scale=1.0):
 \r
     # create materials\r
     materials, imageMap=__createMaterials(scene, io, os.path.dirname(filename))\r
+    if len(materials)==0:\r
+        materials.append(bl.createMaterial('default'))\r
 \r
     # create objects\r
     root=bl.createEmptyObject(scene, os.path.basename(filename))\r