2011年4月4日月曜日

Batch Script

高画質でレンダリングする場合、時間がかかるため、どうしてもバッチ処理が必要である。また、Random Batch等で得られたファイルのサムネールを作成する場合も、バッチ処理が有効である。
下記に、「Batch Script」を載せる。
1.スクリプトファイル名は、たとえば「Batch_Render1920_1080.aposcript」「Batch Render_thumbnail.aposcript」として保存してください。
2.ローカルデスク「C」にフォルダー「renders」を作ってください。そこにレンダー結果が保存されます。
Batch_Render1920_1080.aposcript は、1920x1080pixelsの画像(デフォルトでpngファイル)とFlameが保存されます。
Batch Render_thumbnail.aposcript は、128x128pixelsのjpg画像です。


// BatchRender
// Editing by kent510
// Apophysis 7X15
//
//Save the following script by the file name of Batch Render_thumbnail.aposcript.
//Make flile folder / folder name = renders / path = c:\renders
//width, height
w := 1920;
h := 1080;
//quality, filter radius, oversample, filetype
q := 10000;
f := 0.5;
o := 2;
t := 'png';
m := 'flame';
if not InputQuery('Rendering parameter', 'Render Width :', w) then exit;
if not InputQuery('Rendering parameter', 'Render Height :', h) then exit;
if not InputQuery('Rendering parameter', 'Render Quality :', q) then exit;
if not InputQuery('Rendering parameter', 'Filter Radius :', f) then exit;
if not InputQuery('Rendering parameter', 'Oversample :', o) then exit;
if not InputQuery('Rendering parameter', 'Filetype (jpg/png/ppm) :', t) then exit;
for j := 0 to FileCount - 1 do
begin
LoadFlame(j);
Renderer.Width := w;
Renderer.Height := h;
Flame.FilterRadius := f;
Flame.SampleDensity := q;
Flame.Oversample := o;
SetRenderBounds;
Renderer.Filename := 'c:\renders\' + Flame.Name + '.' + t;
Render;
SaveFlame( 'c:\renders\' +  Flame.Name + '.' + m) ;
end;
UpdateFlame := False;

// BatchRender thumbnail 128
// Editing by kent510
// Apophysis 7X15
//
//Save the following script by the file name of Batch Render_thumbnail.aposcript.
//Make flile folder / folder name = renders / path = c:\renders *
//width, height
w := 128;
h := 128;
//quality, filter radius, oversample, filetype
q := 500;
f := 0.2;
o := 2;
t := 'jpg';
if not InputQuery('Rendering parameter', 'Render Width :', w) then exit;
if not InputQuery('Rendering parameter', 'Render Height :', h) then exit;
if not InputQuery('Rendering parameter', 'Render Quality :', q) then exit;
if not InputQuery('Rendering parameter', 'Filter Radius :', f) then exit;
if not InputQuery('Rendering parameter', 'Oversample :', o) then exit;
if not InputQuery('Rendering parameter', 'Filetype (jpg/png/ppm) :', t) then exit;
for j := 0 to FileCount - 1 do
begin
LoadFlame(j);
Renderer.Width := w;
Renderer.Height := h;
Flame.FilterRadius := f;
Flame.SampleDensity := q;
Flame.Oversample := o;
SetRenderBounds;
Renderer.Filename := 'c:\renders\' + Flame.Name + '.' + t;
Render;
end;
UpdateFlame := False;

0 件のコメント:

コメントを投稿