blender4.1 スクリプトをキーボードショートカットに登録する

Quick Edit Pencil

「# ここに実行したいスクリプトの内容を記述」に以下のスクリプトを登録したい。

... script ...


GPT-4o mini



指定されたスクリプトをBlenderのオペレーターとして登録し、キーボードショートカットを設定する手順を以下に示します。このスクリプトは、現在のシーンのカメラやコレクション名を使って、レンダリングファイルのパスを設定し、レンダリングを実行します。

スクリプトをオペレーターとして登録する手順
Blenderのテキストエディタを開く:
Blenderを開き、テキストエディタを表示します。
スクリプトを入力:
以下のコードをテキストエディタに入力します。
python

コードをコピー
import bpy
import os

class RenderWithCustomPathOperator(bpy.types.Operator):
    bl_idname = "render.custom_render"
    bl_label = "Render with Custom Path"

    def execute(self, context):
        # 現在のシーンを取得
        scene = bpy.context.scene

        # 現在のシーンのカメラを取得
        camera = scene.camera

        # シーン名を取得
        scene_name = scene.name

        # カメラ名を取得
        camera_name = camera.name if camera else "NoCamera"

        # アクティブなコレクションを取得
        active_collection = bpy.context.view_layer.active_layer_collection
        active_collection_name = active_collection.name if active_collection else "NoCollection"

        # レンダリング設定を取得
        render = bpy.context.scene.render

        # render.filepathが設定されているか確認
        if not render.filepath:
            self.report({'ERROR'}, "Error: render.filepath is not set. Aborting.")
            return {'CANCELLED'}
        else:
            # ファイル名を除いたパスを取得
            directory = os.path.dirname(render.filepath)

            # 新しいパスを設定
            new_filepath = os.path.join(directory, f"{active_collection_name}_{camera_name}_{scene_name}.png")
            render.filepath = new_filepath

            # レンダリングを実行
            bpy.ops.render.render(write_still=True)
            return {'FINISHED'}

def register():
    bpy.utils.register_class(RenderWithCustomPathOperator)

def unregister():
    bpy.utils.unregister_class(RenderWithCustomPathOperator)

if __name__ == "__main__":
    register()
スクリプトを実行:
テキストエディタの「Run Script」ボタンをクリックして、スクリプトを実行します。
キーボードショートカットを設定:
Blenderの「Edit」メニューから「Preferences」を選択します。
Keymap」タブを開きます。
3D View」セクションを展開し、「3D View」または「3D View (Global)」の下にある「Add New」ボタンをクリックします。
新しいショートカットを追加し、以下のように設定します:
Identifier: render.custom_render
Key: 実行したいキー(例: RF12など)
Type: キーのタイプ(例: PRESSRELEASEなど)
設定を保存する:
設定が完了したら、Preferencesウィンドウを閉じます。
スクリプトを実行する: 3Dビューに戻り、設定したキーボードショートカットを押すと、指定された条件に基づいてレンダリングが実行されます。 これで、指定されたスクリプトをBlenderで実行するためのオペレーターとキーボードショートカットが設定されました。何か他に質問があれば、お知らせください!<
参考
3dcgソフトのblender4.1で特定のスクリプトを実行するためのキーボードショートカットを作りたい。どうする

.
GPT-4o mini



Blender 4.1で特定のスクリプトを実行するためのキーボードショートカットを作成する手順は以下の通りです。

スクリプトを作成する:
Blenderのテキストエディタを開き、実行したいスクリプトを入力します。
スクリプトを保存します(例: my_script.py)。
スクリプトを登録する:
スクリプトを実行するためのオペレーターを定義します。以下のようなコードを使用して、スクリプトをオペレーターとして登録します。
python

コードをコピー
import bpy

class MyCustomOperator(bpy.types.Operator):
    bl_idname = "wm.my_custom_operator"
    bl_label = "My Custom Operator"

    def execute(self, context):
        # ここに実行したいスクリプトの内容を記述
        print("スクリプトが実行されました")
        return {'FINISHED'}

def register():
    bpy.utils.register_class(MyCustomOperator)

def unregister():
    bpy.utils.unregister_class(MyCustomOperator)

if __name__ == "__main__":
    register()
キーボードショートカットを設定する:
Blenderの「Edit」メニューから「Preferences」を選択します。
Keymap」タブを開きます。
3D View」や「Text Editor」など、ショートカットを設定したいエリアを選択します。
Add New」ボタンをクリックして新しいショートカットを追加します。
新しいエントリの「Identifier」に先ほど定義したオペレーターのID(例: wm.my_custom_operator)を入力します。
Key-binding」フィールドで希望のキーを設定します。
設定を保存する:
Preferencesウィンドウを閉じる前に、設定を保存することを忘れないでください。
これで、設定したキーボードショートカットを押すことで、特定のスクリプトを実行できるようになります。<
light
dark
night-bule
vibrant-ink
wed

このブログの人気の投稿

PowerShellのGetDetailsOf メソッドでプロパティの詳細情報のID番号と項目名を列挙します

Blender: 辺の長さを数値で指定するアドオン

書字方向 横書方向変換スクリプト 左書きから右書きへ(コピペ用途)

ヤバい!JAPANNEXT WQHD対応 27型ワイド液晶ディスプレイ「JN-IPS2716WQHD」を注文してみた!!!

決定版 Edgeでローカルファイルを開く パワーシェルスクリプト (ウインドウズでドロップレット)

PowerShellで複数ファイルのプロパティを取得する方法(準備編)

カルチャーラジオ 科学と人間 薬と毒の歴史をひも解く 日本薬科大学教授…船山信次

Windows10でアプリケーションごとに輝度を設定、自動で変更する - AutoHotkey