From: ousttrue Date: Thu, 13 Oct 2011 16:15:15 +0000 (+0900) Subject: object name X-Git-Url: http://git.osdn.jp/view?a=commitdiff_plain;h=d30e520bc5ef07dcc85f70ccc010f5f26c5bfd6e;hp=3dedb08856683d59e32bcf7e0de90c3be6150fb0;p=meshio%2Fpymeshio.git object name --- diff --git a/blender26-meshio/import_pmx.py b/blender26-meshio/import_pmx.py index d04044d..db2c3d7 100644 --- a/blender26-meshio/import_pmx.py +++ b/blender26-meshio/import_pmx.py @@ -163,12 +163,26 @@ def _execute(filepath): for pos in (v.position for v in model.vertices)] # マテリアル毎にメッシュを作成する + def get_object_name(index, name): + """ + object名を作る。最大21バイト + """ + len_list=[len(name[:i].encode('utf-8')) for i in range(1, len(name)+1, 1)] + letter_count=0 + for str_len in len_list: + if str_len<18: # 21-3 + letter_count+=1 + else: + break + name="{0:02}:{1}".format(index, name[:letter_count]) + print("%s(%d)" % (name, letter_count)) + return name for i, m in enumerate(model.materials): print(m.name) # material作成 material=__create_a_material(m, m.name, textures_and_images) # object名はutf-8で21byteまで - mesh, mesh_object=bl.mesh.create("object:{0:02}".format(i)) + mesh, mesh_object=bl.mesh.create(get_object_name(i, m.name)) bl.mesh.addMaterial(mesh, material) # activate object bl.object.deselectAll()