nomurabbitのブログ

nomurabbitのブログはITを中心にした技術ブログです。

nomurabbitのブログ

【Blender】Scripting for Artists を勉強してみた Part12【3DCG】

この記事はBlender2.92で、公式チュートリアルScripting for Artistsについて勉強した内容をまとめたものです。


こんにちは!らびです。今回はBlenderScripting for Artistsというチュートリアルを実施していきます。

BlenderPythonを扱う方法です。頑張って勉強していきましょう!


ワークスペースの準備


Scripting for Artists Part12ではPythonスクリプトを使ってBlenderオリジナルのメソッドを追加してみます。


まずはLayoutワークスペースを用意して、一番下のエディタをPython Consoleに変更します。画面を分割してText Editorを追加します。また、コレクションやオブジェクトは全て削除しておきます。


f:id:nomurabbit:20220305104231p:plain

オリジナルメソッド追加用スクリプト


早速オリジナルメソッド追加用スクリプトを作成してみます。Text Editorに下記のスクリプトを記述します。

import bpy

class MESH_OT_nomu_cube_subdiv(bpy.types.Operator):
    """add cube subdiv"""
    bl_idname = "mesh.nomu_cube_subdiv"
    bl_label = "Nomu Cube Subdiv"
    
    def execute(self, context):
        bpy.ops.mesh.primitive_cube_add()
        return {'FINISHED'}

def register():
    bpy.utils.register_class(MESH_OT_nomu_cube_subdiv)
    
def unregister():
    bpy.utils.unregister_class(MESH_OT_nomu_cube_subdiv)

if __name__ == '__main__':
    register()


Cubeを追加するだけのメソッドだジョ。


画面はこんな感じになります。


f:id:nomurabbit:20220305104727p:plain


bl_idname mesh.nomu_cube_subdivとなっていますね。


このスクリプトを実行するとbpy.ops.mesh以下nomu_cube_subdivというメソッドが追加されます。


ちなみにこの時点でインテリセンスを確認してみると…。


f:id:nomurabbit:20220305105023p:plain


まだメソッドは追加されていません。

オリジナルメソッドの追加


では、オリジナルメソッドを追加していきましょう。右上の再生ボタンを押してスクリプトを実行します。


f:id:nomurabbit:20220305105139p:plain


成功した場合は何のメッセージも表示されません。


f:id:nomurabbit:20220305105220p:plain


インテリセンスで確認すると、mesh.nomu_cube_subdivというメソッドが追加されているのがわかります。


f:id:nomurabbit:20220305105623p:plain


もしスクリプトに文法の間違いがあったりすると…。


f:id:nomurabbit:20220305105410p:plain


ステータスバーにエラーメッセージが表示されたジョ。

オリジナルメソッドを実行


それではメソッドを実行してみましょう。


f:id:nomurabbit:20220305105847p:plain


原点Cubeが追加されました。


まとめ


以上、BlenderScripting for Artistsについて勉強した内容のまとめPart12でした。


PythonスクリプトからBlenderを眺めることで、よりソフトウェアに対する理解が深まりますね。


次回もぜひご覧ください。では!