Exporting a point cloud to Unreal

Hey there,
I’m an art student from Paris, used to work with blender and pointclouds, and I have a ploblem that I can’t seem to be able to solve.

My workflow is (most of the time) what follows :
Modeling mesh > procedural shading > UV unwrap > baking all materials into one single png > Geo-nodes to get a point cloud (something like distribute points on faces > set point radius >set material with a store named attribute color+points plugged into my baked png itself plugged into the UV vector, with the material beeing a diffuse or principled shader with the attribute as a color).
That beeing said, this works all the time and Im used to troubleshoot this.
Now my problem is that I need for a specific project to export this PC into Unreal (Yeah… ).
So my solution was to :
-Convert my points to vertex, then export to .obj, then import in CloudCompare (OS and great tool) for exporting to .las, as Unreal can read it with LiDAR plugin.
-OR exporting it in .ply BUT This doesn’t seems like working with only vertex and no faces objects so gaves me an empty file. Anyway I tried with my first modelled object and I can get a point cloud file with only the vertex of the faces, but still have the same problem : COLOR DATA.

No that I explain it as well as I can, my problem is color data : how can I get the vertex cloud to have my baked UV mapped image as vertex color ? As for now it’s only the material that contains this data ?

I hope someone kind could at least lead me to something else to try… Anyway if you read this far thank you so much ! <3


Kilian.

Is this even possible to do? Neither Blender nor Unreal were designed for that kind of pipeline.

When you convert to vertex, are you unable to get vertex colors inside Blender, or is the problem that the data is lost at the time of export?

Well I really don’t know haha, are you aware of any soft that would be easier to work with (with in mind that I need the file to work in Unreal) ? And actually no… my problem is that I apply color to my point cloud with a material in blender… and I don’t know any way to assign vertex color to a « vertex cloud » using and image and some mapping… I tried to map my image on the cloud directly in Unreal, but obviously the UV got lost is the exports… Im sooo stuck :melting_face:

I have never done something like this, but I maybe have an idea.

There is an other way in Blender to get an even cloud of vertices: voxel remesh. And if you use it on a mesh that already has vertex colors, they get preserved during the remeshing process.

color_attributes

You will get a dense, even mesh with vertex colors preserved.

Can the point cloud software you use import a full mesh and read it as a cloud, or does it need only separate vertices? If it needs the separate vertices, you could try “delete only edges and faces” and you will have a cloud of vertices which should keep their colors.

I’m not sure if that will export and turn into a point cloud correctly, but hopefully it gives you some ideas.

1 Like

Oh okay thank you so muc it might really work. Now the only problem is that I don’t know how to make a color attribute (I know how to make an attribute which contain color but not a “color attributes” as display in the object data… ). Do you know how I could assign an image as a color attribute ?
Great path anyway, thank you for responding <3

10
Like I can get the second one to store my data but don’t know how to do with “color attribute”

Using this pipeline, you don’t need to bake your procedural shading into an image, you can bake it directly to vertex colors. No UVs needed.

  • You start by first making your model and remeshing it to the density you need.

  • Then, create the procedural shading.

  • Add a color attribute to your model, using this menu.

  • Now that you have a color attribute, you can go to the bake settings, set them to bake to a color attribute instead of an image and then bake.

  • You now have a dense mesh with all the color data baked in the vertex colors, without having ever used an image texture or UVs.

1 Like

Hey @etn249 .
I spent my yesterday working on that, and achieved to get it, so I would like to thank you really much : I would have been forced to stop this project if you didn’t gave me support.
Remeshing made me struggling because of the 3 million + poly count, but if someone wants to do it, you can then use data transfer modifier to get the UV map from the non-remeshed original object, and then get the material maped correctly before baking in the color attributes.
But for such large objects it wasn’t the best idea. So ! What I did is just keeping my low poly model with the one png material and the baked color attribute, then export it in .obj with copy material in .mtl, and import the whole thing into an OS software called CloudCompare (win/Mac/lin available, I used v2.14.4) and use the project points tool to get a point cloud, which get the vertex color infos and used it as a color data for each point. Then I exported it in .las and imported it in Unreal 5.2 (using the free LiDAR import plugin) and it works perfectly ! I can even work on the point shape and materials. If anyone needs help with this, don’t hesitate to send me a message.
I used Blender 3.5.1 on windows :b

Thanks again @etn249 your help was precious <3

1 Like