OSDN Git Service

fix for 2.57b
authorousttrue <ousttrue@gmail.com>
Tue, 24 May 2011 16:18:41 +0000 (01:18 +0900)
committerousttrue <ousttrue@gmail.com>
Tue, 24 May 2011 16:18:41 +0000 (01:18 +0900)
README.txt
blender25-meshio/export_pmd.py
blender25-meshio/pymeshio/pmd.py
setup.py

index a42e051..1a0ea69 100644 (file)
@@ -5,9 +5,9 @@ http://meshio.sourceforge.jp/
 
 pmdとmqoの読み書きライブラリと、それを使ったblender2.57b向けaddonです。
 
-インストール
-============
-アーカイブを解凍すると中にmeshioというディレクトリができます。
+blender-2.57addonのインストール
+===============================
+アーカイブを解凍すると中にblender25-meshioというディレクトリができます。
 これを、
 {blender2.57bのインストールディレクトリ}/2.57/scripts/addons
 にコピーしください。
index c4cc9a4..af4fc6e 100644 (file)
@@ -475,12 +475,23 @@ class OneSkinMesh(object):
         copyMesh, copyObj=bl.object.duplicate(obj)
         if len(copyMesh.vertices)>0:
             # apply transform
-            copyObj.scale=obj.scale
-            bpy.ops.object.transform_apply(scale=True)
-            copyObj.rotation_euler=obj.rotation_euler
-            bpy.ops.object.transform_apply(rotation=True)
-            copyObj.location=obj.location
-            bpy.ops.object.transform_apply(location=True)
+            try:
+                # svn 36722
+                copyObj.scale=obj.scale
+                bpy.ops.object.transform_apply(scale=True)
+                copyObj.rotation_euler=obj.rotation_euler
+                bpy.ops.object.transform_apply(rotation=True)
+                copyObj.location=obj.location
+                bpy.ops.object.transform_apply(location=True)
+            except AttributeError as e:
+                # 2.57b
+                copyObj.scale=obj.scale
+                bpy.ops.object.scale_apply()
+                copyObj.rotation_euler=obj.rotation_euler
+                bpy.ops.object.rotation_apply()
+                copyObj.location=obj.location
+                bpy.ops.object.location_apply()
+
             # apply modifier
             for m in [m for m in copyObj.modifiers]:
                 if m.type=='SOLIDFY':
@@ -534,7 +545,7 @@ class OneSkinMesh(object):
 
                 break
         assert(basis)
-        print(basis.name, len(baseMorph.offsets))
+        #print(basis.name, len(baseMorph.offsets))
 
         if len(baseMorph.offsets)==0:
             return
@@ -544,7 +555,7 @@ class OneSkinMesh(object):
             if b.name==BASE_SHAPE_NAME:
                 continue
 
-            print(b.name)
+            #print(b.name)
             morph=self.__getOrCreateMorph(b.name, 4)
             used=set()
             for index, src, dst in zip(
index 8a8c2c4..076fc11 100644 (file)
@@ -594,7 +594,7 @@ class IO(object):
             io.write(struct.pack("=20s", bone.english_name))
         # english skin list
         for skin in self.morph_list:
-            print(skin.name)
+            #print(skin.name)
             if skin.name==b'base':
                 continue
             io.write(struct.pack("=20s", skin.english_name))
index eb21884..39cc6be 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ from setuptools import setup
 
 setup(
         name='pymeshio',
-        version='1.8.3',
+        version='1.8.4',
         description='pure python 3d model io library',
         keywords=[],
         author='ousttrue',