0

我为这个可怕的问题道歉。我是一个 3D 人,业余爱好者使用 python 插件和脚本。

我已经成功地提出了导出粒子信息的最坏方法(每帧每个粒子两个向量用于位置和对齐)。我的第一种方法是将每行十亿个向量写入 .txt,其中每行代表一个帧。现在我只需要每帧写出一个 .txt 文件,然后根据帧加载和关闭正确的文件。

是的,它很慢。和愚蠢。任何。你建议我去/研究什么方向?不同的文件类型?A :checks google: bin,也许?还是我的迟钝方法实际上不需要很长时间,而其他东西使事情进展得更慢?我不需要详尽的答案,只需要一些一般信息即可让我朝着正确的方向前进。

太感谢了。

4

1 回答 1

0

如果这个信息将被另一个 python 应用程序读取(特别是如果它是写出它的同一个应用程序),请考虑只腌制你的数据结构。只需在内存中构建它们并使用 pickle 将它们转储到二进制文件中。这里的警告:

1)您是否有记忆一次完成所有操作,还是必须一次完成一帧?您可以在第一种情况下制作大的组合文件,在第二种情况下您需要每文件一帧。如果您的内存不足,那么yield语句就是您的朋友。2)腌制文件需要是相同的python版本才能可靠,所以你需要确保所有的读写应用程序都在同一个python版本上。 3)腌制文件是二进制的,所以不是人类可读的。

如果您需要与其他应用程序进行交换,请查看Alembic,这是一种专为此类问题设计的开源文件格式 - 烘焙大量粒子或模拟数据。有一个来自 EcoCortex 的商业出口商,它带有一个用于处理 Alembic 数据的 Python 模块

于 2013-03-22T16:01:56.580 回答