The 3d mesh does not appear on the Unity screen. How can i do?

I got the lidar point cloud data from car . In the end, i want to import the textured mesh into Unity.
Let me talk the process that i did,
1. import raw lidar data (.txt) in CloudCompare
that file looks like below
X,Y,Z,Scalar field,Original cloud index
4961004
328142.096001,4161352.367001,57.845001,82.000000,0.000000
328143.477001,4161352.082001,57.811001,47.000000,0.000000
328155.807999,4161352.520000,57.521000,11.000000,0.000000
328146.091000,4161350.633999,57.710999,42.000000,0.000000
…

2. segment and convert scala-field to rgb in CloudCompare
3. save as .ply(binary format)
that file looks like below
( ply
format binary_little_endian 1.0
comment Created by CloudCompare v2.11.3 (Anoia)
comment Created 2020-12-23 12:11
obj_info Generated by CloudCompare!
element vertex 15110
property double x
property double y
property double z
property uchar red
property uchar green
property uchar blue
property float scalar_Scalar_field
property float scalar_Original_cloud_index
end_header )

4. import .ply into Meshlab ( the courses in Meshlab )
( compute normals for point sets → screened Poisson Surface Reconstruction
→ Select Faces with edges longer than… → remove isolated pieces (wrt Face Num)
→ Select non Manifold Vertices & remove them → Per Vertex texture function
→ convert pervertex UV into PerWedge UV → Parameterization : trivial Per-triangle
→ (save .mlp & .ply) → transfer:vertex attribute to texture(1 or 2 meshes)
→ export .obj file
( Steps to create textured mesh from point cloud using Meshlab · GitHub ) _ reference

Finally, .mlp(1), ,ply(1), .png(1), .mtl(1), .obj(1) files were created.
Total 5 files

5. import obj & png & mtl into Unity

But when i put the obj file on the screen, nothing appeared.
what’s the matter in this process
My raw lidar data format was .txt format and had XYZ, scala-field, Original Cloud index

Please help me how to appear the 3D mesh into Unity…

what is the matter?? reference ?? coordinates?? rendering??
This was my first time dealing with this S/W…
PLEASE HELP ME… T…T

Make a simple block of data with 3 vertices and one triangle and run it until it works. Remember that triangles have to be “wound” with left hand rule or else they face away from the camera, and most shaders will not draw them.

1 Like

Is there a way to check which coordinate system the mesh i created is formed?
I made this mesh in Meshlab.
And Can you also tell me how to convert this mesh into left hand rule please??
I’ve never handled this lidar data and i don’t know for sure about the coordinate system yet…
Thank you for answer my question!

Pull it up in Unity, find it in the scene and look around at it. If it’s inside out, it’s right-handed.

If you can’t get it to come up at all, well, it’s not valid data then. Make it with another program or find out what’s wrong with the meshlab you’re using, check their forums, etc.

Look around for “flip normals” code in Unity. It’s pretty simple to load the mesh and flip the normals by reversing the triangle directions.

You’re welcome to look at other geometry handling code in my MakeGeo project to see how low-level geometry can be manipulated at runtime in Unity.

MakeGeo is presently hosted at these locations:

https://bitbucket.org/kurtdekker/makegeo

Thank you so much for answering my questions!!

To flip my mesh normals, i inverted normals in meshlab.
And then, i exported that mesh by .obj.
And i imported that obj file into Unity.
But still nothing appear on Unity scene.
I want you to ask,
If it’s not set with the left handed rule, won’t it show up on the Unity Scene?