Colors UE4:在蓝图中将字符串十六进制颜色转换为RGB或RBGA

Colors UE4:在蓝图中将字符串十六进制颜色转换为RGB或RBGA,colors,hex,rgb,unreal-engine4,unreal-blueprint,Colors,Hex,Rgb,Unreal Engine4,Unreal Blueprint,如何在虚幻引擎的蓝图中将十六进制颜色字符串转换为RGB或RBGA。例如:#f0f8ff到240/248/255 RGB向量 非常感谢。由于Blueprint API不支持十六进制到RGB或RGB到十六进制,我建议您自己在一个文件中为其编写一个包装器 我不会详细介绍如何创建这些库中的一个,因为您可以在中找到一个简单的教程。但是,我可能会给您一些代码,希望它们能够正常工作: 标题部分: /** Converts hex string to color. Supports formats RGB, R

如何在虚幻引擎的蓝图中将十六进制颜色字符串转换为RGB或RBGA。例如:#f0f8ff到240/248/255 RGB向量


非常感谢。

由于Blueprint API不支持十六进制到RGB或RGB到十六进制,我建议您自己在一个文件中为其编写一个包装器

我不会详细介绍如何创建这些库中的一个,因为您可以在中找到一个简单的教程。但是,我可能会给您一些代码,希望它们能够正常工作:

标题部分:

/** 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();
}

我还没试过,但希望能奏效

是的,昨天我得到了相同的解决方案,因为我没有找到任何内置的解决方案。我使用了color.cpp中的FromHex纯函数代码,位于此处:C:\Program Files\Epic Games\UE_4.24\Engine\Source\Runtime\Core\Private\Math,因为我需要对其进行扩展,以转换预设颜色值,如白色等。感谢您的建议,我将接受它作为答案。如果有人要使用此代码,请注意Max代码中的第二个函数应该返回FString而不是FColor。干杯