# プロパティの編集

> Edit reference and value properties of GameObject components and assets in the Inspector window.

プロパティとは、ゲームオブジェクトのコンポーネントやアセットに対する設定やオプションのことです。プロパティの編集は、[Inspector ウィンドウ](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-inspector.md) で行います。


**さまざまな値と参照プロパティを示す Light コンポーネント:**
![](/api/media?file=/engine/6000.0/media/images/PropertiesExample.png)

プロパティは大きく分けて以下のように分類されます。

* **参照:** 他のゲームオブジェクトやアセットへのリンク。
* **値:** 数字、色、オン/オフの設定、テキスト、など。

## 参照情報

参照プロパティは、互換性のあるプロジェクトのアセットやシーンのゲームオブジェクトを入力として取ります。例えば、[Mesh Filter](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/components-reference/class-mesh-filter.md) コンポーネントは、Project のどこかにある [Mesh](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/components-reference/class.md) アセットを参照します。

コンポーネントを作成する時、その参照プロパティは割り当てられていません。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/RefPropUnassigned.png)

プロパティへの参照の割り当ては、オブジェクトやアセットを参照プロパティフィールドに [ドラッグアンドドロップ](#ref-assign-dnd) するか、[オブジェクトピッカーウィンドウ](#ref-assign-objectpicker) を使って行います。

参照プロパティの中には、特定のタイプのコンポーネント (例えば、[Transform](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/gameobject-fundamentals/class-transform.md)) を受け取るものがあります。これらのプロパティにゲームオブジェクトを割り当てると、Unity はゲームオブジェクト上で必要なタイプの最初のコンポーネントを探し、それを参照プロパティに割り当てます。ゲームオブジェクトに適切なタイプのコンポーネントがない場合、そのゲームオブジェクトをプロパティに割り当てることはできません。

### ドラッグアンドドロップによる参照の割り当て

プロパティに参照を割り当てるには、互換性のあるゲームオブジェクトやアセットを Inspector のプロパティフィールドにドラッグアンドドロップします。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-refprop-dragdrop.png)

### オブジェクトピッカーウィンドウによるリファレンスの割り当て

オブジェクトピッカーウィンドウを使って、割り当てたい参照オブジェクトを探して選択します。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-refprop-picker.png)

1. Inspector でプロパティの右側にある小さな丸いアイコンをクリックすると、オブジェクトピッカーウィンドウが表示されます。
2. 参照したいオブジェクトやアセットを探して、ダブルクリックしてプロパティに割り当てます。

## 値

ほとんどの値のプロパティは、簡易な操作で編集します。 例:

**Fields** でテキストや数値を入力します。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-numeric.png)

プロパティフィールドに直接数値を入力したり、プロパティラベルをクリックアンドドラッグして値を増減できます。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-numeric-drag.png)

また、一部のプロパティには、数値を調節するための **スライダー** があります。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-slider.png)

**チェックボックス** でプロパティのオンとオフを切り替えることができます。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-checkbox.png)

**ドロップダウン** と **ポップアップ** で複数の可能な値の中から 1 つを選択します。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-popup.png)

### 数値フィールドの式

数値フィールドの入力コントロールは、数式も受け付けます。例えば、フィールドに `2+3` を入力すると、結果の値は `5` になります。サポートされる式の詳細については、[ExpressionEvaluator](/engine/6000.0/script-reference/unity-engine/expression-evaluator.md) C# クラスのドキュメントを参照してください。

数値フィールドは、複数選択のオブジェクトを同時に編集する際に便利な特殊関数もサポートしています。

* `L(a,b)` は、`a` と `b` の間にリニアランプを発生させます。


  **Frame:**
  ![](/api/media?file=/engine/6000.0/media/images/inspector-expr-L.png)

  *X 座標に `L(-6,6)` を入力すると、選択された 10 個のカプセルは –6 と 6 の間に分布されます。*
* `R(a,b)` は、`a` と `b` の間にランダムな値を発生させます。


  **Frame:**
  ![](/api/media?file=/engine/6000.0/media/images/inspector-expr-R.png)

  *Z 座標に `R(-2,2)` を入力すると、選択されたカプセルの Z 座標は –2 と 2 の間のランダムな値に設定されます。*
* `+=`、`-=`、`*=`、`/=` 式を使用して現在の値を変更することができます。例えば、 `*=2` を入力すると、 すべてのフィールドの値が 2 倍になります。


  **Frame:**
  ![](/api/media?file=/engine/6000.0/media/images/inspector-expr-assign.png)

  *Z 座標に `/=3` を入力すると、すべての Z 座標が 3 分の 1 になります。*

数式を組み合わせることができます。例えば、`L(0,2*pi)` という式を使用すると、三角関数の引数として、0 から 2pi ラジアンの間の値の線形分布を生成することができます。 これを説明するために、以下の例では、このリニアランプ関数を正弦関数と余弦関数の引数として使用し、 選択したオブジェクトのセットを円形に配置します。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-expr-trig.png)

