コンテンツにスキップ

VSCodeでAddon開発

まず、事前に VSCodeの事前準備をしておきます。
そして、VSCodeのワークスペースを作ります。

コマンドパレットから Blender: New Addon を選びます。

Templateは、With Auto Loadを選びます。

Addonの名前と

名前を入れて、

どこにAddonを作るか聞かれるので、現在のワークスペース以下を指定します。

OpenFileは、 __init__.py を選びます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
bl_info = {
    "name" : "SampleAddon",
    "author" : "MegumiAndo",
    "description" : "",
    "blender" : (2, 80, 0),
    "version" : (0, 0, 1),
    "location" : "",
    "warning" : "",
    "category" : "Generic"
}

from . import auto_load

auto_load.init()

def register():
    auto_load.register()

def unregister():
    auto_load.unregister()

すると、 __init__.py に、 bl_info や、 register unregisterの構造が
自動で作られます。

最初に auto_load.py を選んだ場合、現在のプロジェクト以下にあるPythonファイルを自動で検索し、Addon用のクラスが含まれている場合文字通り「自動で」ロードしてくれます。

試しに、プロジェクト以下にsampleUI.py を作り、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import bpy


class samplePanel(bpy.types.Panel):
    bl_label = "SamplePanel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "SampleAddon"

    def draw(self, context):
        layout = self.layout
        layout.label(text="Hello World!!!!")

中身をこのようにして保存します。

保存したら、Blender:StartでBlenderを起動します。

Blenderを起動すると、先ほどのAddonは自動でAppData以下にコピーされ
ロードされた状態になります。

無事Addonがロードされ、先ほどの sampleUI にある SamplePanelが追加されました。

自動ロード

無事追加できましたが、編集するたびにBlenderを再起動するのはめんどくさいです。
ので、ファイルを保存したら自動でAddonをリロードするようにしておきます。

VSCodeの設定から、 Blender>Addon: Reload On Save をオンにしておきます。
ONにすると、ファイルが変更されるたびにAddonがリロードされ
Blender側で確認をすることができます。

デバッグ

VSCodeからStartした場合、VSCodeのデバッグ機能を使うことができます。

たとえば、ブレークポイントをセットした状態で適当に編集→保存します。
すると、ブレークポイント部分で止めることができました。
https://fereria.github.io/reincarnation_tech/10_Programming/50_VSCode/vscode_debug/
あとはこちらにあるとおり、VSCodeの機能を使ってデバッグできます。

まとめ

VSCodeを使うと、BlenderのAddon開発も
だいぶ効率的に進められそうです。


最終更新日: 2021-10-15 01:45:42
Back to top