GUISkin は、GUI に適用できる GUIStyle のコレクションです。各__コントロール__タイプには、独自のスタイル定義があります。スキンを使用すると、単独のコントロールではなく UI 全体にスタイルを適用することができます。
GUISkin を作成するには、メニューバーから Assets->Create->GUI Skin を選択します。
注: このページでは、スクリプティングのみの UI システムである IMGUI システムの一部について説明します。Unity には、完全にゲームオブジェクトベースの UI システムが用意されており、必要に応じて使用できます。ゲームオブジェクトベースの UI システムでは、ユーザーインターフェースの要素を可視のオブジェクトとしてシーンビューで設計したり、編集したりすることができます。詳細については、UI システムマニュアルを参照してください。
GUI Skin 内のプロパティはすべて、個別の GUIStyle です。スタイルの使用方法の詳細については、GUIStyle ページを参照してください。
| プロパティ: | 機能: |
|---|---|
| Font | GUI でのすべてのコントロールに使用されるグローバルフォント。 |
| Box | すべてのボックスに使用されるスタイル。 |
| ボタン | すべてのボタンに使用されるスタイル。 |
| Toggle | すべてのトグルに使用されるスタイル。 |
| ラベル | すべてのラベルに使用されるスタイル。 |
| Text Field | すべてのテキストフィールドに使用されるスタイル。 |
| Text Area | すべてのテキストエリアに使用されるスタイル。 |
| Window | すべてのウィンドウに使用されるスタイル。 |
| Horizontal Slider | すべての水平スライダーバーに使用されるスタイル。 |
| Horizontal Slider Thumb | すべての水平スライダーサムボタンに使用されるスタイル。 |
| Vertical Slider | すべての垂直スライダーバーに使用されるスタイル。 |
| Vertical Slider Thumb | すべての垂直スライダーサムボタンに使用されるスタイル。 |
| Horizontal Scrollbar | すべての水平スクロールバーに使用されるスタイル。 |
| Horizontal Scrollbar Thumb | すべての水平スクロールバーサムボタンに使用されるスタイル。 |
| Horizontal Scrollbar Left Button | すべての水平スクロールバーの左スクロールボタンに使用されるスタイル。 |
| Horizontal Scrollbar Right Button | すべての水平スクロールバーの右スクロールボタンに使用されるスタイル。 |
| Vertical Scrollbar | すべての垂直スクロールバーに使用されるスタイル。 |
| Vertical Scrollbar Thumb | すべての垂直スクロールバーサムボタンに使用されるスタイル。 |
| Vertical Scrollbar Up Button | すべての垂直スクロールバーの上スクロールボタンに使用されるスタイル。 |
| Vertical Scrollbar Down Button | すべての垂直スクロールバーの下スクロールボタンに使用されるスタイル。 |
| Custom 1–20 | すべてのコントロールに適用できる追加のカスタムスタイル。 |
| Custom Styles | すべてのコントロールに適用できる追加のカスタムスタイルの配列。 |
| 設定 | GUI 全体の追加設定。 |
| __Double Click Selects Word__ | 有効にした場合、単語をダブルクリックすると、その単語が選択されます。 |
| __Triple Click Selects Line__ | 有効にした場合、単語をトリプルクリックすると、その単語が選択されます。 |
| __Cursor Color__ | キーボードカーソルの色。 |
| __Cursor Flash Speed__ | テキストコントロール編集時に、テキストカーソルが点滅する速度。 |
| __Selection Color__ | 選択したテキストエリアの色。 |
ゲームに対して GUI 全体を作成する場合は、すべての異なるコントロールタイプに対して、多くのカスタマイズを行うことが必要であると考えられます。リアルタイム戦略ゲームやロールプレイングゲームなど、多くの異なるジャンルで、1 つ 1 つのコントロールタイプが必要になります。
個別のコントロールは特定のスタイルを使用するため、10 以上の個別のスタイルを作成し、それらすべてを手動で割り当てるのは非効率です。GUI スキンはこの問題を解決します。GUI スキンを作成することで、個別のコントロールすべてに対して、事前定義されたスタイル群を保有することになります。1 行のコードで構成されるスキンを適用すると、個別のコントロールに対してスタイルを手動で指定する必要がなくなります。
GUISkin はアセットファイルです。GUI スキンを作成するには、メニューバーから Assets->Create->GUI Skin を選択します。これにより、__Project ウィンドウ__に新しい GUISkin が配置されます。
GUISkin を作成した後、Inspector に含まれるすべてのスタイルを編集できます。例えば、Text Field のスタイルをすべての Text Field コントロールに適用できます。
スクリプトで作成する Text Field の数に関係なく、すべてがこのスタイルを使用します。もちろん、必要に応じて、1 つの Text Field のスタイルを他のものと違うものに変更することもできます。これを行う方法については後述します。
GUI に GUISkin を適用するには、コントロールにスキンを読み込み、適用する簡単なスクリプトを使用する必要があります。
// Create a public variable where we can assign the GUISkin
var customSkin : GUISkin;
// Apply the Skin in our OnGUI() function
function OnGUI () {
GUI.skin = customSkin;
// Now create any Controls you like, and they will be displayed with the custom Skin
GUILayout.Button ("I am a re-Skinned Button");
// You can change or remove the skin for some Controls but not others
GUI.skin = null;
// Any Controls created here will use the default Skin and not the custom Skin
GUILayout.Button ("This Button uses the default UnityGUI Skin");
}
同じ 2 つのコントロールを異なるスタイルで作成することが必要な場合があります。このために、新しいスキンを作成し再度割り当てるのは効率的ではありません。代わりに、スキンに__カスタム__スタイルの 1 つを使用します。カスタムスタイルの Name を入力すると、その名前を個別のコントロールの最後の引数として使用できます。
// One of the custom Styles in this Skin has the name "MyCustomControl"
var customSkin : GUISkin;
function OnGUI () {
GUI.skin = customSkin;
// We provide the name of the Style we want to use as the last argument of the Control function
GUILayout.Button ("I am a custom styled Button", "MyCustomControl");
// We can also ignore the Custom Style, and use the Skin's default Button Style
GUILayout.Button ("I am the Skin's Button Style");
}
GUIStyle の操作に関する詳細については、GUIStyle ページを参照してください。UnityGUI の使用に関する詳細については、GUI スクリプティングガイドを参照してください。
GUISkin