2022年6月6日月曜日

Blender でボーングループ並べ直しスクリプトを書いてみた改

以前、雑に作った同スクリプトですが、ソート後にアクティブなグループを指し直すように修正しました。

import bpy

while bpy.context.mode == 'POSE':
    amt = bpy.context.active_object

    exist_bg = False
    for bone in amt.pose.bones:
        if (bone.bone_group):
            exist_bg = True
            break

    if not(exist_bg):
        break

    idx_active = amt.pose.bone_groups.active_index
    name_active = amt.pose.bone_groups[idx_active].name

    bpy.ops.pose.group_sort()

    idx = 0

    for bg in amt.pose.bone_groups:
        if bg.name == name_active:
            amt.pose.bone_groups.active_index = idx
            break
        idx = idx + 1

    break;

頂点グループの方はソート関数のみでも自動でアクティブなグループが動くので、いずれ修正されるだろうと思っていたのですが、一向に変わる気配がなかったので自分で対応しました…。
という訳で、統合版の方も修正しました。

0 件のコメント:

コメントを投稿