Point Cloud Plugin

It shouldn’t be. Well within float capacity.

Try setting the RGB range manually and/or try loading a small section of it (~100k) using the First/Last Point settings.

Try importing without applying Density Reduction.

If I set the point line range to 0-100000 the file imports but when dragged into the scene there is nothing there.

Okay it is there, I scaled it down to 0.1,0.1,0.1

Okay I got it, I have to change the Scale from 100,100,100 to 1,1,1 and it imports within seconds. Guess it was just the scale the whole time.

@ Thanks dude, this is great stuff you’re doing here! :smiley:

@J.Kimberley
Haha, sorry, fell asleep :wink:

I’m planning to add an option to import and handle the data using doubles up until the transformations are applied to avoid any issues with large numbers.

Unfortunately, I’m swarmed with other projects at the moment so I’ll probably only deal with critical issues, the rest will have to land on the backlog for now.

With that said, keep the feedback coming :slight_smile:

@: importing an xyz point cloud with 0.3.4 (UE4.19.2) hangs at 29%. The same worked fine with the previous version of the plugin. Any idea how can I investigate the problem?

0.3.4?

Some investigative questions :wink:
How big is the file?
Are you using Density/Noise Reduction?
Is the task manager showing activity?
Did you try loading a subset of the file (using First/Last Points)?
Are you using RGB and if so, did you manually specify the range?
Did you change any other default settings?

How big is the file? -> Approx 1.5GB (as said, worked fine in the past)
Are you using Density/Noise Reduction? -> Default settings (no density reduction, noise 5)
Is the task manager showing activity?-> Yes, 15% all the time
Did you try loading a subset of the file (using First/Last Points)? -> Tried after you suggested :slight_smile: Here the fun begins. 0->74982 works fine, anything above hangs. Line 74983 looks perfectly ok. I started removing lines from the source file and ended up with a file with only 3 points which still hangs the editor (see test3.txt in attach). Delete the last line and it work, cannot figure why… 8-/
Are you using RGB and if so, did you manually specify the range? -> Yes, Y set to 65535
Did you change any other default settings? -> No

Thanks for your help! :slight_smile:

Hi,
First of all this is really awesome stuff, thank you!
I’ve been playing around the last days, had some issues with importing and some crashes but now seems that everything is working very nicely!

One thing I noticed is that if I take a normal res screenshot everything looks the same but if I take for example a 4k screenshot then the pointcloud gets very sparse. I believe this is a bit obvious since is just pixels. Same happens with capturing a sequence in 1280x720 which renders fine and the same sequence in 4k goes quite sparse.
Would be very nice if we can control this somehow, maybe by changing the size of the points? Anyway, just an idea for an updated version. If we can have control on the size of the points, if that’s possible at all or some resizing trick, would be super cool!

Thanks again for the great work!

Hi @vpardinho

The plugin allows for two rendering methods:

  1. Points - where each point is literally just a pixel on a hardware level (no option to change it)
  2. Sprites - where each point is actually a 2D plane, which size you can control from inside Point Cloud Settings window. Keep in mind that the sprites are more expensive to render and they use about 4.5x the amount of VRAM

​​​​​​​Hope that helps :slight_smile:

@ : did you have a chance to test the point cloud I attached to my previous post? Do you get the same behaviour?

Hi @xN31

​​​​​​​Not yet. I’ll try to sit down to it tonight.

@ Hey dude, do you have an base material setup to play around with, in order to make a custom material? I have no idea where to start making a custom material for the point clouds. I made an explosion and filled it with points in Houdini but I’m trying to show specific connections of points within the cloud so I’d like to make it a kind of transparent volume at times, I made a super rough concept. do you think a material like this could be made?

Explosion sounds like a better fit for particle system than a static point cloud, I’d look into vector maps if you want particular shapes. But if you really want to use the plugin here’s what my approach would probably be like:

First two pics look like a simple world space XYZ to RGB convert - easily doable. Opacity is also supported. As for showing connections, i’d probably start with baking it out as texture and use triplanar mapping to apply it.

Look inside the materials attached with the plugin for how to build yours.

Thanks for the help, the explosion is just for a test, the first to Pics are what I have so far. I’m using the plugin to look at big data, for example twitter accounts. 60 million points to represent an account, when it was created and the interests it has based on what it follows. I’ve converted data from CSV to text with XYZ RGB Just wanted to figure out where to start with making custom materials to animate opacity or hide/show sections of the data, then I will have to look at drawing connections between two points, I might do vertex animation as simulation in houdini and import it to ue4.

Hi,
This looks like an amazing plugin! I’ve managed to get my data in there perfectly (and so easily!) but I’m having trouble figuring out how to create a custom material. I’ve tried looking at the materials in the plugin content folder, but it’s not clear what they all are (what do ‘P’, ‘PC’, ‘S’ and ‘SC’ stand for?) and also all of them are Default Lit.

What I need is an Unlit material with translucency where I can define the opacity, and the imported particle colour can be used to colour the sprite.

Everything I’m trying either crashes the editor, or doesn’t show up at all.

Essentially what I need is the ‘Sprite Unlit RGB’ render method, but where I can define the sprite (so it’s not just a blank square), and can control opacity.

Is there a way to do what I’m trying to do?

EDIT

OK, so I’ve figured out that the material I need to be working with is M_PointCloud_SC, and have got translucency etc. working fine. The only thing I can’t figure out is how to actually set the sprite, so that it’s an actual sprite not just a blank square…

Hi,

P - Point
S - Sprite
C - Color (uses Vertex Color channel for either full RGB or Intensity)

They are all Default Lit because the code is overwriting the material flag when and if needed

When you assign your custom material, the plugin will attempt to check what is being used in it, so that it can adjust the GPU buffers ​​​​​​​to best fit the data and maximally reduce VRAM footprint. That process is not 100% robust and may result in crash if you are changing the material while it’s in use. I recommend you hide the cloud prior.

​​​​​​​

If you mean assigning the texture to it, you should be able to do that like with any other material (although, to be honest I haven’t tried that lately :D)

For anyone requiring access to UVs inside the Pixel Shader (like applying textures) follow the steps below:

  1. Close the editor
  2. Download this shader file
  3. Replace the file in Plugins/PointCloudPlugin/Shaders/Private with the one you just downloaded
  4. Start the editor again. WARNING: It will recompile all shaders so be patient!
  5. Enjoy

This is only relevant for versions up to and including v0.3.1 as any following ones will include the updated file out-of-the-box.