diff --git a/spine-ue/Content/GettingStarted/Blueprints/UmgRaptor.uasset b/spine-ue/Content/GettingStarted/Blueprints/UmgRaptor.uasset index 965c458fa..7c7a7256b 100644 Binary files a/spine-ue/Content/GettingStarted/Blueprints/UmgRaptor.uasset and b/spine-ue/Content/GettingStarted/Blueprints/UmgRaptor.uasset differ diff --git a/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp b/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp index 6a45169dc..dcdaac900 100644 --- a/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp +++ b/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineWidget.cpp @@ -368,6 +368,16 @@ bool USpineWidget::HasSlot(const FString SlotName) { return false; } +void USpineWidget::SetSlotColor(const FString SlotName, const FColor SlotColor) { + CheckState(); + if (skeleton) { + spine::Slot *slot = skeleton->findSlot(TCHAR_TO_UTF8(*SlotName)); + if (slot) { + slot->getColor().set(SlotColor.R / 255.f, SlotColor.G / 255.f, SlotColor.B / 255.f, SlotColor.A / 255.f); + } + } +} + void USpineWidget::GetAnimations(TArray &Animations) { CheckState(); if (skeleton) { diff --git a/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h b/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h index 2836a484a..c02339638 100644 --- a/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h +++ b/spine-ue/Plugins/SpinePlugin/Source/SpinePlugin/Public/SpineWidget.h @@ -141,6 +141,9 @@ public: UFUNCTION(BlueprintCallable, Category = "Components|Spine|Skeleton") bool HasSlot(const FString SlotName); + UFUNCTION(BlueprintCallable, Category = "Components|Spine|Skeleton") + void SetSlotColor(const FString SlotName, const FColor SlotColor); + UFUNCTION(BlueprintPure, Category = "Components|Spine|Skeleton") void GetAnimations(TArray &Animations);