"Paint" With Point Clouds
In this post, we’ll discuss how to cover up gaps in point clouds or areas of low density. Gaps can occur either because of lack of coverage in the original point cloud dataset or because of the “remove points” feature of the Easy Surface Builder tool.
Sometimes, as a result of Virtual CRASH 4’s Easy Surface Builder tool being used on uneven or sloped terrain, you can be left with gaps at the bottom of trees or bushes if you use the “remove points” option. The “remove points” option is handy for automatically masking the points from view (note it does not delete the points) that were used as a part of the surface fitting process.
In the scene below, we’ll use the Easy Surface Builder to create our terrain mesh.
Here we see a real-time preview of our surface fit. Notice the road is sloped and slightly curved. Since the Easy Surface Builder tool fits to the surface using points within its bounding box, this can cause uneven
Here we see the resulting surface mesh.
Next, hiding the point cloud dataset, we’ll use the faces selection type and lasso tool to trim the surface mesh to include only the road surface.
Here’s the trimmed surface mesh.
Unhiding our point cloud reveals large holes.
We can load our point cloud into the free application Cloud Compare.
Using the selection tool in Cloud Compare, we’re going to select a nice region of points to “paint” with.
Simply clone and move.
This is also a great way to increase point density in regions where point coverage is sparse.
The same technique can be used to “borrow” trees, bushes, and other objects from other your personal collection of point cloud datasets to be used in your new scene. The benefit of this technique is that you can place photorealistic objects into your background. Of course, you’ll need to consider the lighting and color of the point clouds your import, and how they will look integrated into your scene. Remember, the brightness and tone of the points in your dataset depend on the conditions you captured your data during scene inspection.
For example, below we have our crash scene based on the George Clooney scooter crash in Sardinia, Italy. Here we’ve used grass and asphalt textures for the terrain mesh.
A quick Google search reveals there were also bushes and shrubs alongside the roadway.
Here we’ll extract the tree tops of this point cloud dataset to use in a different scene.
We’ll also extract this grass field from another point cloud dataset.
Here we see some of our point cloud sections from the field in the background of our scene.
Here we see more grass sections in place and some tree tops. The trees have been rotated. Note, as you reuse sections of point clouds for trees and bushes, you should randomize their placement and orientation to try and eliminate easy patterns for the observes eye to catch.
Finally, with all point clouds in place, we have the final animation:
“Trimming” with the Easy Surface Builder
Finally, another approach is to avoid using the “remove points” feature altogether to eliminate the issue of holes being generated within point clouds. The best approach is to import your point cloud data into Virtual CRASH. Next, do your surface fit, without using “remove points”. Next, using the Easy Surface Builder again, go section by section, and create small surfaces with “remove points” enabled. Carefully use only the points over the road surface for this step. Delete each of the resulting smaller patches of mesh as you go. Little by little you will trim away (actually mask away) points floating above your road surface mesh. This technique is illustrated in the vCRASH Academy blog post here: https://www.vcrashusa.com/blog/2018/5/20/importing-scenes-from-ims-map360.
If you’re a current Virtual CRASH user in need of help producing an animation, setting up your environment, or just building new 3D models? We can help! Our associates are some of the world's experts in this incredible software platform. Go to services >