スクリプトの検査
View and edit the fields of your C# scripts in the Inspector window.
読み終わるまでの所要時間 12 分最終更新 1ヶ月前
Project ウィンドウでスクリプトアセットを選択すると、Inspector には、そのアセットが属するアセンブリの名前やコンテンツのプレビューなど、いくつかの基本情報が表示されます。
注意Inspector にはスクリプトのコンテンツが表示されますが、Inspector ウィンドウでコンテンツを編集することはできません。

スクリプトの例が表示されたスクリプト Inspector。
スクリプト Inspector には、Open と Execution Order の 2 つのボタンも表示されます。
Open は、Project ウィンドウでスクリプトをダブルクリックして、現在設定されている外部スクリプトエディターでスクリプトを開くのと同じ機能を実行します。Unity がスクリプトを開くために使う外部エディターは、Preferences ウィンドウの外部ツールセクションで設定できます。
Execution Order ボタンを押すと、Project Settings ウィンドウの Script Execution Order セクションが開き、Unity がスクリプトを実行する順序を設定できます。
Inspector ウィンドウのスクリプトコンポーネント
MonoBehaviour スクリプトはすべてコンポーネントとして使用できます。つまり、
- スクリプトをゲームオブジェクトにアタッチできます。
- スクリプトのプロパティと値は Inspector ウィンドウで編集できます。
以下のコード例では、 という public フィールドを宣言しています。このスクリプトをシーンのゲームオブジェクトに追加すると、Inspector ウィンドウに My Name というラベルのフィールドが表示されます。スクリプトで宣言された のデフォルト値が Inspector ウィンドウのデフォルト値になります。この値は、フィールドに入力して変更することができます。
myNamenoneusing UnityEngine;using System.Collections;public class MainPlayer : MonoBehaviour { public string myName = "none"; // Use this for initialization void Start () { Debug.Log("I am alive and my name is " + myName); }}
スクリプトコンポーネントをアタッチする各ゲームオブジェクトは、フィールドに一意の値を持つことができます。

Inspector ウィンドウで編集可能な public 文字列フィールド。
フィールド名は、フィールド名からラベルへの変換に記載されているルールに従って、Inspector ウィンドウのラベルに変換されます。ただし、これらの変更は単に表示上のものです。コードでは、常にフィールド名を使用する必要があります。
Inspector ウィンドウで、My Name の値を編集して Play を押すと、コンソールメッセージに入力したテキストが含まれるようになります。

Public フィールドと Private フィールド
すべての フィールドは、デフォルトで Inspector ウィンドウで編集可能です。パブリック変数が Inspector ウィンドウに表示されないようにするには、HideInInspector 属性を追加します。Inspector ウィンドウで フィールドを編集可能にするには、SerializeField 属性を追加します。
publicprivateノート: 再生モードで実行中に、エディターのスクリプトのフィールドの値を変更できます。これは停止、再起動をせずに変更の結果をすぐ確認できるので、非常に便利です。ただし、再生モードが終了すると、フィールドの値は再生モードに入る前の値にリセットされます。
オブジェクトリファレンスフィールド
boolstringintUnityEngine.Objectこれにより、独自のスクリプトコンポーネントで Unity エディターのドラッグアンドドロップシステムを使用できます。例えば、スクリプトに public フィールドを作成し、それをあるゲームオブジェクトに追加すると、別のゲームオブジェクトを Inspector ウィンドウのそのフィールドにドラッグして、そのゲームオブジェクトの Transform コンポーネントへのリファレンスを設定できます。このリファレンスには、スクリプトでランタイムにアクセスできます。
Transform例えば、この スクリプトは、あるゲームオブジェクトを別のゲームオブジェクトに追従させます。
Followusing UnityEngine;public class Follow : MonoBehaviour{ public Transform objectToFollow; public float followSpeed = 1; void Update() { // calculate the distance between this object and the target object // and move a small portion of that distance each frame: var delta = objectToFollow.position - transform.position; transform.position += delta * Time.deltaTime * followSpeed; }}
スクリプトには 型の public フィールドがあります。これは、割り当て可能なフィールドとしてエディターに表示されます。別のゲームオブジェクトを Hierarchy ウィンドウからこのフィールドにドラッグアンドドロップすると、そのゲームオブジェクトにアタッチされている Transform コンポーネントへのリファレンスが、エディターによって割り当てられます。
Transform以下のスクリーンショットでは、スクリプトはスフィアゲームオブジェクトに配置され、キューブは階層から Object To Follow フィールドにドラッグアンドドロップされています。

ゲームオブジェクトが割り当てられた public Transform フィールド。ここでは、スクリプトは (現在選択されている) スフィア上に、キューブは階層からスフィアの Object To Follow フィールド
デフォルトのオブジェクト参照
MonoBehaviour スクリプトでエディターに割り当て可能な public オブジェクトフィールドを定義する場合は、これらのフィールドのデフォルト参照を設定できます。デフォルトのリファレンスフィールドは、Project ウィンドウでスクリプトアセットを選択すると、Inspector に表示されます。

3 つの AudioClip フィールドを持つ MonoBehaviour スクリプト。これらのフィールドのデフォルト参照は未設定のまま表示されます。
上の例では、デフォルトの参照が割り当てられていない、3 つの public オーディオクリップフィールドがあります。各 AudioClip のデフォルトのリファレンスフィールドには、オーディオクリップを割り当てることができます。
デフォルトの参照を割り当てると、MonoBehaviour をゲームオブジェクトにコンポーネントとして追加したとき、またはゲームオブジェクト上の MonoBehaviour の既存のインスタンスをデフォルト値にリセットしたときに適用されます。
注意ゲームオブジェクトの MonoBehaviour インスタンスの参照とデフォルト参照の間には、継続的なリンクはありません。つまり、デフォルトの参照を変更しても、既存のゲームオブジェクトの参照は自動的に更新されません。
UnityEngine.Objectフィールド名からラベルへの変換
Unity は、一連のルールに従って、Inspector ウィンドウで C# フィールド名をラベルに変換します。例えば、上記の例の変数名は から My Name に、 から Object To Follow に変換されています。変換のルールは以下のとおりです。
myNameobjectToFollow- 先頭の文字を大文字にします
- 小文字と大文字の間にスペースを加えます
- 頭文字と次の単語の先頭にある大文字の間にスペースを加えます
- プレフィックスを削除します
m_ - プレフィックスを削除します
k - プレフィックスを削除します
_
iPadx64