プロパティとは、ゲームオブジェクトのコンポーネントやアセットに対する設定やオプションのことです。プロパティの編集は、Inspector ウィンドウ で行います。
プロパティは大きく分けて以下のように分類されます。
参照プロパティは、互換性のあるプロジェクトのアセットやシーンのゲームオブジェクトを入力として取ります。例えば、Mesh Filter コンポーネントは、Project のどこかにあるMesh アセットを参照します。
コンポーネントを作成する時、その参照プロパティは割り当てられていません。
プロパティへの参照の割り当ては、オブジェクトやアセットを参照プロパティフィールドに ドラッグアンドドロップ するか、オブジェクトピッカーウィンドウ を使って行います。
参照プロパティの中には、特定のタイプのコンポーネント (例えば、Transform ) を受け取るものがあります。これらのプロパティにゲームオブジェクトを割り当てると、Unity はゲームオブジェクト上で必要なタイプの最初のコンポーネントを探し、それを参照プロパティに割り当てます。ゲームオブジェクトに適切なタイプのコンポーネントがない場合、そのゲームオブジェクトをプロパティに割り当てることはできません。
プロパティに参照を割り当てるには、互換性のあるゲームオブジェクトやアセットを Inspector のプロパティフィールドにドラッグアンドドロップします。
オブジェクトピッカーウィンドウを使って、割り当てたい参照オブジェクトを探して選択します。
ほとんどの値のプロパティは、簡易な操作で編集します。例えば、以下のようなものです。
フィールド でテキストや数値を入力します。
プロパティフィールドに直接数値を入力したり、プロパティラベルをクリックアンドドラッグして値を増減できます。
また、一部のプロパティには、数値を調節するための スライダー があります。
チェックボックス でプロパティのオンとオフを切り替えることができます。
ドロップダウン と ポップアップ で複数の可能な値の中から 1 つを選択すします。
数値フィールドの入力コントロールは、数式も受け付けます。例えば、2+3
をフィールドに入力すると、
結果は値 5
になります。適応する式の詳細については、ExpressionEvaluator C# クラスのドキュメントを参照してください。
数値フィールドは、複数選択のオブジェクトを同時に編集する際に便利な特殊関数もサポートしています。
L(a,b)
は、a
と b
の間に線形ランプを発生指せます。L(-6,6)
を入力すると、選択された 10 個のカプセルは –6 と 6 の間に分布されます。
R(a,b)
は、a
と b
の間にランダムな値を発生させます。R(-2,2)
と入力すると、選択されたカプセルの Z 座標は –2 と 2 の間のランダムな値に設定されます。
+=
、-=
、* =
、/=
式を使用して現在の値を変更することができます。例えば、*=2
と入力すると、すべての
フィールドの値を 2 倍にします。/=3
と入力すると、すべての Z 座標が 3 分の 1 になります。
数式を組み合わせることができます。例えば、L(0,2*pi)
という式を使用すると、三角関数の引数として、0 から 2pi ラジアンの間の値の線形分布を生成することができます。
これを説明するために、下の例では、この線形ランプ関数をサイン関数とコサイン関数の引数として使用し、
選択したオブジェクトのセットを円形に配置します。
X 座標に cos(L(0,2*pi))*5
を、Z 座標に sin(L(0,2*pi))*5
を入力すると、選択した 10 個のカプセルが円形に配置されます。
カスタムインスペクター を記述する場合、EditorGUI.PropertyField と EditorGUILayout.PropertyField のすべてのコントロールは、自動的に 数値式に適応します。
ゲームオブジェクトやアセットの中には、より複雑なプロパティを持っているものがあり、専用の操作やエディターで編集します。このセクションの残りの部分では、これらの複雑なプロパティを設定する方法を説明します。
Inspector ウインドウには、カラープロパティがスウォッチとして表示されます。
任意のスウォッチをクリックすると、コンテキストに応じてカラーピッカーまたは HDR カラーピッカーが開きます。例えば、Unity では、スタンダードシェーダー で エミッション のカラープロパティを編集する場合は、HDR カラーピッカーウィンドウが表示されます。
また、スポイトツールを使って、画面上の任意の場所から色の値を選ぶこともできます。
色を選ぶには、カラープロパティの横にあるスポイトボタンをクリックしてから、画面上の任意の場所をクリックします。Unity は、クリックしたピクセルの色をカラープロパティに設定します。
設定した色を再利用可能な スウォッチライブラリ に保存し、プロジェクト間で共有することができます。
グラデーションとは、色の連続的な変化を視覚的に表現したものです。空間や時間の経過とともに、ある色を別の色に徐々に混ぜていくのに便利です。
Unity では、グラデーション値は パーティクルシステム、ラインレンダラー および他のいくつかのコンポーネントで使用されます。さらに、C# スクリプトにパブリックの Gradient クラス 変数を使用し、インスペクターにグラデーションエディターを表示します。
グラデーションエディターでは、 キー と呼ばれるメインカラーと、その間のすべての中間色がグラデーションバーに表示されます (1)。
グラデーションバーの下部にある上向きの矢印は、カラーキーを表しています (2)。
グラデーションバーの上にある下向きの矢印はアルファキー (5) を表しており、指定の点におけるグラデーションの透明度を制御します。アルファキーの追加と編集は、カラーキーと同じ方法で行います。アルファキーを選択すると、グラデーションエディターには、Color フィールドの代わりに Alpha スライダーが表示されます。
デフォルトでは、グラデーションにはアルファが 100% に設定された 2 つのキーがあり、グラデーションは完全に不透明です。キーを編集して透明度を調整したり、必要に応じてキーを追加できます。
グラデーションは、いくつかの異なる色補間モードを使用できます。
カーブ は、入力 (X 軸) の値の変化に対する応答 (Y 軸) を示す線グラフです。
Unity では、特にアニメーションにおいて、様々な場面でカーブを使用しています。カーブエディターには、さまざまなオプションやツールがあります。詳しくは、曲線の編集 を参照してください。
スライダーは、特定のリソースを視覚的に割り当てることができる特殊なコントロールです。例えば LOD Group コンポーネント では、スライダーを使ってゲームオブジェクトの LOD レベル間の遷移を定義します。
セグメントのエッジをドラッグして、バーの各セグメントの相対的な値を調整します。一部のスライダーには、ドラッグ可能なつまみが付いています。
スクリプトがパブリック変数として配列を公開している場合、インスペクターには、配列の項目数 (Size) と、配列内の値や参照の両方を編集できるコントロールが表示されます。
Size の値を減じると、Unity は配列の最後尾から値を削除します。 Size の値を増やすと、Unity は現在の最後尾の値を、追加するすべての新しい要素にコピーします。
ヒント: |
---|
ほとんどの値が同じである配列を設定するには、最初の要素を加えた後、サイズを変更してその値を後続の要素にコピーします。 |
カラー、グラデーション、アニメーションカーブの再利用、保存、共有にはスウォッチライブラリを使用します。スウォッチの保存と選択は、カラーピッカー、グラデーションエディター、カーブエディター で行うことができます。
スウォッチライブラリは、ファイルに保存するスウォッチのコレクションです。スウォッチ部分には、一度に 1 つのライブラリだけが表示されます。
スウォッチを保存する方法は以下の通りです。
順序を変更するには、スウォッチをドラッグアンドドロップします。スウォッチを右クリックすると、上に移動、置き換え、名前の変更、削除できます。Alt/Option を押しながらクリックしてスウォッチを削除することもできます。
Swatch のドロップダウンメニューを使用して以下を行えます。
デフォルトでは、Unity はユーザー設定にスウォッチライブラリを保存します。また、プロジェクトにスウォッチライブラリを保存することもできます。プロジェクトのスウォッチライブラリは Assets フォルダーの Editor フォルダーに保存されます。プロジェクトスウォッチライブラリをユーザー間で共有したり、パッケージに加えるには、それらをリビジョン管理リポジトリに追加します。
Project のスウォッチライブラリを編集するには、以下の手順を行います。