本日はBlenderPython枠です。
BlenderのPythonAPIであるbpyはBlenderのバージョンによって若干の挙動が異なります。
今回はBlenderのバージョンによって処理を変える実装を行います。
〇Blenderのバージョンを取得する
まずは条件分岐を行うためにBlenderのバージョンを取得します。
これはbpy.app.versionを使用することで取得できます。
import bpy blender_version = bpy.app.version print(blender_version)
このコードを実行すると実行しているBlenderのバージョンがコンソールウィンドウに出力されます。
またBlenderには2.x,3.x,4.xなどメジャーバージョンと3.0,3.4,3.5といったマイナーバージョンが存在します。
それぞれを取得するには次のように記述します。
import bpy blender_version = bpy.app.version major_version = blender_version[0] minor_version = blender_version[1] print("ver:", blender_version) print("major ver:", major_version) print("minor_ver:", minor_version)
これを実行することでBlenderのバージョンに関しての詳細を取得できます。
〇Blender3.xのみ処理を実行する
では次にBlender3.x系のみ処理を実行するような実装を行ってみます。
次のようなコードで実現できます。
import bpy blender_version = bpy.app.version major_version = blender_version[0] minor_version = blender_version[1] print("ver:", blender_version) print("major ver:", major_version) print("minor_ver:", minor_version) if major_version == 3 and minor_version >= 0: # Blender 3.0.0以降の処理 print("enable") pass else: print("disable") # それ以前のバージョン向けの処理 pass
このコードをBlender3.4で実行すると次のようになります。
では次にBlender2.92で同じコードを実行した結果が次になります。
このようにバージョンを認識して処理を変えることができました。