*X 座標に `cos(L(0,2*pi))*5`、Z 座標に `sin(L(0,2*pi))*5` を入力すると、選択した 10 個のカプセルが円形に配置されます。*

[カスタムインスペクター](/engine/6000.0/manual/working-in-unity/uitoolkits/guiscripting-guide/extending-the-editor/editor-custom-editors.md) を記述する場合、[EditorGUI.PropertyField](/engine/6000.0/script-reference/unity-editor/editor-gui/property-field.md) と [EditorGUILayout.PropertyField](/engine/6000.0/script-reference/unity-editor/editor-gui-layout/property-field.md) のコントロールはすべて、自動的に数値式に適応します。

ゲームオブジェクトやアセットの中には、より複雑なプロパティを持っているものがあり、専用の操作やエディターで編集します。このセクションの残りの部分では、これらの複雑なプロパティを設定する方法を説明します。

**ノート**: Constrain Proportions Scale は、複数選択の式をサポートしません。

### 色の値

Inspector ウインドウには、カラープロパティがスウォッチとして表示されます。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-color.png)

任意のスウォッチをクリックすると、コンテキストに応じてカラーピッカーまたは HDR カラーピッカーが開きます。例えば、Unity では、[スタンダードシェーダー](/engine/6000.0/manual/materials-and-shaders/shaders/shader-built-in-birp/birp/shader-standard-shader/shader.md)で**発光**のカラープロパティを編集する場合は、HDR カラーピッカーウィンドウが表示されます。


**Unity のカラーピッカーウィンドウ (左) と HDR カラーピッカー(右):**
![](/api/media?file=/engine/6000.0/media/images/color-pickers.png)

また、スポイトツールを使って、画面上の任意の場所から色の値を選ぶこともできます。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/inspector-property-color-eyedropper.png)

色を選ぶには、カラープロパティの横にあるスポイトボタンをクリックしてから、画面上の任意の場所をクリックします。Unity は、クリックしたピクセルの色をカラープロパティに設定します。

設定した色を再利用可能な [スウォッチライブラリ](#swatch-libraries) に保存し、プロジェクト間で共有することができます。

### グラデーションの値

グラデーションとは、色の連続的な変化を視覚的に表現したものです。空間や時間の経過とともに、ある色を別の色に徐々に混ぜていくのに便利です。

Unity では、グラデーション値は [パーティクルシステム](/engine/6000.0/manual/visual-effects/particle-systems/particle-system-modules/part-sys-color-over-life-module.md)、[ラインレンダラー](/engine/6000.0/manual/visual-effects/lines-trails-billboards/rendering-lines/class-line-renderer.md) などのいくつかのコンポーネントで使用されます。また、C# スクリプトにパブリックの [Gradient クラス](/engine/6000.0/script-reference/unity-engine/gradient.md) 変数を使用すると、Inspector にグラデーションエディターが表示されます。


**パーティクルシステムのグラデーションエディター:**
![](/api/media?file=/engine/6000.0/media/images/inspector-gradient-editor.png)

グラデーション専用エディターでは、*キー* と呼ばれるメインカラーと、その間のすべての中間色がグラデーションバーに表示されます (1)。

グラデーションバーの下部にある上向きの矢印は、カラーキーを表しています (2)。

* キー をクリックして選択します。Unity は、その色の値を **Color フィールド** に表示します。

  * カラースウォッチ (3) をクリックすると、標準の [カラーピッカー](#color-values) を使って色を編集することができます。
  * また、スポイトツール (4) を使用して、画面の任意の場所から色を選択できます。スポイトボタンをクリックしてから、画面上の任意の場所をクリックします。Unity は、クリックしたピクセルの色をカラープロパティに設定します。

* グラデーションバーの下の何もないところをクリックして、キーを加えます。

* キーをクリック＆ドラッグすると移動します。

* キーを削除するには、キーを選択し、**Ctrl/Cmd + Delete** ショートカットを使用します。

グラデーションバーの上にある下向きの矢印はアルファキー (5) を表しており、指定の点におけるグラデーションの透明度を制御します。アルファキーの追加と編集は、カラーキーと同じ方法で行います。アルファキーを選択すると、グラデーションエディターには、**Color** フィールドの代わりに **Alpha** スライダーが表示されます。

デフォルトでは、グラデーションにはアルファが 100% に設定された 2 つのキーがあり、グラデーションは完全に不透明です。キーを編集して透明度を調整したり、必要に応じてキーを追加できます。

グラデーションは、以下のような複数の色補間モードを使用できます。

* *Blend* モードは、カラーキー間を直線的に補間します。
* *Blend (Perceptual)* モードは、知覚的に均一な "[Oklab](https://bottosson.github.io/posts/oklab/)" 色空間を使用してカラーキー間を補間します。
* *Fixed* モードでは色の補間は行わず、カラーキーまたはアルファキーの値が次のキーまで使用されます。


**Blend グラデーションモード:**
![](/api/media?file=/engine/6000.0/media/images/GradientEditorModeBlend.png)


**Blend (Perceptual) グラデーションモード:**
![](/api/media?file=/engine/6000.0/media/images/GradientEditorModePerceptual.png)


**Fixed グラデーションモード:**
![](/api/media?file=/engine/6000.0/media/images/GradientEditorModeFixed.png)

### カーブ

**カーブ** は、入力 (X 軸) の値の変化に対する応答 (Y 軸) を示す線グラフです。


**Animation ウィンドウのカーブエディター:**
![](/api/media?file=/engine/6000.0/media/images/CurveEditor.png)

Unity では、特にアニメーションにおいて、様々な場面でカーブを使用しています。カーブエディターには、さまざまなオプションやツールがあります。詳しくは、[曲線の編集](/engine/6000.0/manual/animation-section/animation-overview/animation-clips/animation-editor-guide/editing-curves.md) を参照してください。

### スライダー

スライダーは、特定のリソースを視覚的に割り当てることができる特殊なコントロールです。例えば、[LOD Group コンポーネント](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/simplifying-distant-meshes-with-level-of-detail-lod/class-lodgroup.md) では、スライダーを使ってゲームオブジェクトの LOD レベル間の遷移を定義します。


**LOD Group 選択バーは、スライダーコントロールの一種です。:**
![](/api/media?file=/engine/6000.0/media/images/LODGroup-SpeedTreeModels.png)

セグメントのエッジをドラッグして、バーの各セグメントの相対的な値を調整します。一部のスライダーには、ドラッグ可能なつまみが付いています。

### 配列

スクリプトがパブリック変数として配列を公開している場合、インスペクターには、配列の項目数 (**Size**) と、配列内の値や参照の両方を編集できるコントロールが表示されます。


**Vector3 配列のプロパティを持つスクリプト:**
![](/api/media?file=/engine/6000.0/media/images/ArrayInspector.png)

**Size** の値を減じると、Unity は配列の最後尾から値を削除します。**Size** の値を増やすと、Unity は現在の最後尾の値を、追加するすべての新しい要素にコピーします。

| ヒント:                                                       |
| ---------------------------------------------------------- |
| ほとんどの値が同じである配列を設定するには、最初の要素を加えた後、サイズを変更してその値を後続の要素にコピーします。 |

## スウォッチライブラリの作成

スワッチライブラリを使用して、色、グラデーション、アニメーションカーブを再利用、保存、共有できます。スウォッチの保存と選択は、[カラーピッカー](#color-values)、[グラデーションエディター](#gradient-values)、[カーブエディター](#curves) で行うことができます。


**Unity カラーピッカーの Swatches セクション:**
![](/api/media?file=/engine/6000.0/media/images/PresetLibrary.png)

スウォッチライブラリは、ファイルに保存するスウォッチのコレクションです。スウォッチ部分には、一度に 1 つのライブラリだけが表示されます。

スウォッチを保存する方法は以下の通りです。

1. カラーピッカー、グラデーションエディター、カーブエディターのいずれかを開きます。例えば、[Hierarchy](/engine/6000.0/manual/unity-editor/using-the-editor/hierarchy.md) ウィンドウで **Main Camera** を選択します。
2. [Inspector](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-inspector.md) ウィンドウで、**Background Color** をクリックします。
3. ピッカーウィンドウで、好みの色、グラデーション、カーブを調整します。
4. **Swatches** で、輪郭のあるボックスをクリックします。
5. ビューがリストモードの場合は、任意でスウォッチの名前を入力します。


**グリッド表示中に色を保存:**
![](/api/media?file=/engine/6000.0/media/images/SwatchSaving.png)

順序を変更するには、スウォッチをドラッグアンドドロップします。スウォッチを右クリックすると、上に移動、置き換え、名前の変更、削除できます。Alt/Option を押しながらクリックしてスウォッチを削除することもできます。

**Swatches** のドロップダウンメニューを使用して以下を行えます。

* ビューを変更するには、**List** か **Grid** を選択します。リストビューには、スウォッチの名前も表示されます。
* スウォッチライブラリを選択します。
* **Create a Library** を選択すると、新しいスウォッチライブラリとその保存場所が作成されます。
* Windows エクスプローラー/Mac OS Finder で現在のライブラリを表示するには、**Reveal Current Library Location** を選択します。

デフォルトでは、Unity はユーザー設定にスウォッチライブラリを保存します。また、プロジェクトにスウォッチライブラリを保存することもできます。プロジェクトのスウォッチライブラリは *Assets* フォルダーの *Editor* フォルダーに保存されます。プロジェクトスウォッチライブラリをユーザー間で共有したり、パッケージに加えるには、それらをリビジョン管理リポジトリに追加します。

Project のスウォッチライブラリを編集するには、以下の手順を行います。

1. [Project](/engine/6000.0/manual/unity-editor/using-the-editor/project-view.md) ウィンドウで、スウォッチライブラリを選択します。
2. [Inspector](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-inspector.md) ウィンドウで **Edit** をクリックします。

***

*
