表面材質や背景で使用されていないイメージを選択する(スクリプト)

表面材質や背景ウィンドウなどで読み込まれたイメージは、ブラウザウィンドウのイメージパートへ格納されます。

イメージパート内に表示されたイメージの使用状況はブラウザ下のセパレータをドラッグすると
イメージが、どの表面材質や背景に参照されているか確認することができます。

しかし、イメージパートに多数のイメージが存在する場合、個別に確認するには時間を要し現実敵ではございません。
その場合は、以下のスクリプトを実行することで、使用していないイメージを一括して選択することができ
視覚的に内容を確認することができます。

なお、スクリプトを実行すると未参照のマスターマテリアルは、ブラウザ上で複数選択されます。
その際、右クリックして表示されたメニューより「マーカー色」を指定して内容を後ほど確認するか、
削除を指定して一括削除することもできます。

※使用していないマスターマテリアルの検索方法はこちらをご確認ください。

使用方法:
1・「#Shade Script」から「main()」までを選択し「コピー」してください。
2・表示メニューよりスクリプトを選択してください。
3・スクリプトウィンドウが表示されますので、フィールド上にマウスカーソルを合わせ「貼り付け」を行なってください。
4・スクリプトウィンドウ内にスクリプトが貼り付けられたのち「実行」ボタンをクリックしてください。

これにより、ブラウザウィンドウのマテリアルパートより、どこの形状にも
参照されていないマスターマテリアルが複数選択されます。


#Shade Script
# @title \ja 未使用のイメージの選択 \endja
# @description \ja 形状や背景などで使用されていないイメージを全て選択します。\endja

def get_images (contain_image_set, shape): #shapeの形状、パートの中にあるイメージのuuidを洗い出し
 if shape.type == 10:  # マスターイメージ.
  contain_image_set.append(shape)

 if shape.has_son:
  son = shape.son
  while son.has_bro:
   son = son.bro
   get_images(contain_image_set, son)

def main():
 print("■■「未使用のイメージの選択」を実行します。")
 #rootからイメージパートパート探し
 r_part = xshade.scene().shape
 if not r_part.has_son:
  print("■イメージパートはありません")
  return

 m_image_part = None
 crr_shape = r_part.son
 while crr_shape.has_bro:
  crr_shape = crr_shape.bro
  if crr_shape.type == 2:#パート
   if crr_shape.part_type == 102:#イメージパート
    m_image_part = crr_shape
    break
 if m_image_part == None or not m_image_part.has_son:
  print("■イメージパートはありません")
  return

 contain_image_list = []
 get_images(contain_image_list, m_image_part)
 # 参照されていないイメージを抽出.
 to_active_list = []
 for i in range(len(contain_image_list)):
  master_image = contain_image_list[i]
  # イメージが参照されていない場合.
  if master_image.is_master_image_being_used() == 0:
   to_active_list.append(master_image )

 if len(to_active_list) == 0:
  print("■使用していないイメージはありませんでした。")
  return

 print("■" + str(len(to_active_list)) +"個のイメージが使用されていません。")
 xshade.scene().active_shapes = to_active_list
 print("■使用していないイメージを選択しました。")

main()
この記事のタイトルとURLをコピーする
Translate »