アドオンを作成する
参考:
Blender 2.80 で UI のスクリプトを書く | dskjal
はじめての Blender アドオン開発 | COLORFUL PICO (colorful-pico.net)
アドオン開発 | めもてう (memoteu.hatenablog.com)
Blender の自作アドオンの作り方 その1 | ソースに絡まるエスカルゴ
Blender の自作アドオンの作り方 その2 | ソースに絡まるエスカルゴ
Blender の自作アドオンの作り方 その3 | ソースに絡まるエスカルゴ
Add-on Tutorial | Blender Manual [Official]
ドキュメント
参考:
Addons | Blender Developer Wiki [Official]
Guidelines | Blender Developer Wiki [Official]
サンプル/テンプレート
参考:
blender/release/scripts/templates_py – GitHub
blender/doc/python_api/examples – GitHub
はじめての Blender アドオン開発 v3 サンプルアドオン集 (COLORFUL PICO) | BOOTH
入門
参考:
はじめての Blender アドオン開発 2.8 版 (colorful-pico.net)
はじめての Blender アドオン開発 2.7 版 (colorful-pico.net)
はじめての Blender アドオン開発 v3 (COLORFUL PICO) | BOOTH
アップデート/バージョンアップ対応
参考:
Blender 2.79 のスクリプトを 2.80 にアップデートする | dskjal
Blender 2.7x のアドオンを Blender 2.8 へ移植する – Qiita
2.80 Cheat Sheet for updating add-ons – Blender Artists Community
How to register bpy.types.INFO_MT_mesh_add.append(addMenu) blender 2.80 – Blender Stack Exchange
メニューに項目を追加する
参考:
Official keymap example does not work? – Blender Developer Talk
How to add a custom object entry to the add menu? – Blender Stack Exchange
Deleting unwanted New objects in the “add Object” menu – Blender Stack Exchange
Operator docstrings displayed on buttons, not in search mode – Blender Stack Exchange
メニューを置き換える
参考:
How to delete an existing menu? – Blender Stack Exchange
スペシャルメニューに項目を追加する
参考:
スペシャルメニューに任意のメニューを追加するアドオンを作る方法 | 気まぐれブロマガ (suwatoh)
UI を作成する
参考:
Blender 2.80 で UI のスクリプトを書く | dskjal
Blender の UI を制御する | はじめての Blender アドオン開発 (colorful-pico.net)
アイコン
参考:
UILayout.prop | Blender Python API [Official]
UILayout.label | Blender Python API [Official]
New icons for Blender 2.8x | Blender Developer Talk [Official]
2.8 Outlined/Coloured Icon Adaptation | Blender Developer Talk [Official]
Colored icons in add-on | Blender Developer Talk [Official]
New icons for Blender 2.8 | Blender Artists Community
2.8 Outlined/Coloured Icon Adaptation – Blender Artists Community
How to edit 2.8 UI icons? – Blender Stack Exchange
ショートカットキーを割り当てる/キーマップ (Keymap)
参考:
スクリプト内部で自作の機能にショートカットキーを割り当てる – Qiita
Keymap for addons – Blender Artists Community
サイドバータブ
参考:
Human Interface Guidelines/Sidebar Tabs | Blender Developer Wiki [Official]
Trouble with Vertical Toolbar Tabs! Any idea or script to fix this mess? – Blender Artists Community
Remove addons from tabs in 3d window – Blender Stack Exchange
N Panel Tab Clutter – Right-Click Select (Blender.Community)
Right Toolbar needs improvment in 2.8 – Right-Click Select (Blender.Community)
More options for reordering Workspaces and Sidebar tabs – Right-Click Select (Blender.Community)
The Toolbar/Sidebar Interface Issue – Blender Developer Talk [Official]
sidebar custom colors for tabs – Blender Stack Exchange
パネル
参考:
Panel 編 | めもてう (memoteu.hatenablog.com)
Creating panels for placing Blender add-ons user interface (UI) | Interplanety
bpy.types.Panel | Blender Python API [Official]
How to change the location of an addon in the UI – Blender Stack Exchange
poll
条件を判定してパネルの表示・非表示を切り替えるにはクラスメソッド poll
を定義する。
@classmethod def poll(cls, context): return context.object is not None
参考:
Simple Object Panel | Blender Python API [Official]
パネルを動的に登録する
参考:
Change Blender’s Preferences Dynamically – Blender Stack Exchange
アンドゥ
参考:
Addon Operators and Undo support | Blender Developer Talk
プロパティ
参考:
スクリプトにおいてクラス間で変数を共有する方法 | dskjal
オペレータプロパティを活用する | はじめての Blender アドオン開発 (colorful-pico.net)
Blender でプロパティを追加して UI で編集する Addon サンプル | トックの CG 部屋
Property Definitions (bpy.props) | Blender Python API [Official]
PointerProperty
参考:
New property type: IDPointerProperty | Right-Click Select (Blender.Community)
prop_search
参考:
prop_search の使い方 | blender-script メモ (blenderscript.ni-moe.com)
Object selection box in addon – Blender Stack Exchange
Limit “prop_search” to Specific Types of Objects – Blender Stack Exchange
Search custom properties in objects on the scene – Blender Stack Exchange
オブジェクト選択欄/スポイトアイコン
参考:
Object selection box with eyedropper – Blender Stack Exchange
Make the eyedropper tool available in add-ons via Python | Right-Click Select (Blender.Community)
モジュールの読み込み順/パネルの順序
参考:
How to know the order in which scripts are loaded? – Blender Artists Community
How I can define the order of the panels? – Blender Stack Exchange
リロード
単一ファイルのアドオン (__init__.py が存在しない場合)
アドオンをファイルからインストール (Install Add-on from File) した後、アドオンを再度有効化する。アドオンの無効化により古いファイルの unregister
が実行され、有効化により新しいファイルの register
が実行される。
モジュール型のアドオン (__init__.py を含む複数のソースファイルで構成されている場合)
「検索メニュー (Search Menu)」(F3
キー) で「スクリプトを再読み込み (Reload Script)」を検索して実行する。サブモジュールはアドオン内で明示的に再読み込みを実行する必要がある。
参考:
Reload button in 2.8? – Blender Developer Talk [Official]
Is there a way to restart a modified addon? – Blender Stack Exchange
メタ情報 (bl_info)
カテゴリー (category)
- 3D View
- Add Mesh
- Add Curve
- Animation
- Compositing
- Development
- Game Engine
- Import-Export
- Lighting
- Material
- Mesh
- Node
- Object
- Paint
- Physics
- Render
- Rigging
- Scene
- Sequencer
- System
- Text Editor
- UV
- User Interface
参考:
metainfo | Blender Developer Wiki [Official]
テストを自動化する
参考:
GitHub と TravisCI を用いて Blender アドオンのテストを自動化する – Qiita
アドオン集
参考:
blender-addon-tester
参考:
Add-on Template
参考:
Add-on Template | Blender Market