Download

How to render the most simple point i 3D space

Hi,

I’m interested in getting a point cloud stream into UE4 or basically rendering points in 3D-space. Currently I have three different implementations but I think that all of them are unnecessarily complex.

  • Billboard - One billboard component per point, each attached to an actor.
  • Procedural mesh (one section) - Works quite well but requires that the point cloud is converted to a mesh from individual points first.
  • Procedural mesh (one section per point) - Each section is formed as a tetroid (a three sided pyramid with bottom) which represent a point in the point cloud.

The billboard solution is the most demanding one. Maybe it is possible to deactivate visual effects like shadows and more (I have the default parameters)? A simple point would however be the most desired solution, similar to the asset for Unity (https://www.assetstore.unity3d.com/en/#!/content/19811). The unity code seems to be based on OpenGL and the points have a constant size on screen independent of the distance this would be an extra plus.

But I’m quite new to Unreal and have never worked directly with OpenGL. Is there anyone that can help me?

Best regards
Erik

The easiest method is to use a hierarchical instanced static mesh component and then to add instances. Using a quad or sphere as the mesh(depending on your goal), you should be able to get over a couple million points. Another easy method is using DebugPoint, it just renders a simple point. It does not have as good performance.

It starts to get more difficult from there, I wont go into much detail right now but there are two other methods that should give good results and require considerably more work. One is using a custom vertexfactory and another method is using the particle system combined with the material editor - something like this https://forums.unrealengine.com/showthread.php?91501-How-to-place-single-GPU-particles-at-specified-locations.