Mesh To Point Cloud

Yes, I know it’s ambitious and was wondering if blender might be a good medium between a pointcloud world and a polygon world.

Admittedly I do not have enough programming smarts to create this system, but it I have the outline of the system in my head.

It’s a good tool for modelling, sculpting and texturing, however all the buzz about point clouds is that it is possible to search a huge point cloud while it’s on the storage and load only the points visible to the camera on the fly, so you can fly the camera real time in terabytes of data without loading it all into RAM or vRAM. That relatively new concept will require new tools to work with and that is not Blender. You can use Blender to create stuff, but you will have to come up with a way to convert objects to point clouds outputting them straight to your storage drive if you want to use point clouds to the full. That actually shouldn’t be too difficult with Python. However, working with point clouds is probably a more difficult problem. Rendering materials with point clouds is even harder problem. If you load only the points visible to the camera one point per pixel, then you save a lot of processing power, however if you have light interactions in the scene you might need to load points that influence the points visible to the camera as well.

1 Like

Here I have a couple of examples of point cloud capabilities with my photogrammetery.
Over 1 millions vertices are in this model, It’s about 32mb, I started transforming it into a solid mesh 3 hours ago and it’s only 1/3rd of the way there.

Fair distance.

Up close (needs tesselation)

So your goal is to generate a mesh from this point cloud and than use blender to make more dense wire of the mesh and than export a point cloud?

No, this is an example of what a point cloud can do, this loads super fast even on a crappy laptop.

I think you misunderstand the point of point clouds in the context of ‘next level’ VR. 32 MB of pretty much any data will load into RAM super fast.

Jackblack,

Is this similar to what you are looking for to display the data … http://potree.org/ ?
I’m not saying it is the solution for you, just an example that others might be able to get an idea of how useful this could be.

Just to complete my offer – Mesh 2 PointCloud:

  • Duplicate original mesh
    (to keep original (lowpoly) for later vertex color recovery)

Sculpt mode

  • Brush-Strenght = 0
  • Enable Dyntopo
  • Switch “Relative” to “Constant” detail
  • Symmetry = XYZ
  • F - size brush over all mesh and click

Modifier > DataTransfer

  • Source = lowpoly mesh
  • Face Corner data = Nearest Face
  • Enable “VCol” > Layer “Col” to “Col”

Notes:

  • Once you click on a mesh to “tessellate” and vertices are evenly distributed you can use Subdivision modifier anytime to create even more dense a mesh.
  • I used mirror symmetry, because a just didn’t know how to affect brush through a mesh, so probably some Dyntopo users will know.
  • In video I used Relative Detail, better used Constant to have better control
  • Enabling Dyntopo destroy vertex colors, that’s why you need to transfer this info by modifier
  • Exported PLY is regular mesh, MeshLab can save file as some XYZ format

Good Luck :slight_smile:

BLEND file with both scripts

  • one needs to specify a name of object to generate data
    (you can find them in blenders text editor
  • second one exports data of selected mesh, you have to specify a path to save the file

(Both doesn’t generates color information (if I’m right), so try to ask on stack exchange, probably not so hard to extend it about color info.)

test_PointCloud_Sculpt.blend (113.3 KB)

With Dynamic paint is not a problem to “bake” vertex color from image texture as well.

In this case after Dyntopo you will use Data Transfer modifier to transfer UVmap instead and Dynamic Paint modifier behind. In this case you don’t even have to apply modifiers. PLY exporter does it.
Why VCol became darker … I don’t have a clue.



test_Texture2Vcol.blend (4.6 MB)

Thanks for the help, I never thought of using dynamic paint in that way :slight_smile:

If this topic is still of interest see https://github.com/TombstoneTumbleweedArt/import-ply-as-verts, I just tweaked Blenders PLY importer to load vertex colored point clouds.

1 Like

I didnt read the whole thread, but I think this video is what you mean… https://www.youtube.com/watch?v=CrOboutVHH8 at 11:45. My Blender 3.4 doesn’t have this feature of “Convert to Point Cloud”.