日々適当

hibitekitou

選択したマテリアルスロット以外を消す

cg |2022-10-20

この図で選択しているのはMaterial.004が刺さっている2つ目のマテリアルスロットですけど、選択されていないマテリアルスロットを全部削除して、選択したマテリアルだけ残したいとします。

import bpy

objs = bpy.context.selected_objects
matSlots = objs[0].material_slots

selectedMatIndex = objs[0].active_material_index
j = 0
for i in range( len( matSlots ) ):
    objs[0].active_material_index = j
    if j != selectedMatIndex:
        bpy.ops.object.material_slot_remove()
        selectedMatIndex -= 1
    else:
        j += 1

まあそんな作業が発生したんですわ。これをもうちょっとちゃんと書いてマテリアルプロパティのところから右クリックからとかで実行できるようにできていれば捗っただろうなぁ。(-ボタンをプチプチ押していくのは面倒、時間かかる)

コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。