如何在虚幻引擎的蓝图中将十六进制颜色字符串转换为RGB或RBGA。例如:#f0f8ff为240/248/255 RGB向量。
非常感谢。
由于Blueprint API不支持从Hex到RGB或RGB到Hex的but the regular FColor struct does,因此建议您在UBlueprintfunctionlibarary中为其编写包装。
我不会详细介绍如何创建这些库之一,因为您可以在Unreal Wiki中找到简单的教程。但是,我可能会给您希望能运行的代码:
标题的一部分:
/** Converts hex string to color. Supports formats RGB, RRGGBB, RRGGBBAA, RGB, #RRGGBB, #RRGGBBAA */
UFUNCTION(BlueprintCallable, Category="YourFunctionLibrary")
static FColor HexToColor(FString HexString);
/** Converts color to hex string */
UFUNCTION(BlueprintCallable, Category="YourFunctionLibrary")
static FString ColorToHex(FColor Color);
编译单元的一部分:
FColor YourFunctionLibrary::HexToColor(FString HexString)
{
return FColor::FromHex(HexString);
}
FString YourFunctionLibrary::ColorToHex(FColor Color)
{
return Color.ToHex();
}
尚未尝试过,但希望它能起作用!