我为这个可怕的问题道歉。我是一个3D人,他喜欢插件和脚本的python。
我已经成功地提出了输出粒子信息的最差方法(每帧每个粒子两个矢量用于位置和对齐)。我的第一种方法是每行写出十亿个向量到.txt,其中每一行代表一个帧。现在我只需要每帧写出一个.txt,然后根据框架加载和关闭右边的文件。
是的,它很慢。而且愚蠢。随你。你建议我去研究什么方向?不同的文件类型?答:检查google:bin,也许吧?或者,我的延迟方法实际上不需要很长时间,还有什么东西让事情变得更慢?我不需要一个详尽的答案,只需要一些一般信息来帮助我朝着正确的方向前进。
万分感谢。
答案 0 :(得分:0)
如果这个信息将由另一个python应用程序读取(特别是如果它的相同应用程序写出来的话)只查看pickling您的数据结构。只需在内存中构建它们并使用pickle将它们转储到二进制文件中。这里需要注意:
1)你有记忆力可以同时做到这一切,还是一次只能做一帧?您可以在第一种情况下制作大型组合文件,您需要在第二种情况下执行每个文件一个帧。如果你的内存不足,yield语句就是你的朋友。 2)腌制文件需要具有相同的python版本才能可靠,因此您需要确保所有读写应用程序都在同一个python版本上 3)腌制文件是二进制文件,因此不是人类可读的。
如果您需要与其他应用程序交换,请查看Alembic,这是针对此类问题设计的开源文件格式 - 烘焙大量粒子或模拟数据。有一个commercial exporter avalable from EcoCortex附带一个用于处理Alembic数据的Python模块