From 7c686cc000243203206007b2bcf5a45ca7dee025 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 25 May 2011 01:18:41 +0900 Subject: [PATCH] fix for 2.57b --- README.txt | 6 +++--- blender25-meshio/export_pmd.py | 27 +++++++++++++++++++-------- blender25-meshio/pymeshio/pmd.py | 2 +- setup.py | 2 +- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/README.txt b/README.txt index a42e051..1a0ea69 100644 --- a/README.txt +++ b/README.txt @@ -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 にコピーしください。 diff --git a/blender25-meshio/export_pmd.py b/blender25-meshio/export_pmd.py index c4cc9a4..af4fc6e 100644 --- a/blender25-meshio/export_pmd.py +++ b/blender25-meshio/export_pmd.py @@ -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( diff --git a/blender25-meshio/pymeshio/pmd.py b/blender25-meshio/pymeshio/pmd.py index 8a8c2c4..076fc11 100644 --- a/blender25-meshio/pymeshio/pmd.py +++ b/blender25-meshio/pymeshio/pmd.py @@ -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)) diff --git a/setup.py b/setup.py index eb21884..39cc6be 100644 --- 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', -- 2.11.0