Navigation
API > API/Plugins > API/Plugins/PCG
Take all the entries/points from the input and perform a reduce operation on the given attribute/property and output the result into a ParamData. Note: Special case for average on Quaternion since they are not trivially averageable. We have a simplistic approximation that would be accurate only if the quaternions are close to each other. The accurate version of the average is using eigenvectors/eigenvalues which is way more complicated and computationally expensive. Quaternion will also be normatilzed at the end. Beware if you are using this average.
| Name | UPCGAttributeReduceSettings |
| Type | class |
| Header File | /Engine/Plugins/PCG/Source/PCG/Public/Elements/PCGAttributeReduceElement.h |
| Include Path | #include "Elements/PCGAttributeReduceElement.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, ClassGroup=(Procedural))
class UPCGAttributeReduceSettings : public UPCGSettings
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UPCGData → UPCGSettingsInterface → UPCGSettings → UPCGAttributeReduceSettings
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bMergeOutputAttributes | bool | Option to merge all results into a single attribute set with multiple entries, instead of multiple attribute sets with a single value in them. | Elements/PCGAttributeReduceElement.h |
|
| bWriteToDataDomain | bool | By default the reduce output the result into an new attribute set, but it can also be written into the data domain of the input. | Elements/PCGAttributeReduceElement.h |
|
| InputSource | FPCGAttributePropertyInputSelector | Elements/PCGAttributeReduceElement.h |
|
|
| JoinDelimiter | FString | Elements/PCGAttributeReduceElement.h |
|
|
| Operation | EPCGAttributeReduceOperation | Elements/PCGAttributeReduceElement.h |
|
|
| OutputAttributeName | FName | Elements/PCGAttributeReduceElement.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ShouldMergeOutputAttributes() |
Elements/PCGAttributeReduceElement.h |
Overridden from UPCGSettings
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ApplyDeprecation
(
UPCGNode* InOutNode |
Any final migration/recovery that can be done after pins are finalized. | Elements/PCGAttributeReduceElement.h | |
virtual void ApplyPreconfiguredSettings
(
const FPCGPreConfiguredSettingsInfo& PreconfiguredInfo |
Elements/PCGAttributeReduceElement.h | ||
virtual FString GetAdditionalTitleInformation() |
Derived classes can implement this to expose additional information or context, such as an asset in use by the node. | Elements/PCGAttributeReduceElement.h | |
virtual FName GetDefaultNodeName() |
Elements/PCGAttributeReduceElement.h | ||
virtual FText GetDefaultNodeTitle() |
Elements/PCGAttributeReduceElement.h | ||
virtual TArray< FPCGPreConfiguredSettingsInfo > GetPreconfiguredInfo() |
Return preconfigured info that will be filled in the editor palette action, allowing to create pre-configured settings | Elements/PCGAttributeReduceElement.h | |
virtual EPCGSettingsType GetType() |
Elements/PCGAttributeReduceElement.h | ||
virtual bool HasDynamicPins() |
If the node has any dynamic pins that can change based on input or settings | Elements/PCGAttributeReduceElement.h | |
virtual bool OnlyExposePreconfiguredSettings() |
If there are preconfigured info, we can skip the default settings and only expose pre-configured actions in the editor palette | Elements/PCGAttributeReduceElement.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostLoad() |
Elements/PCGAttributeReduceElement.h |
Protected
Overridden from UPCGSettings
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FPCGElementPtr CreateElement() |
Elements/PCGAttributeReduceElement.h | ||
virtual EPCGChangeType GetChangeTypeForProperty
(
const FName& InPropertyName |
Gets the change impact for a given property. | Elements/PCGAttributeReduceElement.h | |
virtual TArray< FPCGPinProperties > InputPinProperties() |
Returns an array of all the input pin properties. You should not add manually a "params" pin, it is handled automatically by FillOverridableParamsPins. | Elements/PCGAttributeReduceElement.h | |
virtual TArray< FPCGPinProperties > OutputPinProperties() |
Elements/PCGAttributeReduceElement.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| InputAttributeName_DEPRECATED | FName | Elements/PCGAttributeReduceElement.h |