【问题标题】:Looping through 9000 individual .pov files to create 9000 individual png循环遍历 9000 个单独的 .pov 文件以创建 9000 个单独的 png
【发布时间】:2015-02-21 11:50:11
【问题描述】:

这个问题被问了很多,但似乎没有与所问问题相匹配的解决方案!

我有 9000 个 pov 射线文件,编号为 frame0001.pov frame0002.pov frame0003.pov ... frame9000.pov

它们各自定义了一个动画帧(使用 quicktime pro 将生成的 png 文件组合在一起)。目前我正在使用批量上传来“每个会话”渲染 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...

我正用头撞墙,很快就没有墙了:(

【问题讨论】:

    标签: loops batch-file povray


    【解决方案1】:

    敲打似乎是解决办法。自己找到了解决方案!

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

    你有这个问题:

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

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

    解决方案:

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

      Input_File_Name="yourname.pov"
      Width = 720
      Height = 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”文件,我们将要创建该文件。

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

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

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

    1. 将这两个文件保存在“yournameXXXX.pov”文件所在的文件夹中

    2. 用 povray 打开 anyname.ini 并运行该文件

    3. 生成的 png 将创建在与 yournameXXXX.png 相同的目录中

    完成

    【讨论】:

    • # include concat("yourname", str(frame_number, -4, 0) ".pov" 缺少最后一个括号,应该是 # include concat("yourname", str(frame_number, -4, 0) ".pov")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多