mqo, pmdインポータがほぼ完了
ようやくpmdインポータでメッシュ、shape key、Armatureの読み込みまでができた。blender2.5向けのスクリプト情報が不足していて一部難航したがなんとかなった。夜に今バージョンを整理してアップロードする予定。
特に頂点選択からオペレーション(不要頂点の削除)を適用する処理でおおいにはまった。
# Editモード bpy.ops.object.mode_set(mode='EDIT', toggle=False) # 頂点を選択 for v in mesh.verts: v.selected=True # 選択された頂点数と全頂点数が等しい assert(mesh.total_vert_sel==len(mesh.verts))
というのを
# 頂点を選択 for v in mesh.verts: v.selected=True # Editモード bpy.ops.object.mode_set(mode='EDIT', toggle=False) # 選択された頂点数と全頂点数が等しい assert(mesh.total_vert_sel==len(mesh.verts))
と書かないといけないのがわからず数時間悩む。
モード変更時に裏で何かupdate系処理が呼ばれていると思うのだが、それでたまたま状態が反映されていると思われる。
前にもはまったがblender2.5のスクリプトでEditモードの操作をする時は、状態を反映するタイミングと方法が不明で良くはまる。関係オブジェクトのupdateなどを適切に呼ぶ必要があるのかもしれないが今のところよくわからない。