One of the things I'm working on right now is setting up the environment of our unity simulation. This simulation will need to be a realistic representation of the track we are using. In order to achieve this we use an intel realsense camera to scan the track and generate a 3D point cloud. However Unity, the software we are using for our simulation, requires that we turn this point cloud into a mesh so we can preserve the textures and be able to implement collisions.
Here are the steps I took to generate this mesh:
- In Autodesk ReCap I cropped the 3D point cloud to remove any unecessary background points to the track. Then I exported this point cloud as a .pts file
- The software I used to create the mesh is MeshLab which does not support the .pts format for the points. I used the software CloudCompare to convert the .pts file to a .ply file
- I then opened this .ply file in MeshLab and preformed the following actions
- Filters > Normals, Curvatures and Orientation > Compute normals for point sets (this uses neighboring points to estimate surfaces)
- Filters > Sampling > Poisson-disk Sampling (this selects a sample for the points to create the mesh in order to simplify the mesh)
- Filters > Remeshing, Simplification and Reconstruction > Screened Poisson Surface Reconstruction (this converts the normals of the sampled points into a mesh)
Here is the final result: note: all the software I listed above is free