本日はBlender枠です。
以前作成したGIFメーカーのツールをアドオンとして登録できるようににします。
〇アドオンとして登録できるようにする
BlenderではScriptエディタを使用することでPythonコードを実行できますが、単発ではなく、汎用的に使用するためにはアドオンとして登録をしておくことが便利です。
まずはプロジェクトフォルダを作成し、_Init_.pyという名前のPythonファイルを作成します。
これがBlenderのアドオンをインストールした際のエントリーポイントとなります。

GifCreatorで使用するためのgif_creator.py及び、フォルダを作成します。

〇アドオン情報の定義
_init_.pyにアドオン情報を定義します。
次のブロックで行います。
bl_info = {
"name": "GIFMaker",
"version": (1,0,0),
"Auther" : "HoloMoto",
"blender": (4, 0, 0),
"category": "Rendering",
}
ここではGIFMakerという名前で、バージョン1でBlender4.0.0以上に対して登録をします。
〇関数の登録
次に実際のスクリプトであるgif_creator.pyの処理である関数をBlender側に登録するようにします。
現在のgif_creator.pyの中身は次のようになります。
import bpy
import os
import re
import subprocess
import shutil
# Define a new operator (action or function)
class GIFExporterOperator(bpy.types.Operator):
・・・
# Define a new UI panel
class GIFExporterPanel(bpy.types.Panel):
・・・
class VideoEditorRenderOperator(bpy.types.Operator):
・・・
class GIFExporterPanelVideoEditor(bpy.types.Panel):
・・・
class LoopRenderOperator(bpy.types.Operator):
・・・
def cleanup_gif_maker():
・・・
def gif_maker_excute(script_path):
・・・
def gif_maker_init():
・・・
def register():
・・・
def unregister():
・・・
if __name__ == "__main__":
register()
ここでregister()とunregister()がBlender側に各メソッドを登録して使用可能にする役割を持っています。
アドオンとして使用する際は前述のとおり_init_.pyがエントリーポイントとなるため、init.pyの登録時にgif_creator.pyの登録も行います。
import bpy
from . import gif_creator //同ディレクトリにあるgif_vreator.pyを読み込む
bl_info = {
"name": "GIFMaker",
"version": (1,0,0),
"auther" : "HoloMoto",
"blender": (4, 0, 0),
"category": "Rendering",
}
def register():
gif_creator.register()
def unregister():
gif_creator.unregister()

〇ZipにしてBlenderで検証を行う
プロジェクトフォルダをZip圧縮します。


生成したZipをアドオンとして読み込みます。


通常のアドオン同様にチェックボックスにチェックを入れて有効化します。

これによってアドオンとして機能が保存されプロジェクトをまたいで使用できるようになりました。

当然ですがビデオ編集エディタでも機能しています。

以上でBlender用のGIFメーカーアドオンが完成しました。
配付するためには外部のライブラリのインポートなどを考慮する必要がありますが、また別の機会に方法を調べて生きます。
本日は以上です。