Recently started working with some files from the iOS app Record3D. It records RGBD video and can export PLY files.
A friend of mine wants to convert point clouds (PLY) coming in from this app into something usable in ARKit as an animated point cloud. He can’t use Unity atm as he is targeting a very specific audio feature of ARKit.
I am working with the files mostly in Houdini. This worked great as Houdini has native PLY support and it correctly saw the sequence of files as an animated point cloud. Awesome!
After doing some work on this PLY, we exported USD to ARKit only to get one of two errors:
- No animation in the USD. Blender and Houdini read the file as Animation, but the Apple Reality Converter does NOT see ANY animation. We get a single unmoving mesh. So, the same file will show animation in Blender and Houdini, but NOT in Reality Converter.
- Another error we sometimes get is “Invalid node type in USD file. UsdGeomPointInstancers and custom schemas not provided by core USD are not allowed.”
I am completely at a loss on why Apple Reality Converter does not see the animation when other apps do. I have exported simple test cube animations from Blender, Maya and Houdini and they all work, but the animation we get from the point clouds does not work.
I am also at a loss on how UsdGeomPointInstancers can be avoided. I’ve read the USD spec here: Universal Scene Description: UsdGeomPointInstancer Class Reference (openusd.org) and I get the idea that this is carried over from the initial point clouds, but how to remove it is mysterious to me.
So two questions:
- Why is it that some apps will read USD Animation coming from a point cloud and others won’t?
- How can I remove the UsdGeomPointInstancers from the file? I’m assuming I might need to convert everything into something else, but I’ve tried a few things and nothing works.
A sample of the PLY files, alongside other files is here: https://we.tl/t-CPucph0sgI [we.tl]
Attached is an Alembic file I’ve extracted from Houdini, and a USD file that fails Reality Converter but works in Blender, and my HIP file. I am using Houdini Indie so I’m not sure if anyone can open this.
As a summary of what’s happening in Houdini, I am converting the PLY to Mesh using ParticleFluidSurface. I wonder whether there’s a better way of doing it that could avoid some of these issues.
Thank you!
