見出し画像

【Blender】コマンドを並べるだけで手作業を自動化する

エディタのマクロ、PhotoshopのActionのように手順を記録しておいて、コマンドを順番に実行させる方法を紹介。

同じことを繰り返す工程や、作業の下準備のツール設定、表示が面倒くさいこともあるが、自動化しておけば、時間の節約になるし、創作モチベーションも維持できるはず。

■前提

情報ウィンドウに実行した手順が記録されているので、このコマンドを複数並べて実行すると自動処理ができる。
コマンドは、Blenderのテキストエディターにコピペして編集する。

メニューから実行したいコマンドをコピペする方法もあり。(後述)

合わせて、以前紹介したスクリプトをボタン化するAdd-on:「ScriptToButton」と組み合わせると実行が楽にできるようになるので、宜しければ利用されたし。

■具体的なやり方

まず、Blenderのテキストエディターに切り替えて準備する。
(ウィンドウ上部にあるScriptingタブをクリック)

画像7

3Dビューポートで、立方体を作成したり、移動したり編集する。
すると、情報ウィンドウに実行したコマンドが記録される。

画像1

そして、必要なコマンドをコピペして並べる。
テキスト張り付けのコピペは、情報、テキストエディターウィンドウで、マウス右クリックでメニューを表示させてコピペしても、ショートカットキーCtrl+C、Ctrl+Vで行ってもよい。

画像3

画像8

※テキストエディターにペーストする時、カーソルがテキストエディター上にないとテキストをコピペできないので気を付ける。

画像2

コマンドをコピペした後、お作法として、先頭行に「import bpy」を入力しておく。(※この文字列を入力しておかないとエラーになるので注意)

そして、テキストエディター上部にある三角形アイコンのスクリプトを実行ボタンを押して実行する。(Alt+P)

■個々のコマンドをコピペしたい場合

個々のコマンドをコピペすることもできる。
まず、プリファレンス>インターフェイスで、開発者用オプションを有効にする。

画像4

そして、メニューからコピペしたいコマンドを選択して、マウス右クリックメニューでPythonコマンドをコピーを選択実行。
するとコマンドをコピーできるので、テキストエディターにペーストする。

ただし、Pythonコマンドをコピーがグレーアウトしているときは、コピーできない。とりあえず、コマンド上で右クリックしてPythonコマンドをコピーが利用できるかどうか確認すべし。

画像5

※上図でコピーしたPythonコマンド:bpy.ops.mesh.primitive_cube_add()

■略語の意味

bpy : Blender Python(文字列のpyはファイル拡張子でも利用。xxx.py)
ops : Operation System

■自動化実行イメージ(例)

手作業が自動化されて、一瞬で完了する。

<自動化>
1. 立方体を作成。
2. Object選択。
3. 指定位置まで移動。

画像6

※コマンド内の数値を自分好みに変更することも可能。
※設定コマンドの有効・無効設定は、テキストエディター編集時、コマンド内のTrue(有効)、False(無効)を書き換えるだけでOK。(これで、記録、コピペ作業の手間を少し省くことができる)

■トラブルシューティング

・「Pythonコマンドをコピー」がグレーアウトして選択できない。
 通常のマウス右クリックメニューだとグレーアウトしている模様。
 メニューバーからたどる場合は問題ない。

・テキストエディターで入力するだけで勝手に実行されてしまう。
 テキスト>ライブ編集 が有効になっていると自動的に実行されるので
 必要なければ、無効にしておく。

■所感

これで、手作業でやっていた工程が、だいぶ自動化できた。

あと、自分好みの設定でレンダリングする際、その都度詳細設定するのが面倒だったが、自動化できて改善された。

以上。


この記事が気に入ったらサポートをしてみませんか?