Blender で _L _R を強制的にボーン名の末尾に持ってくる
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

Blender で _L _R を強制的にボーン名の末尾に持ってくる

2020-07-07 01:42
    VRoid モデル → VRM2PMXConverter → MMD_tools

    という回りくどい方法でVroid のモデルを Blender に取り込んだら、
    一部のボーンの名前が「 bone01_L_bone01 」みたいな残念な名前になっていて、
    ポーズモードでミラー機能が働きません。
    この問題を解決するために、ボーン名を強制的に付け替えるスクリプトを組んでみました。
    十分な検証はしてないので、ご利用の際は自己責任で。
    あと、ニコニコブログの仕様がプログラムコードを載せるのに絶望的に向いていないので、
    以下をコピペしてもまともに動くかどうかは不明、python が分かって自分で直せる人じゃないと使えないかも。
    とりあえず自分のメモのためにうぷ。
    import re
    import bpy

    for i in bpy.data.armatures:
    for j in i.bones:
    if re.match( r'^.+_[LR]_.+$', j.name ) :
    j.name = re.sub(r'^(.+)_([LR])_(.+)$',r'\1_\3_\2',j.name)

    ※問答無用で全アーマチュアの全ボーンを処理するようになっているので複数のモデルを読み込んでいる場合は注意
    ※おそらく物理などには悪影響があると思います、まったく考慮してないので

    試した環境は以下です。
    • Windows10
    • Blender 2.82a
    • VRM2PmxConverter_v0.5
    • MMD_tools 0.7.0
    • VRoidStudio 0.9.5

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。