I am trying to implement arrays as inputs to an AnimGraphNode. I can only create pins for individual elements for the array but not the entire array. Would anyone have pointers as to how I would go about creating a pin for an entire array ?
Here’s how I have to handle arrays at the moment. It kind of works for this example but this breaks when I have to pass an array of transforms for the entire character ( ~90 elements), which I process in the event graph.
And this is what my AnimGraphNode implementation looks like :
UCLASS()
class UAnimGraphNode_DataDrivenBone : public UAnimGraphNode_SkeletalControlBase
{
GENERATED_UCLASS_BODY()
UPROPERTY(EditAnywhere, Category=Settings)
FAnimNode_DataDrivenBone Node;
public:
// UEdGraphNode interface
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const OVERRIDE;
virtual FString GetNodeNativeTitle(ENodeTitleType::Type TitleType) const OVERRIDE;
virtual FString GetTooltip() const OVERRIDE;
// End of UEdGraphNode interface
virtual void CreateOutputPins() OVERRIDE;
protected:
// UAnimGraphNode_SkeletalControlBase interface
virtual FText GetControllerDescription() const OVERRIDE;
// End of UAnimGraphNode_SkeletalControlBase interface
};
I define the arrays inside the FAnimNode_DataDrivenBone structure definition.
One example is below :
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = DataDrivenPose, meta = (PinShownByDefault))
TArray<FVector> Query;
I am running into this same problem, and really hope this question is eventually answered. I can add elements to pins once I add elements to the array, but I would really be able to plug in an array of dynamic length.