Point Cloud Plugin

Hi, first off, thank you so much for making this tool, and for being so active on this forum. The plugin has a lot of potential for an interactive experience I’m starting work on. :slight_smile:

I’d like to apply opacity to my point cloud. I brought them in as PLY objects and set the display as lit sprites. However, when I add a material to the “custom material” slot and “rebuild cloud” the cloud disappears from the viewport. My hope was to plug vertex color into the opacity slot so that the darker points disappear, but right now I am stuck on that front. Any guidance?

Hi there and thanks for the feedback!

Can you send me a screenshot of how the material is setup?
Also, did you change the material type to Translucent? It is using Masked by default, which simply acts as an on-off threshold.

Awesome - thanks for the advice - testing out the optimisations you suggested now. Didn’t stop to think that maybe those point clouds were casting shadows themselves in the scene. Some optimisation presets would be awesome to allow for starting point for people to build upon if it wasn’t tremendously hard to implement, eg with a drop down at the top of the point cloud object that would change the parameter values on the actor accordingly.

I already had “blend mode” to translucent, assuming that’s what you meant by “type.” I did try others, but nothing showed up.

I have included a screenshot of the material, as well as the setting for the cloud itself for good measure. (I’m pretty new to mats in UE4 but this is how I set up a point cloud material to render in V-ray.)

Thanks for getting back and taking a look.

Yes, by type, I meant the blend mode :slight_smile:

The plugin scales Sprites inside the material - this is to allow people to override the default behavior if needed. The reason why everything disappears when using your custom material is you didn’t link the node responsible for the scaling process, hence you end up rendering infinitely small sprites - essentially invisible.

Hope this helps :slight_smile:

It does help me realize how I don’t really understand how the plugin works, yet, heh. I do understand what you mean for that, though. :slight_smile:

Is MF_PointCloud_WPO something I need to create from scratch? I was unable to find the node you list in the material editor.

I was also unable to find it under “World Position Offset.”

Once I get a handle on this system, the hope is to make sprite scale dynamic on my clouds. For examples, increase the radius/opacity of individual sprites when in proximity to specific actors. Is that something within the realm of possibility?

Thanks.

Heh, let me know if you have more questions, I’ll do my best to explain :slight_smile:

Which versions of the plugin and engine are you using?
If you are still on pre v0.5.5, this is how to replicate the WPO node:

Should be. You’ll probably want to look into this: Depth Material Expressions in Unreal Engine | Unreal Engine 5.3 Documentation

Are you planning on exposing more variables at runtime so optimization features could be changed at runtime for example?

Hi,
All options should already be changeable at runtime, and almost all via Blueprints.
Are you having issues accessing / modifying any parameter in particular?


Point Cloud Plugin v0.6](http://pointcloudplugin.com)
Release Notes

New Features / Improvements

  • Efficient GPU streaming, allowing support for huge data sets (1 billion and more)
  • Dramatically decreased VRAM requirements (under 100MB per cloud in most cases)
  • Significantly decreased RAM requirements (upwards of 50%)
  • Rendering uses point-budgeting to maintain stable FPS at all times, regardless of cloud size
  • Added support for Eye-Dome Lighting technique
  • Much improved import times
  • Duplicate points detection
  • Import works in asynchronous manner
  • Support for importing multiple clouds concurrently
  • Dynamic sprite size adjustment
  • Option to allocate higher quality towards the center of the screen
  • Improved and simplified UI
  • Simplified Custom Materials
  • Better Blueprint exposure
  • Support for UE4.23
  • Support for multiple instances of the same cloud
  • Set of **runtime Point Selection **functions to help query the data inside the cloud
  • Efficient runtime Insertion and Removal of points
  • Rendering settings work on per-component basis now, rather than per-asset
  • Switching between Points and Sprites no longer requires rebuilding
  • Per-project plugin settings
  • STAT PointCloud for easier profiling
  • Point Cloud Exporting
  • Code is more coherent, understandable and with better documentation

Fixes

  • Fixed several stability issues and crashes
  • Fixed import precision issues
  • Fixed occasional incorrect switching of Render Method upon reimport
  • Fixed issues with releasing rendering resources
  • Fixed many LOD related issues

Other Changes

  • Plugin now requires Shader Model 5 compatible graphics card
  • Removed support for Low Precision rendering, as the VRAM requirements are no longer an issue. This will improve shader recompilation times
  • Removed SinglePolySprit

Hi,

First off, the material suggestion (opacity map with vertex color) did work! Thanks so much! :smiley: I had indeed bee on an earlier version of point cloud plugin. However, the entire thing won’t receive light and cast shadows at all once the opacity map was added.

However, I have just fallen into a new problem. I installed the new version of the plugin you just posted. After that, UE4 crashes each time I try to open the cloud file in the content browser, or when I try to open a level containing an asset made with the plugin. Any insights as to why this is happening?

BTW I am very excited about the new version, looks like some serious performance enhancements.

Thanks.

Regarding shadow casting:
Make sure to adjust Lighting Mode of the translucent material.

Regarding crash:
Depending on how old your plugin version was, the assets may no longer be compatible. Probably the best course of action now is to open the project folder and delete the asset files, then reimporting them again.

Hope that helps :slight_smile:

Is VDB support still something you guys plan to investigate in the future?

It’s not on the roadmap for the next few versions.

hi, i’m trying to deploy on oculus quest, but the shader assigned when I import a point cloud is not compatible. I’m kinda lost. Here’s the log, can anyone help with it?

Dynamic shadows do not always behave as expected and appear to be cut off. Moving them around does not fix them, cut off stays the same. Any idea?

Love the plugin though!

Hi there!
First, my apologies for not replying sooner, but the notifications do not always come through.
The plugin is currently only compatible with Windows, Mac and Linux platforms. As I understand it, Quest is powered by a mobile chip so, unfortunately, it will not be supported just yet.

Thanks for the feedback.

Not quite sure what’s going on there - a few questions:

  • Did you notice it on just this one cloud?
  • Any pattern to the locations where it happens?
  • Can you replicate the same issue in a fresh project as well?
  • Is it just spotlight? Or do point lights and directional lights produce the same result?

If possible, could you zip the project and send it to me for testing? Only the bare minimum of files, which still results in the said issue

Thanks for the quick reply @. This is all on 4.22 by the way.

  • Tested with a second point cloud, same issue
  • No pattern to the location, but the cut off angle seems to be the same when it does happen
  • Replicated in fresh project, with just plugin enabled and point cloud imported, dynamic shadows on
  • Spotlights and pointlights have the issue so far, sun/direction appears OK

Please PM me your email address I can use to wetransfer the fresh project, just please do not share the point cloud data in any way. I can attach the original .pts as well if you want.

Hey @ , did you get some files from Janitorus to help you look at the issue?
Because I’ve got it popping up on a couple large pointclouds I’ve tried. (Only tried with directional-light.) but at a lot of angles the shadowcasting just stops working.
(Setting the directional light at an angle, and spinning it around a mesh clockwise leaves it only working for maybe ~1/3rd of the angles, for example.)

Sometimes it’ll work fine when it’s just basically top-down, almost. It’s rather strange. A lower-angled directional light only seems to work from some directions.

Is this part of the same issue? ( 4.22. And tried in a completely new/clean project as well. ) I also noticed the same kind of strange cutoff from spotlights as Janitorus.

Hi! Yes, it sounds like it’s related to the same issue. It’s being investigated, stay tuned! :wink: