A ColorField is an Editor-only control that allows you to select a color from a color picker. It supports alpha channel and HDR colors. An alpha channel is an extra channel to represent the transparency level of a color. HDR colors are high dynamic range colors that can represent a wider range of colors than standard colors.
You can create a ColorField with UI Builder, UXML, or C#. The following C# example creates a ColorField with a default color and enables the alpha channel, eye dropper, and treats the color as an HDR value.
using UnityEditor.UIElements;
...
var colorField = new ColorField();
colorField.value = new Color(0.5f, 0.5f, 0.5f, 1.0f);
colorField.showAlpha = true;
colorField.showEyeDropper = true;
colorField.hdr = true;
The following UXML example creates a ColorField:
[!code-xml[(External/Resources/editor_resources/Assets/Editor Default Resources/UIPackageResources/Snippets/UXML/ColorFieldSnippet.uxml)]
The following C# example illustrates some of the customizable functionalities of the ColorField:
[!code-cs[(Modules/UIElementsSamplesEditor/Snippets/ColorFieldSnippet.cs#sample)]
To try this example live in Unity, go to Window > UI Toolkit > Samples.
C# class: ColorField
Namespace: UnityEditor.UIElements
基本クラス: BaseField_1
この要素は以下のメンバー属性を持ちます。
名前 | 型 | 説明 |
---|---|---|
hdr |
boolean |
True の場合、色を HDR の値として扱い、False の場合は標準的な LDR 値として扱います。 |
show-alpha |
boolean |
True の場合、ユーザーが色のアルファ値を設定できます。 False の場合、アルファコンポーネントは非表示になります。 |
show-eye-dropper |
boolean |
True の場合、カラーピッカーにスポイトコントロールが表示されます。false の場合、カラーピッカーにスポイトコントロールが表示されません。 |
この要素は基本クラスから以下の属性を継承します。
名前 | 型 | 説明 |
---|---|---|
binding-path |
string |
バインドされるべきターゲットプロパティのパス。 |
focusable |
boolean |
要素がフォーカス可能である場合は true。 |
label |
string |
フィールドの横に表示されるラベルを表す文字列。 |
tabindex |
int |
フォーカスリング内でフォーカス可能なものをソートするために使用される整数。0 以上であることが必要です。 |
value |
string |
フィールドに関連付けられた値。 |
この要素は、VisualElement
から以下の属性も継承します。
名前 | 型 | 説明 |
---|---|---|
content-container |
string |
子要素はそれに追加されますが、通常は要素自体と同じです。 |
name |
string |
この VisualElement の名前。 このプロパティを使用して、特定の要素を対象とする USS セレクターを記述します。要素には一意の名前を付けるのが標準的です。 |
picking-mode |
UIElements.PickingMode |
mouseEvents または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。 |
style |
string |
この要素のスタイルオブジェクトへの参照。 C# でこのオブジェクトに書き込まれた USS ファイルまたはインラインスタイルから計算されたデータが含まれます。 |
toolbar |
string |
ユーザーが要素をマウスオーバーした後、わずかな時間、情報ボックス内に表示するテキスト。これはエディター UI でのみサポートされます。 |
usage-hints |
UIElements.UsageHints |
VisualElement の高レベルの使用パターンを指定するヒント値の組み合わせ。このプロパティは、VisualElement がまだ Panel の一部でない場合にのみ設定できます。Panel の一部になると、このプロパティは事実上読み取り専用となり、変更しようとすると例外がスローされます。適切な UsageHints を指定することで、予想される使用パターンに基づいて、特定の操作をどのように処理するか、または高速化するかについて、システムがより適切な判断を下すようになります。これらのヒントは動作や視覚的な結果には影響しませんが、パネルとその中の要素の全体的なパフォーマンスにのみ影響することに注意してください。常に適切なUsageHints を指定することを考慮することをお勧めしますが、特定の条件下 (例えば、ターゲットプラットフォームのハードウェア制限など) では、いくつかの UsageHints が内部的に無視される可能性があることに留意してください。 |
view-data-key |
string |
ビューデータの永続性 (ツリーの展開状態、スクロール位置、ズームレベルなど) に使用されます。 これは、ビューデータストアからビューデータを保存/ロードするために使用されるキーです。このキーを設定しないと、この VisualElement の永続性が無効になります。 |
以下の表は、すべての C# パブリックプロパティ名と、それに関連する USS セレクターのリストです。
C# プロパティ | USS セレクター | 説明 |
---|---|---|
ussClassName |
.unity-color-field |
この型の要素の USS クラス名。 |
labelUssClassName |
.unity-color-field__label |
この型の要素のラベルの USS クラス名。 |
inputUssClassName |
.unity-color-field__input |
この型の要素の入力要素の USS クラス名。 |
colorContainerUssClassName |
.unity-color-field__color-container |
USS class name of color container elements in elements of this type. |
colorUssClassName |
.unity-color-field__color |
USS class name of color elements in elements of this type. |
mixedValueColorUssClassName |
.unity-color-field__color--mixed-value |
USS class name of color elements in elements of this type when showing mixed values. |
eyeDropperUssClassName |
.unity-color-field__eyedropper |
USS class name of eyedropper elements in elements of this type. |
hdrLabelUssClassName |
.unity-color-field__hdr |
USS class name of hdr label elements in elements of this type. |
gradientContainerUssClassName |
.unity-color-field__gradient-container |
USS class name of gradient container elements in elements of this type. |
ussClassName |
.unity-base-field |
この型の要素の USS クラス名。 |
labelUssClassName |
.unity-base-field__label |
この型の要素のラベルの USS クラス名。 |
inputUssClassName |
.unity-base-field__input |
この型の要素の入力要素の USS クラス名。 |
noLabelVariantUssClassName |
.unity-base-field--no-label |
ラベルがない場合の、この型の要素の USS クラス名。 |
labelDraggerVariantUssClassName |
.unity-base-field__label--with-dragger |
この型の要素にドラッガーがアタッチされている場合のラベルの USS クラス名。 |
mixedValueLabelUssClassName |
.unity-base-field__label--mixed-value |
混合値を示す要素の USS クラス名 |
alignedFieldUssClassName |
.unity-base-field__aligned |
インスペクター要素で整列される要素の USS クラス名 |
disabledUssClassName |
.unity-disabled |
ローカルで無効にされた要素の USS クラス名。 |
また、Inspector や UI Toolkit Debugger の Matching Selectors セクション を使用して、どの USS セレクターが VisualElement
のコンポーネントに影響するかを、階層のすべてのレベルで確認することもできます。