Blenderを使っていると、Blenderの画面を開くのが面倒くさくなったり、
繰り返し同じ作業をしているときはありませんか?
そんなときに便利なのが、コマンドラインを使った操作です。
Blenderの画面を開く必要が無いため、
コンピュータの動作も軽くなり、素早く結果を得ることが期待できます。
また、1度書いたコマンドは何回でも使えるので、繰り返し作業の効率化も可能です。
この記事ではコマンドラインで操作するための
セットアップから基本的な使い方の解説をしていきます。
習得すれば、今後の作業効率は間違いなく向上するはずです。
”今までコマンドなんて使ったことない”というかたも、一緒に挑戦してみましょう!
Youtubeを見ながら、裏でBlenderの実行とかもできるようになるよ!
コマンドが実行できるかチェック
まず、コマンドを実行できる環境があるか確認していきましょう。
コマンドからBlenderの画面を表示できればOKです。
WindowsならコマンドプロンプトかPowershell、Macの場合はターミナルを開いて、
’blender’と入力して実行していきます。
実行してBlenderの画面が立ち上がれば、問題なしです。
立ち上がらなかった場合は、下記の対応を試してみてください。
パスの登録があるかチェックしよう
OSのパス(Path)に登録が無い場合にblenderコマンドを実行すると、
そんなコマンドないよ?という内容のエラーが表示されることがあります。
下記の手順に沿って、パスの登録をしていきましょう。
【エラー文】
コマンドが認識されないという内容のエラーが出ます。
【パスの登録方法】
blender.exeのあるディレクトリをパスに登録します。
登録方法はOSごとに違うので、自分の環境に合わせて確認が必要です。
パスの登録後は確実に反映するためにPCの再起動もした上で、動作確認していきましょう。
■Windowsの場合
システム環境変数のPathに登録します。
以下のようなフォルダがあるので、そのディレクトリを登録していきます。C:\Program Files\Blender Foundation\Blender (バージョン番号)
手順1:”システム環境変数”で検索して開く
手順2:システムプロパティの画面が開くので、”環境変数”のボタンを押す
手順3:システム環境変数の”Path”を選択し、編集ボタンを押す。
手順4:C:\Program Files\Blender Foundation\Blender(バージョン番号)
を追加
手順5:OKボタンを押して画面を閉じていく。
■Macの場合
ターミナルからパスを登録する手順になります。
手順1:bash_profile(環境変数の設定するファイル)を開く.
nano ~/.bash_profile
手順2:bash_profileにパスを追記.
追記したら、Ctrl + X
、続いてY
で保存
export PATH=$PATH:/Applications/Blender.app/Contents/MacOS/
手順3:設定を反映
source ~/.bash_profile
Blenderのコマンド構造の解説
Blenderのコマンドは以下のような構文です。
簡単な例は次の章で見ていきましょう。
blender [起動時のオプション] [ファイル] [起動後のオプション]
blender
:Blenderを起動するコマンド[起動時のオプション]
:起動時の動作を指定するオプション[ファイル]
:操作するBlenderファイル[起動後のオプション]
:追加の処理内容を指定するオプション
今から使えるコマンドオプションの紹介
①バックグラウンドでの実行(-b)
-bをつけると、Blenderの画面は開かずにblenderの機能を実行することができます。
場所は前章で確認した[起動時のオプション]
です。
-bのみだと、開いて直ぐに閉じてしまうので、
他のコマンドと組み合わせて使用していきましょう。
blender -b sample.blend
②レンダリングの実行(-a / -f)
レンダリングの結果である画像やアニメーションの出力も可能です。
紹介するオプションは以下の2つです。
今回は-bと組み合わせて使っていきます。
-a
:アニメーションをすべてレンダリング。-f
:指定したフレームのみをレンダリング。
# アニメーションをレンダリング.
blender -b sample.blend -a
# フレーム1をレンダリング.
blender -b sample.blend -f 1
以下は、-f
の実行画面です。
レンダリング結果のファイル名や出力先は、
指定が無ければblender側のデフォルト設定になるので注意が必要です。
この例だと、C:\tmpというフォルダに0001.pngが出力されてますね
③出力先の指定(-o)
レンダリングの結果を出力する場所を指定する事も、もちろん可能です。-o
の後に出力したい場所を書いていきましょう。-o C:\Blender\sample_render\
のように書けば、そのディレクトリ以下に結果ファイルを出力。-o C:\Blender\sample_render\file_name
のように指定すると、
C:\Blender\sample_render以下に、file_name(フレーム番号)の形式でファイルが出力されます。
blender -b sample.blend -o "output path" -f 1
以下はフレーム1のレンダリング結果の出力先を指定した例です。
出力先をC:\Blender\sample_render\outputにすると、
以下のようにSavedのパスに反映されていることがわかります。
ファイル名もoutput0001.pngであり、指定した名前+フレーム番号になってますね。
④ファイル形式の指定(-F)
-Fで出力するファイル形式を変えることもできます。
PNGじゃなくてJPEGで出力したい!といった要望もコマンドだけで対応可能です。
# PNG形式で出力.
blender -b sample.blend -o "output path" -F PNG -f 1
# JPEG形式で出力.
blender -b sample.blend -o "output path" -F JPEG -f 1
以下は、JPEGで出力した例です。
Savedのところを見ると、0001.jpgが生成されていることが確認できますね。
⑤Pythonスクリプトの実行(–python)
最後に紹介するのはPythonで書いた処理を実行する方法です。
他のオプションとは異なり、
blender内のさまざまな操作をpythonファイル内で行うことができるため、
非常に柔軟性の高い手法になります。
また、pythonのコードファイルとして残しておけるため、
同じ処理を別の.blendファイルにも使用できる点は大きなメリットになります。
# pythonファイルの実行.
blender -b sample.blend --python python_file.py
以下は、レンダリングの結果をpngとjpeg形式で同時に出力するスクリプトの実行例です。
output_render_file.pyというプログラムファイルを用意しています。
output_render_file.py
指定された.blendファイルのディレクトリに”output”フォルダを作って、
その中にsample.pngとsample.jpegのファイルを作成するコードです。
import os
import bpy
# 現在の.blendファイルのディレクトリを取得.
blend_file_dir = os.path.dirname(bpy.data.filepath)
# 出力パスを設定(相対パス).
output_path = os.path.join(blend_file_dir, "output\\sample")
# 出力先の設定.
bpy.context.scene.render.filepath = output_path
# PNGとして保存.
bpy.context.scene.render.image_settings.file_format = 'PNG'
bpy.ops.render.render(write_still=True)
# JPEGとして保存.
bpy.context.scene.render.image_settings.file_format = 'JPEG'
bpy.ops.render.render(write_still=True)
上記の例のように、他のオプションの操作もpythonで書けるので、
習得するともっとも便利な方法です!
他のオプションの調べ方
どんなオプションがあるか気になったら
blender –helpを実行してチェックしてみましょう。
blender --help
たくさんありますね!
レンダリングに関するオプションが多めかな。
まとめ
今回はBlenderの画面を開かずに、コマンドで操作する方法について解説しました。
Blenderの画面を開くと、見慣れているし、わかりやすいので安心感はありますよね。
ですが、同じ操作の繰り返しや動作が重くなる作業は、
面倒に感じたり、早く終わってほしいと思うことも多くなってきます。
そんな時に、自分の作業を見直したうえで、
コマンドに落とし込むと、今後の作業の高速化に貢献してくれるはずです。
ぜひ、快適な作業環境を目指して試していきましょう!
次のステップとしては、今回のコマンドを組み合わせた
バッチ処理を作成して、作業効率向上を目指すこともおススメです!
おわり