2016年8月3日水曜日

blender - MMDボーン名をLRにする

絶対誰か作ってるだろうと思うけど、それ探して入れるより書いたほうが圧倒的に速い気がしたので、
ちゃちゃっと作成。

to_blender
右~→~.R
左~→~.L

to_mmd
~.R→右~
~.L→左~

となります

使い方:
テキストエディタに張り付けてメッシュとボーンを全部選択して実行。
元に戻すときは、最後のあたりを
#to_blender()
to_mmd()
にして実行。

免責事項:
数分で書いたかき捨てスクリプトなので必ず保存してから実行してください
どうなっても責任とれません

# -*- coding: utf-8 -*-
import bpy

def to_blender():
 for obj in bpy.context.selected_objects:
  if (obj.type == "ARMATURE"):
   for bone in obj.data.bones:
    if ("右" in bone.name):
     bone.name = bone.name[1:] + ".R"
    if ("左" in bone.name):
     bone.name = bone.name[1:] + ".L"
  if (obj.type == "MESH"):
   for group in obj.vertex_groups:
    if ("右" in group.name):
     group.name = group.name[1:] + ".R"
    if ("左" in group.name):
     group.name = group.name[1:] + ".L"

def to_mmd():
 for obj in bpy.context.selected_objects:
  if (obj.type == "ARMATURE"):
   for bone in obj.data.bones:
    if (".R" in group.name):
     bone.name = "右" + bone.name[0:-2]
    if (".L" in group.name):
     bone.name = "左" + bone.name[0:-2]
  if (obj.type == "MESH"):
   for group in obj.vertex_groups:
    if (".R" in group.name):
     group.name = "右" + group.name[0:-2]
    if (".L" in group.name):
     group.name = "左" + group.name[0:-2]


to_blender()
#to_mmd()