以前、雑に作った同スクリプトですが、ソート後にアクティブなグループを指し直すように修正しました。
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 件のコメント:
コメントを投稿