I am trying to generate 3D point cloud data from the simulation. I found and is using Lidar point cloud plugin with UE 5. I also found a tutorial about how to build 3D point cloud data with the old version plugin(0.6, now is 0.8). However, one of the function is no longer available in the new version(create point cloud from data). I tried a lot of approaches but cannot make it. Can anyone give me some suggestions?
Here is the link for the tutorial:https://pointcloudplugin.com/building-new-point-cloud-v06
I found the issue.
I was trying to build a function to create point cloud and the “create lidar point cloud from data” function is not available while building other functions. It can only be added to the event graph(I guess).
Sorry for the confusion, and I am trying the function.
Thanks a lot.
there are no silly questions. If you have a question, ask.
So, you added the PointCloud as a variable. If you want to use it from the blueprint you are working on you could add it as a real component as shown in my example project:
Edit: This is for a LidarPointCloud variable.
For the LidarPointCloudComponent you need a component to set it:
I am trying to use the “Line Trace For Lidar Point Cloud” function to detect points in range and I do not know how to convert the hit structure to the point cloud point. Could you please give me another help?
Hi, I tried the way, and the I feel the result is not right. Maybe there are still some misunderstandings.
For my understanding, the “Line Trace For Lidar Point Cloud” function takes origin(world location), direction(unit vector) and Radius(detection range). and it works like a ray cast system and will return the first object hit or null. Then, the Break… function can give me a point to add to the Point Array.
Thus, here is my approach
The second picture is the graph for the completed execution.
When I test it in the project. The system keep printing progress string
Which part of my understanding is wrong?
By the way, I just want to create Point Cloud data with a car in my project. Which similar to the lidars on vehicles in real world.
Ok, then you will need a slightly different approach (I think). Do you have an example scene?
Idea:
From your car create a SphereTrace to get the actors around the car
Try to get the meshes from these actors and from these meshes try to get the vertices (the locations)
Transform the locations to world
Add these locations to the point cloud
The functions we looked at before are used when you already have a point cloud or know which points to add. The LineTrace you used is for PointCloud data I think.
Do you want to store the points and add more points to the cloud while driving around creating the whole map as PointCloud or just show what is around the car in a certain amount of time?
This is the example scene, I want to generate cloud point data center at the highlighted forklift.
I want to show what is around the car in a certain amount of time since the environment is dynamic.
Hi, thank you so much for creating the example project.
I went through the whole project and have some questions.
What is the purpose for the Spline Index in BP_Forklift? I did not find the function to update the spline index.
For the whole BP_Forklift, it will call traces every 0.1 second. Every time the traces function is called, it will clear points and add points from current frame. So If I want to export point cloud, I just need to convert LidarPoints to point cloud and export it. Am I right?