Render
機能
MAYAデータのレンダリング
起動方法
説明
MAYAのデータをコマンドラインからレンダリングするコマンドである。
読み込まれるレンダリングデータ(data)はバイナリーデータ( ~.mb )、アスキーデータ( ~.ma )のどちらかである。
画像のファイル名・番号などは Render Grobals で設定したとおりになる。
デフォールトではレンダリング結果の画像ファイル名は以下のようになる。
- 静止画の場合
(データファイル名).iff
- アニメーションの場合
(データファイル名).iff.(番号)
例えば test.mb というアニメーションのデータをレンダリングすると、
test.iff.1 test.iff.2 test.iff.3 ...
という画像ファイルが作られる。
また、画像ファイルが作られるディレクトリ(フォルダー)は、デフォールトでは以下のようになる。
- ~/maya/projects/(現在のプロジェクト)/images (Linux)
- C:\Documents And Settings\ユーザー名\My Documentes\maya\projects\(現在のプロジェクト)\images (Windows)
オプション
- -s n
- n フレーム目からレンダリング開始
- -e n
- n フレーム目までレンダリング
- -b n
- n フレームステップごとにレンダリング
- -of format
- 出力画像のフォーマットを変更する。
format は以下のいづれか一つ。
- gif
- si (SoftImage)
- rla (AliasWavefront)
- tiff, tif, tiff16, tif16
- sgi, rgb, sgi16, rgb16
- alias (als pix)
- iff (TDI Explore), maya16, iff16
- jpeg, jpg
- tga, targa
- eps (PostScript)
- bmp
- sgimv, mv
- qt (Quick Time)
- avi
- -fnc int
- 出力ファイルの命名規則
- 3
- 出力ファイル名.####.拡張子
- 4
- 出力ファイル名####.拡張子
#### の部分は -pad で決まる。
- -pad int
- 画像ファイル番号の桁数
- -proj projName
- プロジェクト名 projName のシーンファイルをレンダリングする。
レンダリングされた画像ファイルは、このプロジェクトの下にある images ディレクトリに作られる。
- -rd dir
- レンダリングされた画像ファイルの作られるディレクトリを dir にする。
- -rl layerName
- layerName の Render レイヤのみレンダリングする。
- -x n
- 出力画像の X 方向の解像度を n にする。
- -y n
- 出力画像の Y 方向の解像度を n にする。
- -yl n (古いバージョンのフラグ)
- 出力画像の下から何ピクセルまでをレンダリングするかの設定する。
- -yh n (古いバージョンのフラグ)
- 出力画像の上から何ピクセルまでをレンダリングするかの設定する。
- -reg left right bottom top
- 出力画像の左(left)から右(right)と、
下(bottom)から上(top)までのをレンダリングするかの設定。
- -cam cameraName
- カメラの名前
- -p filename
- -im filename
- 出力イメージファイル名
- -rep boolean
- イメージファイルがすでに存在する場合は、そのイメージをレンダリングしない。
booleanの値は、以下のとおり。
- 0
- 画像ファイルが存在するフレームはスキップ
- 1
- すべてのフレームをレンダリング
- -listRenderers
- 使用できるレンダラーの種類を表示する。
- -renderer renderer
- renderer を使ってレンダリングする。
renderer の種類は -listRenderers で調べられる。
ちなみに、Maya 8.5 における出力結果を以下に示す。
% Render -listRenderers
default: Maya software renderer
file: Use the renderer stored in the Maya file
hw: Maya hardware renderer
lightmap: Mentalray lightmap
mi: Mentalray Exporter
mr: Mentalray renderer
sw: Maya software renderer
vr: Vector renderer
使用例
- test.ma をレンダリングする。
% Render test.ma
test.ma がカレントディレクトリに無ければ現在のプロジェクトの test.ma がレンダリングされる。
環境変数 $MAYA_PROJECT が定義されていれば、
- ~/maya/projects/$MAYA_PROJECT/scenes/test.ma (Linux)
- C:\Documents And Settings\ユーザー名\My Documentes\maya\projects\$MAYA_PROJECT\scenes\test.ma (Windows)
がレンダリングされる。
どの場合もレンダリングされた画像ファイルは
現在のプロジェクトか $MAYA_PROJECT プロジェクトの
images に作られる。
- test.ma を 5 フレーム目から 10 フレーム目までレンダリングする。
% Render -s 5 -e 10 test.ma
- new-projects というプロジェクトの tmp.mb というデータをレンダリングする。
レンダリングされた画像ファイルは new-projects の下の images に作られる。
% Render -proj new-projects tmp.mb
- レンダリングされた画像ファイルを /disk5/pixs の下に作る。
% Render -rd /disk5/pixs test.ma
- 1 枚の画像を分割レンダリングする。
解像度 320x240 の画像を 2 分割してレンダリングする場合。
- -yh に与える数値の計算方法
Y方向の解像度 / 2 - 1
- -yl に与える数値の計算方法
Y方向の解像度 / 2
% Render -y 240 -im test1 -reg 0 320 120 240 test.ma
% Render -y 240 -im test2 -reg 0 320 0 119 test.ma
(古いバージョンの方法)
% Render -y 240 -im test1 -yh 119 test.ma
% Render -y 240 -im test2 -yl 120 test.ma
% filePaste test1.iff test2.iff test.iff
test1.iff
test2.iff
test.iff
(注意)
Maya 7.0 以降のバージョンでは filePaste コマンドがなくなっている。
- 複数のデータをまとめてレンダリングする。(Linux) (1)
vi などのエディタで以下の内容のファイルを作成する。
ファイル名は好きな名前で良い。
ここでは myrender.sh という名前にしておく。
Render data1.mb
Render data2.mb
Render data3.mb
ファイルを保存して、コマンドプロンプトから以下のように実行する。
% csh myrender.sh
data1.mb, data2.mb, data3.mb がこの順番でレンダリングされる。
- 複数のデータをまとめてレンダリングする。(Linux) (2)
シェルスクリプトを作成しておけばコマンドラインからデータファイルを指定してレンダリングできる。
それには、以下のような内容の myrender2.sh という名前のファイルをエディタで作成する。
foreach f ($argv)
Render $f
end
コマンドラインから以下のように実行する。
% csh myrender2.sh data1.mb data2.mb data3.mb
- 複数のデータをまとめてレンダリングする。(Linux) (3)
以下の内容のシェルスクリプトを myrender.sh という名前で作成する。
foreach f (`cat render.lst`)
Render $f
end
同じディレクトリに render.lst という名前のファイルを作り、
レンダリングするシーンファイル名を 1 行にひとつづつ記述しておく。
data1.mb
data2.mb
data3.mb
コマンドラインから以下のように実行する。
% csh myrender.sh
- 複数のデータをまとめてレンダリングする。(Windows) (1)
メモ帳(notepad)などのエディタで以下の内容のファイルを作成する。
Render data1.mb
Render data2.mb
Render data3.mb
ファイル名は "ファイル名".bat という名前にする。
(拡張子が .bat のファイルをバッチファイルと言う)
このファイルを(例えば myrender.bat という名前で)保存して、ファイルを保存したフォルダーに移動し、コマンドプロンプトから以下のように実行する。
(保存したファイルをダブルクリックにより実行しても良い)
C:\> myrender
data1.mb, data2.mb, data3.mb がこの順番でレンダリングされる。
- 複数のデータをまとめてレンダリングする。(Windows) (2)
以下の内容の myrender.bat というバッチファイルを実行すれば、一度に 9 つのデータまでコマンドラインからレンダリングできる。
C:\> type myrender.bat
for /f %%d in ("%1" "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9") do Render %%d
← この行が myrender.bat の内容
C:\> myrender data1.mb data2.mb data3.mb
← 3つのデータを順番にレンダリングする
- 複数のデータをまとめてレンダリングする。(Windows) (3)
以下の内容のバッチファイルを適当なフォルダーに myrender.bat という名前で作成する。
for /f "delims=" %%d in (render.lst) do Render "%%d"
同じフォルダーに render.lst という名前のファイルを作り、
レンダリングするシーンファイル名を 1 行にひとつづつ記述しておく。
data1.mb
data2.mb
data3.mb
コマンドラインから以下のように実行する。
C:\> myrender
または、myrender.bat のアイコンをダブルクリックして実行する。
- 複数マシンでのレンダリング (Windows, Linux)
複数のマシンにログインして、
各マシンで Render コマンドに -rep オプションをつけて、
以下のように実行すると data1.mb を複数マシンでレンダリングすることができる。
% Render -rep 0 data1.mb
この方法であれば、まだレンダリングされていないフレームのみが
新たにレンダリングされるので、アニメーションのフレーム番号を、
各マシンに割り振る必要がない。
また、後から空いたマシンで同じコマンドによってレンダリングプロセスを追加することができる。
ただし、同じシーンデータを再度レンダリングする場合は、
以前にレンダリングされた画像ファイルを消去しておくこと。
- バッチファイルでのレンダリング終了時にウインドウを消さない (Windows)
バッチファイルの最後に pause コマンドを追加する。
Render data1.mb
pause
レンダリング終了時に
続行するには何かキーを押してください . . .
と表示される。
- 特定のマシンでレンダリングを実行する (Windows)
以下の例では、Act1 というマシンでのみレンダリングが実行される。
if "%computername" == "Act1" Render data1.mb
- ハードウェアレンダリングを実行する (Windows, Linux)
% Render -renderer hw data1.mb
- mentalray でレンダリングを実行する (Windows, Linux)
% Render -renderer mr data1.mb
- ベクターレンダリングを実行する (Windows, Linux)
% Render -renderer vr data1.mb
- レンダリングのメッセージをファイルに保存する (Windows)
Render コマンドではリダイレクションが効かないので
mayabatch コマンドでレンダリングする。
% mayabatch -render data1.mb > render.log
- レンダリング終了時に自動的にログアウトする (Linux)
- レンダリング終了時に自動的にログアウトする (Windows2000)
- レンダリング終了時に自動的にログアウトする (WindowsXP)
Home | Contents
Mail