循环 – 循环遍历9000个单独的.pov文件以创建9000个单独的png

这个问题已被问了很多,但没有解决方案似乎与提出的问题相符!

我有9000个pov光芒文件编号为frame0001.pov frame0002.pov frame0003.pov … frame9000.pov

它们各自定义一个动画的框架(由生成的png文件和quicktime pro组合在一起).目前我正在使用批量上传来渲染500“每个会话”但这不高效,因为我每次都要向批次添加500(我在睡觉时不能这样做!).

这个解决方案似乎是我需要的,但我需要更多解释如何编写循环来分别渲染每个单独的.pov框架(它们彼此独立)

Render multiple files in POV-Ray (Windows)

Input_File_Name="frame0001.pov"
Width = 720

Height = 400
Antialias = On
Antialias_Threshold = 0.03
Output_File_Type = N

Initial_Frame = 1
Final_Frame = 9000

Subset_Start_Frame = 1
Subset_End_Frame = 10

#if(frame_number=1)
#include "frame0001.pov"
#end

#if(frame_number=2)
#include "frame0002.pov"
#end

#if(frame_number=3)
#include "frame0003.pov"
#end

#if(frame_number=4)
#include "frame0004.pov"
#end

etc...

我把头撞在墙上很快就没有墙了:(

最佳答案 Banging似乎是解决方案.解决方案找到了我

这里适用于所有那些也不知道他们正在使用povray for windows做什么的人:

你有这个问题:

你有.pov文件的thousaneds单独渲染,但批量上传只允许队列中的500个.您不希望每小时醒来添加更多文件,而您对批处理或ini文件一无所知.您的文件名为“yournameXXXX.pov”.其中XXXX是帧号

注意:对于第一帧,您的文件必须被称为“yourname0001.pov”而不仅仅是“yourname1.pov”注意前导数字

解:

>打开文本编辑并创建文件anyname.ini
>写入该文本文件

Input_File_Name = “yourname.pov”
宽度= 720
高度= 400
Antialias = On
Antialias_Threshold = 0.03
Output_File_Type = N.
Initial_Frame = 1
Final_Frame = 9000

当您运行此文件时,pov ray将使用您在此处为每个渲染场景提供的设置,以便您可以根据需要更改它们.您只需将Initial_Frame和Final_Frame设置为序列中第一个和最后一个的数字即可.如果您只想渲染一些文件(适合测试它),您也可以在此处设置子集.对于初始和最终之间的每个帧,povray将查找我们即将创建的“yourname.pov”文件.

>创建一个名为“yourname.pov”的新文本编辑文件
>写入“yourname.pov”文本文件:

#include concat(“yourname”,str(frame_number,-4,0)“.pov”

只需要一行!这是聪明的部分. Povray将为初始和最终之间的每个场景调用此文件.它还带来一个frame_number.对于每个帧,concat将构造正确的文件以查找每个帧. str(frame_number,-4,0)将创建正确的4位数文件.如果名称中的数字大于或等于4,则相应地更改-4.

>将这两个文件保存在“yournameXXXX.pov”文件所在的文件夹中
>使用povray打开anyname.ini并运行该文件
>生成的png将在yournameXXXX.png所在的目录中创建

完成

点赞