From d30e520bc5ef07dcc85f70ccc010f5f26c5bfd6e Mon Sep 17 00:00:00 2001 From: ousttrue Date: Fri, 14 Oct 2011 01:15:15 +0900 Subject: [PATCH] object name --- blender26-meshio/import_pmx.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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() -- 2.11.0