はじめに
Unityで色を扱う場合、Color で指定出来ますが、色見本などからコピペしたい場合は、カラーコードを Color へ変換が必要になります。
本記事では、カラーコード → Color 、また Color → カラーコードへの相互変換の方法を紹介します。
カラーコードを調べるときには、以下のサイトをよく使わせてもらっています。
検証環境
Unity
2022.3.12f1
変換方法
Color → カラーコード
まずは Color をカラーコードに変換する方法です。
ColorUtility というクラスの ToHtmlStringRGB を使います。
void Start()
{
Color color = Color.red;
string colorCode = UnityEngine.ColorUtility.ToHtmlStringRGB(color);
Debug.Log($"カラーコード : [{colorCode}]");
}
カラーコード → Color
次にカラーコードを Color に変換する方法です。
こちらも ColorUtility クラスの TryParseHtmlString を使います。
Color に変換出来ない文字列を入力する事も出来てしまうため、
Color は out で受け取り、返り値で変換出来たかを bool で受け取れます。
void Start()
{
string htmlString = "#FF0000";
Color color;
if (UnityEngine.ColorUtility.TryParseHtmlString(htmlString, out color))
{
Debug.Log($"Color : [{color}]");
}
else
{
Debug.Log($"{htmlString}はColorに変換出来ません");
}
}
コメント