PointCloudActor / PointCloudSystemComponent
A PointCloudActor owns a PointCloudSystemComponent which is derived (in c++) by a ParticleSystemComponent. Which means it needs a Particle System as a template. By default this will be PS_PointCloudEmitter_Default in “PointCloudKit Content / Required / Emitters”. For Point Clouds you should avoid shared Particle Systems, therefore there is an “Override ParticleSystem” slot on a PCD Data Asset. Avoid changing the Particle System directly on the Component.
On top of the Details panel there are four buttons.
- Play : Toggle animation on/off (in the Preview as well in Game).
- Update Data : If you have changed values in a PCD / PCA you need to update the data. This will reset the Point Cloud to redraw .
- Export Texture : This will export the current Point Cloud as a set of two HDR exr Textures. One for the Locations and one for the Colors. You can reuse those Textures in a PCD / PCA (for morphing or to create a Point Cloud). Note that export as Texture only works with a RenderTargetFormat of “RGBA 16”. The export path can be set in the Plugin settings menu “Edit / ProjectSettings / Plugins / PointCloudKit”.
- Export File : This will create a PLY ASCII file containing all the Location and Color data of the current state (even within an animation). But no index data for triangles nor edges will be written into the file, because a Point Cloud has none. If the Point Cloud was loaded by a PLY file containing such data they will not be preserved. The export path can be set in the Plugin settings menu “Edit / ProjectSettings / Plugins / PointCloudKit”
- PCD - PointCloudData : Data Asset to set up the source of the Point Cloud data.
- PCA - PointCloudAnimation : Data Asset to set up an animation for locations and/or colors.
Point Color Mode
- Plain Color: Override all Points with the color selected in “PlainPointColor”.
- PointCloud Colors: Will use the colors the Point Cloud was initialized with.
- Distance: Color gradient based on the distance to the Pivot.
- Particle Emitter Color: Pass through the color that was set on the Emitter.
- Show Alpha as Color: Will turn the current alpha value into a grey gradient color.
- Render Target Format : This will set the internal Location Render Target to a floating point format of RGBA16 or RGBA32 (default). RGBA16 is more memory and bandwidth efficient, but for some Point Cloud animations the resolution is not high enough (for example physics simulations need RGBA32).
- Plain Point Color : Color for the Color Mode: Plain Color.
- Max/Min Distance (Color) : Start and end for the color gradient in Color Mode: Distance.
- Generated By Blueprint : If you select “Generated by Blueprint” in a PCD this will be automatically set.
- Point Component Selectable : Usually on every Particle (in the viewport) an outline will be drawn and the Actor can be selected by clicking on any Particle, but it gets very distracting with huge Particle counts.
- Enable Animation : Toggle animation on/off. Can be controlled by the button “Play”
- Tick Location Anim. Once : This will tick the animation for locations only once.
- Tick Color Anim. Once : This will tick the animation for color only once.
- Burst Mode : Every Particle System has a Burst List to spawn Particles at once. But for huge Particles, spawning +50k or more Particles in one frame (Single Burst) may have side effects (hitches or missing Particles). In Distributed Mode the amount of Particles will be distributed over all Burst List slots on the Particle System template (slots need to be added in Cascade on the Emitter).
- Burst Step Time : Delta time in seconds between the Burst List slots, if Burst Mode is Distributed.
- Burst Delay Time : Delta time to start the Burst List.
- Clear RT : Clearing the RenderTargets with (0.0f, 0.0f, 0.0f, 1.0f) before any animation update is useful for blend modes like BLEND_AlphaComposite, to be able to use the alpha channel for data. But it will cost some performance.
- Tick in Editor : Very huge Point Cloud with 200k and more Points can be laggy to move around in the viewport. This will turn the rendering only in the viewport off.
- Auto Detect Color : If enabled it will check if there are Colors attached to the PointCloud and will switch to Point Color Mode: PointCloud Colors.
- Auto Activate : If true the PointCloud will be activated on spawning (in Game) otherwise you need to use the “Activate Point Cloud” Blueprint node.
- Use Float16 for Readback : If the Render Target format is RGBA32 and the PCD uses a Material to initialize the Points, the data needs to be readback to fill the arrays (look at Data Flow Details). To avoid loss of precision a staged mapping render call is used. But on Vulkan this sometimes seems not to work properly (might be a bug in the API implementation). This flag provides a workaround by internally converting it temporarily to a RGBA16. This should not have a performance impact, because this will only be done once on activation.