Amazonで商品を見るセール会場へ

Blenderアドオンの作り方|選択メッシュを連番リネームする

Blenderで同じ種類のオブジェクトが増えると、Cube.001のような名前だけでは中身を探しにくくなります。

ここでは、選択したメッシュをpart_001、part_002と連番にする小さな拡張機能を作ります。

Pythonの処理に加え、3Dビューのサイドバーにボタンを置くところまで扱います。

作例の拡張機能をダウンロード(ZIP)できます。

ZIPにはblender_manifest.tomlと__init__.pyが入っています。

既存の制作ファイルではなく、新規の練習用ファイルで動作を確かめてください。

目次

作る機能と変更範囲

  • オブジェクトモードで選択したメッシュだけを名前変更する。カメラ、ライト、選択していないメッシュは変えない。
  • 名前は変更前の名前順に並べ、指定した接頭語と開始番号で連番にする。
  • 同じ名前が選択外のオブジェクトにあるときは、変更前に止める。
  • 変更をUndoで戻せるよう、オペレーターにUNDOを指定する。

例えば「Seat」と「Leg」を選んで接頭語part、開始番号1を指定すると、名前順にpart_001、part_002へ変わります。

選択していないpart_003はそのままです。

拡張機能の2つのファイル

Blender 4.2以降の拡張機能は、パッケージのルートにマニフェストとPythonの入口を置きます。

今回のZIPも次の構成です。

cgm_selected_renamer-1.0.0.zip
├─ blender_manifest.toml
└─ __init__.py

blender_manifest.tomlには、ID、版、対応するBlenderの下限、ライセンスを記します。

__init__.pyに実際の名前変更処理とパネルを置きます。

配布サンプルはBlenderの拡張機能ビルド・検証コマンドを通したZIPです。

オペレーターで選択中のメッシュを処理する

オペレーターは、ボタンを押したときに実行する処理です。

次の部分が変更対象を選んでいます。

メッシュだけに絞り、名前で並べることで、同じ選択状態なら連番の順序が分かります。

selected = sorted(
    (obj for obj in context.selected_objects if obj.type == 'MESH'),
    key=lambda obj: obj.name,
)
if not selected:
    self.report({'WARNING'}, "メッシュを選択してください")
    return {'CANCELLED'}

targets = [f"{self.prefix}_{self.start + i:03d}" for i in range(len(selected))]

この先で、選択外の名前との衝突を調べます。

衝突があれば変更を始めずに止めます。

選択中のオブジェクト同士で名前が一時的に重なる場合に備え、いったん仮の名前へ変更してから最終名を付けます。

bpyでは同名があると自動的に末尾が調整されるため、この順序を省くと意図した連番にならないことがあります。

全文はZIP内の__init__.pyで確認できます。

ボタンを登録する

パネルはVIEW_3DのUI領域に置き、CGMタブへボタンを追加する構成です。

Blenderが拡張機能を有効にするとregister()でオペレーターとパネルを登録し、無効にするとunregister()で逆順に解除します。

CLASSES = (CGM_OT_rename_selected_meshes, CGM_PT_selected_renamer)

def register():
    for cls in CLASSES:
        bpy.utils.register_class(cls)

def unregister():
    for cls in reversed(CLASSES):
        bpy.utils.unregister_class(cls)

ZIPを導入して試す

  1. ZIPを展開せずに保存し、Blenderの編集 → プリファレンス → アドオンを開く。
  2. 「ディスクからインストール」を選び、ダウンロードしたZIPを指定する。
  3. 拡張機能を有効にし、新規ファイルで立方体などメッシュを2個作る。
  4. オブジェクトモードで2個を選択し、3Dビューの右サイドバー(Nキー)のCGMタブで「選択メッシュを連番にする」を実行する。
  5. 接頭語と開始番号を指定して確定し、アウトライナーの名前を確認する。元に戻したい場合はCtrl+Zを使う。

ボタンが見えない場合は、拡張機能が有効か、3Dビューでオブジェクトモードになっているかを確認してください。

既存名と衝突した場合はエラーで止まり、別の接頭語または開始番号に変更して再実行できます。

今回確認した結果と残る確認

2026年10月3日にBlender 5.2.1 LTSの背景実行で拡張機能を登録し、選択した2メッシュがpart_001・part_002になることを確認しました。

選択外にpart_003がある場合は、同名への変更を拒否して既存名を保持しました。

メッシュが未選択の場合も変更せずに終了し、登録解除も完了しました。

ZIPはBlenderのビルドとマニフェスト検証を通しています。

GUIでのZIP導入、ボタン表示、ダイアログ操作の画面撮影は今回まだ実施していません。

上の導入手順はBlender公式のアドオン設定に基づきます。

実装の説明はOperator API、Panel API、拡張機能の開発構成を参照しています。

繰り返し配置を自動化したい場合は、ジオメトリノードで面に球を散らす作例も参考になります。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

3DCGのおすすめ書籍

3DCG用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次