我正在尝试将Houdini15粒子数据导出到Maya2015粒子。
所以基本思想是
- 在胡迪尼创建粒子
- 将粒子数据保存到光盘
- 在Maya中读取粒子数据
粒子数据应包括位置、particleId、年龄、速度和自定义属性。。。等
我想从胡迪尼粒子数据创建Maya PDC文件。
我认为这并不是那么简单,最好的方法是使用一些能够做到这一点的工具,索尼开源F3dhttps://github.com/imageworks/Field3D和https://github.com/gearslogy/GParticlesIO我认为也可以做到这一点。希望这能帮助
您可以尝试将Houdini粒子带到Maya。
- 将所有粒子数据写入.bgeo文件
- 在houdini中创建一个文件sop数字资产
- 通过胡迪尼引擎读取Maya中的.hda文件
- 选择.bgeo序列并重新加载数字资产
这将在maya中创建一个N粒子系统,您可以看到自定义属性。
有比Maya缓存更好的方法来存储点云(正如前面的答案所指出的),但如果您真的对此感兴趣,可以查看本文:http://100cells.com/downloads/MayaCacheDLL/MayaCacheBitstreamDocumentation.pdf
在那里,您可以找到Maya缓存文件格式的描述(通过反向工程获得),这样您就可以在Houdini中开发自己的Maya缓存导出器。我用Python做了一个原型,它很有效。您可以导出所需的任何自定义属性,但在Houdini中创建Maya始终需要的属性非常重要:
- 位置
- count(只有一个点大小的特殊Int通道,表示点计数)
- id(不记得是否为必填项)
对于使用运动模糊的渲染,我认为如果没有速度通道,它会崩溃,但这可能取决于渲染器。您应该在十六进制编辑器中打开真正的Maya缓存文件,并查看在工作缓存文件中导出了哪些通道。如果您正在进行多文件缓存,还需要查看XML,因为您也需要创建它(至少这比二进制缓存文件更简单)。
你可以在这里找到C库:https://github.com/100cells/Maya-Cache-DLL-Project也许它不是在Houdini中使用的最佳实现,但可以作为参考。