Point Cloud Plugin

What i mean is is there anyway for us to generate point cloud information out from an existing environment inside ue4? like output point cloud data from the datakite? We are currently using this for drone simulators and want to output point cloud data.

If you mean converting UE4 scene into a point cloud data, then I’m afraid it’s not in the scope of the plugin nor there are plans to implement something like this.

From the top of my head, I’d probably use some form of loop with line tracing to capture locations, then got mesh’s UV and material from collision point, render that material to texture and finally get pixel color of that texture at the location corresponding to the UV I got earlier.

I’m getting a crash at startup, am I doing this right?

  1. Create new UE4 4.18.3 project.
  2. Add empty C++ class generate .sln file
  3. Add folder Plugins with the 4.18 plugin to the project folder
  4. Open .sln file and build solution (no errors)
  5. Start project
    …
    Crash while loading

Edit:
Fixed by renaming UE4 project to something other than PointCloudProject!

Does anyone have a good place to download sample point cloud models to experiment with?

That’s interesting, that name shouldn’t collide with anything. Any chance you could send me the log file?

Version 0.3 should now be live!

Warning: Existing clouds will most likely require reimporting, due to file structure changes.

  • Plugin module has been renamed, so it shouldn’t interfere with project names anymore
  • Plugin should now be fully compatible with Unreal Studio content-only projects
  • Fixed an issue with auto LOD processing crashing when set to 0 in some situations
  • Clouds should no longer be flipped when imported
  • Loading and manipulating clouds has now been better exposed to Blueprints
  • Noise Reduction has been implemented
  • Fixed issue with color values not being imported properly in some cases
  • Non-data lines in the file header should no longer corrupt importing

http://

Thank you vey much for a great plugin, however; when I try to render out as movie, point cloud seems maybe 10x less dense (example 02) than in a full-screen preview (example 01), even if LOD curve on import is set on “1” - disable LOD- in both X and Y value

This reduction happens only when rendering stuff out.

Am I missing something out? Please help me.

Thanks. M.

Thanks for the feedback.

I I haven’t tested the plugin with sequencer yet, but this looks like either LOD or small sprite sizes. Did you rebuild and resave the cloud after setting the LOD?
Please post screenshot of your cloud settings.

Which engine version are you using?
Is it code or content only project?
Is it reproducible in a fresh, new project also?

Are you using sprites or points as rendering method?
Are you using custom material?

Finally, would you be willing to provide me with the project files for further testing? If so, please send me a link via private message.

I tried 4.19 Point Plugin version and it works properly, points render properly in 1:1 density. (pic. 01) (Do you still want to send the 4.18 project?)


pic01

Settings in both cases same, XYZ point file with position and color only, point lit rgb, no LOD. I recreated same problem even after restarting pc / fresh projects in 4.18.

PS: I wanted to ask how to save a point cloud project, because it would not appear after loading, so i might leave a note here to anyone doing same mistake of NOT rebuilding project after you open it. After rebuild it appears again.

Thank you for your plugin. Neat.

So is it only the 4.18 that has issues with Sequencer?
If it works OK in 4.19 then it’s not the cloud itself, nor the settings, so won’t need the project, thanks.

Yeah, I mentioned in under the Known Issues section. Not entirely sure why that happens yet, but sometimes it won’t show the points straight after loading. I found that rebuilding, then resaving the cloud fixes it - as in, it should load just fine next time.

Awesome ! Cannot wait to try that update tomorrow at work and report back on the runtime import ! :slight_smile:

Right @ , so I’ve tested a few things in the new 0.3 plugin :

  • “Load Point Cloud from File” has a lot less options than what you showed ? It stops at the “Columns” input value.
  • There’s a PC settings and PC import settings variable, aswell as a function to assign it to the PC, but you can’t fill it in ? It shows the PC settings assets, but won’t assign it to the variable. Obviously, trying to assign your PC settings at runtime results in a crash since it can’t find the file. This is a bit problematic because you can’t tweak the settings unless you have the project open in your editor ! (and we want to be able to tweak everything in the build) :smiley:

Good progress on the plugin !

In the screenshot I just split the Columns input, there are no more options at import time. It expects 0-based index of columns corresponding to the relevant type of data or -1 if not available.

PC Import Settings is used to display the import window when you drag and drop the cloud into the Content Browser. Shouldn’t be used manually

PC Settings is used as shared Base class. Shouldn’t be used manually.

