Blueprint Interface

 

 

The Interface to Blueprint

There is a powerful Blueprint Interface on the PointCloudActor and PointCloudSystemComponent. In most cases it should be convenient to just use the Actor (or an Blueprint derived by PointCloudActor), because most Blueprint functions can be called directly on the Actor and will be passed to the component. But a PointCloudSystemComponent can also be added directly to any Blueprint Actor (for example PointCloud_CompBased_Wave_BP in “Examples / Blueprints”).

 

 

Blueprint Interface PointCloudActor / PointCloudSystemComponent

  • void PlayAnimation() : Will start playing a Point Cloud animation.
  • void StopAnimation() : Will stop playing a Point Cloud animation.
  • bool ToggleAnimation() : Will toggle a Point Cloud animation. Returns state after toggle.
  • void UpdateData() : Reset the Point Cloud and load the data by the referenced PCD / PCA Data Assets. Be aware that it will update not immediately but next frame.
  • void ActivatePointCloud(bool startAnimation = true) : Activates the Point Cloud and spawns all points. If "Auto Activate" is true it will be active on spawning.
  • void DeactivatePointCloud(bool stopAnimation = true) : Deactivates the Point Cloud and resets the Burst List (the List will be triggered again on activation).
  • void ExportDataToTexture() : Will write two exr (HDR) image files containing the current Point Cloud data. Supports currently only a RGBA16 Render Target format.
  • void ExportDataToFile() : Will export a PLY file containing current Point Cloud data.
  • int32 GetPointCount() : Get the current point count
  • ETextureRenderTargetFormat GetRenderTargetFormat() : Get current Render Target format.
  • void StartTimeScaler(FName name, bool enable) : Start/Stop a TimeScaler by name (based on the PCA settings).
  • void ResetTimeScaler(FName name) : Reset a TimeScaler by name (based on the PCA settings). This will also stop the TimeScaler
  • void SetDurationTimeScaler(FName name, float value) : Set the duration of a TimeScaler by name (based on the PCA settings).
  • float GetDurationTimeScaler(FName name) : Get the duration of a TimeScaler by name (based on the PCA settings)
  • void SetScalar(FName name, float value) : Set a scalar(float) by parameter name (based on PCD/PCA settings).
  • float GetScalar(FName name) : Get a scalar(float) by parameter name (based on PCD/PCA settings).
  • void SetVector(FName name, FLinearColor value) : Set a vector(FLinearColor) by parameter name (based on PCD/PCA settings).
  • FLinearColor GetVector(FName name) : Get a vector(FLinearColor) by parameter name (based on PCD/PCA settings).
  • UPointCloudDataSetup* GetPCD() : Get current PCD Data Asset.
  • void SetPCD(UPointCloudDataSetup* pcd) : Set a PCD Data Asset.
  • UPointCloudAnimationSetup* GetPCA() : Get current PCA Data Asset.
  • void SetPCA(UPointCloudAnimationSetup* pca) : Set a PCA Data Asset.
  • void SetColorMode(EPointColorMode colorMode) : Set a Color Mode. This needs UpdateData to have an effect!
  • EPointColorMode GetColorMode() : Get current Color Mode.
  • void EnableColorOverrideByMaterial(bool enable) : Enable/Disable Color override by Material (a Material needs to be set in the PCD).
  • void GetPointLocations(TArray<FVector4>& pointLocations, int32 startIndex, int32 pointCount, bool WorldSpace) : Read back the current location a range of points. In the alpha a material can mark points (Range 0.0 - 1.0) for example to be within a box. The material need to be in BlendMode:AlphaComposite and write this data to Opacity.

 

Blueprint Interface PointCloudActor only

  • void OnUpdateData() : Event. UpdateData was called on the Component.
  • UPointCloudSystemComponent* GetPointCloudComponent() : Get a reference to the PointCloudSystemComponent.

 

Blueprint Interface PointCloudSystemComponent only

  • TArray<FVector> m_pointLocations : Array containing all Locations of the Point Cloud. Note that this array will not be updated on animation, it will only contain the initial data. However, you can fill the array by Blueprint and call UpdateData to initialize a Point Cloud. Don’t try to animate the data this way (CPU bound), use a PCA Data Asset instead.
  • TArray<FLinearColor> m_pointColors : Array containing all Colors of the Point Cloud. Same behavior as for m_pointLocations applies here.