auto remote rendering script for blender (only for windows)
クラウドストレージ(デフォルトはGoogleDrive)経由でリモートにあるWindowsマシンでレンダリングするスクリプトです。起動時の設定によって自動でGIFアニメーションも同時に作成できます。
・出先のノートPCやごろ寝ノートPCからパワフルなデスクトップマシンなどでレンダリングできる
・GoogleDriveなどを使うのでサーバを自分で建てる必要ナシ
・所定のフォルダにコピーをして保存するだけで、別マシンにレンダリングキューを投げられる
・デスクトップマシンなどの熱や音を気にせず快適な場所で作業できる
・PowerShellで書いてあるので、アニバーサリーアップデート対象外のWin7などでも動きます。
PowerShellを利用しています。
実行権限の変更などが良く分からない方は、コマンドラインからremonder.ps1のある場所へ移動し、下記のコマンドをコピペして実行して起動してください。(バックスラッシュを半角¥マークに置き換えて実行して下さい)
powershell -NoProfile -ExecutionPolicy Unrestricted .\remonder.ps1
当初は起動用バッチファイルを付けていましたが、SmartScreenなどの警告表示が激しいのでやめました。必要に応じてバッチファイル化するなどしてください。
PowerShellの実行権限については下記の記事などを参考にして下さい。
Powershellを楽に実行してもらうには http://qiita.com/tomoko523/items/df8e384d32a377381ef9
-s(silent)のオプションを付けて起動するとファイル内のデフォルト値で起動するようにしました。
下記のように起動して下さい。
D:\>powershell ".\remonder.ps1 -s"
起動する際に質問されないため、下記のようなショートカットをスタートアップに追加して自動で起動するようにしておくと便利です。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "D:\path\to\file\remonder.ps1" -s
実行するとデフォルトではGoogleDriveのディレクトリ直下にremonderというベースディレクトリを作り、その下に各種作業用ディレクトリを作成します。居ないと思いますが、同名のディレクトリを使ってる方は別のベースディレクトリなどに書き換えて使って下さい。
01_que・・・ここに.blendファイルを置くと古いものから順にレンダリングが開始されます(別途テクスチャや背景に画像ファイルが必要な場合はパックしておいて下さい[ファイル]→[外部データ]→[すべて.blendにパック])レンダリングはWindowsマシンですが、このフォルダに置く.blendファイルの作成はMac・Linux(多分FreeBSDも)でも構いません。
02_work・・・レンダリング中のファイルはこちらに移動されます。中断などするとゴミがたまります。特に動作に影響はないですが、気になる方は掃除して下さい。
03_output・・・このディレクトリの下にプロジェクト名-yymmddhhmmss
のルールでディレクトリが作成され、その中にPNGの連番ファイルが出力されます。レンダリングが完了したプロジェクトファイルもここに移動されます。
作業しているBlenderのプロジェクトのアニメーションの範囲を指定し、ファイル→コピーを保存などを使って上記queディレクトリへファイルを置きます。静止画をレンダリングしたい時は開始と終了フレームを同一にしてください。(全てアニメーションとして処理しているので、1フレームのアニメーションを処理させるイメージです。)
・ベースディレクトリはデフォルトでGoogleDriveの標準ディレクトリ直下になっていますが、スクリプト内のディレクトリを変更することで、OneDriveなどでも利用可能です。
・アニメーションなどでレンダリングが長引いて中断したい時、Ctrl+Cが効きません。Windowごと閉じて下さい。この時、workフォルダにファイルが残ってしまいます。そのままでも動きますが、気になる方は適宜掃除して下さい。その後、スクリプト自体を再起動してください。
・中断した時など、queディレクトリへ再度プロジェクトファイルを戻す時、読み込んでくれなかったり同期エラーが出たりする場合があります。(GoogleDriveのキャッシュの問題?)暫く待つか、ファイル名を変更すると処理が始まります。同様に、「コピーして保存」でキューディレクトリに放り込んだ時もレンダリングが始まらない場合があります。ファイル名にテイク数など適当な番号を付けると認識しやすいです。