ImportSettings function shouldn’t actually be exposed to blueprints - thanks for catching that - it’s used internally to bulk populate settings for newly created clouds.

​​You should use SetXXX functions from the PC object to adjust settings individually.

Gotha for the columns input.

If you have to use the Set functions to adjust the settings individually, where can I set the performance, processing, transformation and rendering stuff ? Only options I have are the LOD Levels (would be nice to have an option to use curves instead of a TMap, no idea if its possible though), the rendering method (point or sprite) and the custom material if needed.

I can guess you’ll have to change the material instance values “PC__XXX” for thing related to rendering, but how about performance, processing and transformation stuff ? :slight_smile:

LOD curve is generated internally from the control points provided as TMap, but I might add an option to use direct LOD as well.

For performance processing or transformation properties, make sure you call Rebuild with forced ticked afterwards. I’ll have it more streamlined in future.

For rendering related properties, use ApplyRenderingParameters with rebuild as false

You are a champion, I tried it out today first time. 23 million + points in this building scan with dynamic shadows. Cheers mate!

Hello, I am currently compiling your plugin in four different ways and it I was only able to get one complete build out of the four

Here are the 4 ways I have tried to install your plugin.

Source UE 4.18 and point cloud - failed to find the binaries of the plugin
Source UE 4.19 and point cloud - failed to find the binaries of the plugin

Binary UE 4.19 and point cloud - crashes when I open editor
Binary UE 4.19 and point cloud - Golden, works like a charm!

I need the plugin to work for UE 4.18.3 specifically, do you have any suggestion?

Hi @Rosium

I’m assuming you’re compiling the project to run with editor, not a deployment build?

Thanks for that, the zip package for 4.18.3 was missing shader file - I’ve added it now. Please re-download it and check again. :slight_smile:

If you’re building from source then it should create the binaries itself at that time - that error makes no sense oO
Is this an actual error?
Could you attach log files?
Are these fresh or existing source projects?
If fresh, are you using any other plugins? What exact steps are you taking to reproduce this?

Sorry for the 20 questions, but I just tried to reproduce it on few projects and it works great.

@

I’m assuming you’re compiling the project to run with editor, not a deployment build?

Run with editor, ive been compiling engines all morning and I hit nothing but dead ends.

Thanks for that, the zip package for 4.18.3 was missing shader file - I’ve added it now. Please re-download it and check again. :slight_smile:

Checked it, the engine no longer crashes but I get these errors.

If you’re building from source then it should create the binaries itself at that time - that error makes no sense oO
binaries already come with your plugin. I figured you made it as a standalone plugin with no need to compile (according to what you mention to the other uses earlier in the forum)
Is your plugin not a drag and drop application?
Does it matter whether the engine I am installing the plugin in to be from source or binary?

Is this an actual error?
Could you attach log files?
Are these fresh or existing source projects?
If fresh, are you using any other plugins?
I am adding Optitrack Unreal Plugin. 4.17 (which works with Unreal 4.18.3) I have a successful build of this engine.

What exact steps are you taking to reproduce this?

Steps for Source (VERSION 1)

  1. Download UE4.18 from git hub
  2. download Point Cloud Plugin 0.3 for 4.18
  3. Drag and drop point cloud folder into /Engine/Plugins (Folder)
  4. Setup.bat
  5. GenerateProjectFiles.bat
  6. Open editor
  7. Create project
  8. Enable Point Cloud Plugin
  9. Restart
  10. get the following errors within this reply

Steps for Source(VERSION 2)

  1. Download UE4.18 from git hub
  2. download Point Cloud Plugin 0.3 for 4.18
  3. Setup.bat
  4. GenerateProjectFiles.bat
  5. Drag and drop point cloud folder into /Engine/Plugins (Folder)
  6. Open editor
  7. Create project
  8. Enable Point Cloud Plugin
  9. Restart
  10. get the following errors within this reply

Sorry for the 20 questions, but I just tried to reproduce it on few projects and it works great.
[/QUOTE]

let me know if you need more info,

@
hello by the way, sorry, Ive been stressing a little about this

Herein lies the problem. It shouldn’t be compiled with the engine.
Generally, the plugin shouldn’t go into your engine Plugins directory at all, but rather into your project Plugins directory. Alternatively, you could try to place the plugin within the engine Plugins directory **after **you fully compile it (tho I haven’t tested it).