【发布时间】:2014-06-18 22:16:28
【问题描述】:
我知道以前有人问过这个问题,但没有一个答案真的对我有帮助。所以我的问题是这样的:我有一堆名为 XXXX000001.... 的 .pov 文件,我想渲染它们,但是 POV-Ray 中的队列内容一次只能渲染 500 个。那么,有没有办法自动渲染它们呢?我知道答案是编写某种脚本,但我对此了解不多,所以如果你能给我一步一步的指导,我将不胜感激。
【问题讨论】:
我知道以前有人问过这个问题,但没有一个答案真的对我有帮助。所以我的问题是这样的:我有一堆名为 XXXX000001.... 的 .pov 文件,我想渲染它们,但是 POV-Ray 中的队列内容一次只能渲染 500 个。那么,有没有办法自动渲染它们呢?我知道答案是编写某种脚本,但我对此了解不多,所以如果你能给我一步一步的指导,我将不胜感激。
【问题讨论】:
使用记事本创建一个 POV-Ray .ini 文件 SimpleAnimation.ini,并在该文件中将 .pov 文件的数量指定为 Initial_Frame/Final_Frame。此 .ini 文件是您打开并运行以渲染所有帧的文件。在多台机器上渲染子集时,您还可以将 Subset_Start_Frame/Subset_End_Frame 与重复的 .ini 文件一起使用:
Input_File_Name="SimpleAnimation.pov"
Width=800
Height=600
Antialias=On
Antialias_Threshold=0.05
Output_File_Type=N
Initial_Frame=1
Final_Frame=124
# Change these values to render a subset of the frames #
Subset_Start_Frame=1
Subset_End_Frame=124
您的 SimpleAnimation.pov 文件将每帧加载一次,在该 .pov 文件中,您只需使用 POV-Ray 变量 frame_number 加载所需的相关帧文件:
#if(frame_number=1)
#include "SimpleAnimation000001.pov"
#end
#if(frame_number=2)
#include "SimpleAnimation000002.pov"
#end
#if(frame_number=3)
#include "SimpleAnimation000003.pov"
#end
将根据 SimpleAnimation.ini 文件中的 Input_File_Name 生成渲染图像,并根据 Final_Frame,例如获得 124 帧:
SimpleAnimation001.png
SimpleAnimation002.png
...
SimpleAnimation124.png
【讨论】:
对上一个答案的补充,SimpleAnimation.pov 文件可以只有一行:
#include concat("FolderPath/SimpleAnimation.", str(frame_number, -6, 0), ".pov")
【讨论】: