アドオンを作成する

参考:

プラグインの作り方 – Qiita

Blender 2.80 で UI のスクリプトを書く | dskjal

はじめての Blender アドオン開発 | COLORFUL PICO (colorful-pico.net)

アドオン開発 | めもてう (memoteu.hatenablog.com)

Blender の自作アドオンの作り方 その1 | ソースに絡まるエスカルゴ

Blender の自作アドオンの作り方 その2 | ソースに絡まるエスカルゴ

Blender の自作アドオンの作り方 その3 | ソースに絡まるエスカルゴ

アドオンの作り方・構造の解説 | 忘却まとめ

ドキュメント

参考:

Addons | Blender Developer Wiki [Official]

Guidelines | Blender Developer Wiki [Official]

サンプル/テンプレート

参考:

blender/release/scripts/templates_py – GitHub

blender/doc/python_api/examples – GitHub

入門

参考:

プラグインの作り方 – Qiita

チュートリアル

参考:

Add-on Tutorial | Blender Manual [Official]

アップデート/バージョンアップ対応

参考:

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

メニューに項目を追加する

参考:

プラグインでサブメニューを作成する方法 – Qiita

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)

アイコン

参考:

デフォルトの UI アイコン一覧 – Qiita

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

Is there a list or something available which shows the code of the Symbols of Blender – Blender Stack Exchange

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 部屋

Properties | wiki.blender.jp

Property Definitions (bpy.props) | Blender Python API [Official]

PointerProperty

参考:

Is it possible to use bpy.props.PointerProperty to store a pointer to an object? – Blender Stack Exchange

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 Scripts を利用する – Qiita

Reload button in 2.8? – Blender Developer Talk [Official]

T66924 bpy.ops.preferences.addon_enable() only checks for changes in __init__.py; Problem for multi-file add-ons | Blender Developer [Official]

unregister and remove addon in blender with python does not remove the item from menu – Stack Overflow

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

アドオン集

参考:

Add-on集 | QCGANIME

blender-addon-tester

参考:

blender-addon-tester | PyPI

Add-on Template

参考:

Add-on Template | Blender Market

Addon Template – YouTube

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です