Render レイヤ
Render レイヤとは
Render レイヤの長所・短所
- 長所
- 編集時の自由度が増す。
例えば、レイヤごとに別々のエフェクトをかけたりすることができる。
- レイヤごとにレンダリングすることができる。
一度にレンダリングできないような大きく複雑なシーンもレンダリングすることができる。
また、後で修正したオブジェクトの含まれるレイヤだけレンダリングすることができる。
- 同一シーンを複数の制作者で作るのが容易になる。
ライト・カメラ・レイヤの前後関係などを変更しない限り、独立して作業ができる。
- 短所
- レンダリング時間が少し長くなる。
- オブジェクトをレイヤに分けるのが難しいことがある。
Render レイヤの設定
- レイヤのタブを Render にする。
- 新しいレイヤを作る。
- オブジェクトをレイヤに振り分ける。
- レイヤに入れるオブジェクトを選択
- 振り分けたいレイヤの上でマウス右ボタンをクリックしてメニューを表示
- Add Selected objects を選ぶ
Render レイヤのレンダリング
- レンダリングしたいレイヤをレンダリング可能にしておく。
- Render Globals → Render Layer/Pass Control の Enable Render Layers にチェックをいれておく。
- 同じく Output to Subdirectories にチェックを入れておく。
これによってレイヤごとに別々のディレクトリにレンダリング結果の画像が入る。
- バッチレンダリングを実行する。
- images ディレクトリの中の
シーンファイル名/レイヤ名
という名前のディレクトリに画像が作られる。
例えば、layer1, layer2, layer3 というレイヤのあるtest1.ma という名前のシーンファイルをレンダリングすると、以下のディレクトリにレイヤ毎のレンダリング結果が作られる。
- images/test1/layer1
画像ファイル名は test1_layer1.iff.0001 ...
- images/test1/layer2
画像ファイル名は test1_layer2.iff.0001 ...
- images/test1/layer3
画像ファイル名は test1_layer3.iff.0001 ...
- 各レイヤの画像ファイルを Premier などの編集ソフトで合成する。
Linux であれば composite コマンドなどで合成できる
(以下のシェルスクリプト参照)
画像合成シェルスクリプトの例 (Linux)
ここでは images/test1 の中で layer1, layer2 というディレクトリに入っている 300 フレームのシーケンス画像を合成するシェルスクリプトを紹介する。
layer1 が layer2 の前面にあるレイヤとして、
ファイル名がそれぞれ以下のような名前になっているとする。
test1_layer1.0001.tga ~ test1_layer1.0300.tga
test1_layer2.0001.tga ~ test1_layer2.0300.tga
(composite コマンドを使用するときは画像フォーマットを iff 以外の tga などにしておくこと)
- 以下のスクリプトを images/test1 ディレクトリに comp.sh という名前で作る。
#!/bin/csh -f
set i = 1
while($i <= 300)
set n = `printf "%04d" $i`
composite -compose Over layer1/test1_layer1.$n.tga layer2/test1_layer2.$n.tga test1.$n.tga
@ i ++
end
- comp.sh を実行する。
% csh comp.sh
- images/test1 ディレクトリに合成結果の画像が出来上がる。
test1.0001.tga ~ test1.0300.tga
Render レイヤの使用例
NURBSの球 2 個、Plane 1 個のシンプルなシーンを Render レイヤを使用して、top カメラによってレンダリングしたものである。
- シーンの図
- layer1 のレンダリング結果
- layer2 のレンダリング結果
- layer3 のレンダリング結果
- 各レイヤの合成結果
Home | Contents
Mail