本日はUnityの小ネタ枠です。
UnityでInspectorのカラーピッカーでアルファ値を変更できないようにする方法です。
ColorUsageAttribute
Color型の値をカラーピッカーを使用して設定するための属性です。
Color,Color32型は本属性を指定しなくてもデフォルトでカラーピッカーのフィールドが表示されます。
docs.unity3d.com

本属性の引数でshowAlphaのTrue/Falseを設定可能です。
引数にFalseを渡すことでカラーピッカーでアルファ値を変更できなくなります。
[ColorUsageAttribute(false)] public Color testColor;
サンプルスクリプト
アルファ値を設定可能なフィールドと設定不可能なフィールドを持つ以下のサンプルスクリプトを作成しました。
・ColorUsageAttributeTest.cs
using UnityEngine; public class ColorUsageAttributeTest : MonoBehaviour { [ColorUsage(true)] public Color colorWithAlpha = Color.red; [ColorUsage(false)] public Color32 colorWithoutAlpha = Color.red; void Start() { } }
Inspectorのフィールドからカラーピッカーを開くと以下の通りfalseを設定した方はアルファ値の項目が表示されません。


