Import mesh with only vertices and display as point cloud

Hey, I’m totally new to Unity and have some difficulties understanding how to import meshes from external applications.

I have some PLY files consisting of XYZ coordinates and RGB colors, but without edges and faces. I want to display these files as a point cloud with only a single point per vertex. I know that Unity doesn’t support PLY files so I tried converting into different supported formats (like OBJ, FBX and Blender). Unfortunately this doesn’t seem to work and I guess it’s because of the missing edges/faces. Also, formats like OBJ don’t store the color data, which is another problem.

Right now, the easiest way seems to just read the PLY files using System.IO and use this data to generate a mesh from a script. But since the point clouds are an important part of the game design, I would like to be able to view/manipulate them in the editor. As far as I understand, I can only see them at runtime, if I create them from a script and manipulations in the editor won’t be stored after stopping the game.

I would be very thankful if you could help me with this issue!

There might be better options, but you could look into Graphics.DrawProcedural() along with a computeBuffer that you populate with your vertex data.

I found this video pretty helpful:

specifically, when he renders a big cube of points (you can see the result of it around 31:00 into the video).
I’m not sure if there is a way to scale the points though, so they can be hard to see if you don’t have a lot of vertices, or you’re very zoomed-in.

This post might be of interest as well, using the Unity particle system to show point clouds, the author has just added PLY file support MegaCache - Object & Particle Sequence Playback [Released] - Community Showcases - Unity Discussions

Thanks for your answers! I actually wrote my own PLY importer now (using the TextAsset class) and fed the data into a particle system. Unfortunately performance goes as low as 5 FPS when I try to render about a million particles. So I’ll have a look at that video tutorial now, using shaders for all the particle stuff should give a significant boost in performance.