Unity Tipsの紹介

Unity Tipsの紹介

こんにちは。エンジニアの李 東殷(イ ドンウン)です。
今回はUnityを使う時のTipsを紹介します。

Unity Tips

Editor Color Tint

UnityでPlayモードかEditorモードかを確認するには、ボタンの色(青:Playモード 白:Editorモード)を確認すればわかりますが、これだけだと小さくてちょっとわからない時もあると思いますので、よりはっきりとモードの確認ができるようにするTipを紹介します。

・Editor Color Tint 設定方法

1. Edit → Preferences 2. Colors → Playmode tint

・設定結果

Editorモード Playモード

Inspectorを2つ表示

Unityを普段使っている時はInspectorは1つしか表示されていませんが、たまに2つのオブジェクトのInspectorの値を見比べたい時があるのではないかと思います。ここではその方法を紹介します。

・Inspectorを2つ表示する方法

1. をクリック / Inspectorタブを右クリック

2. Add Tab → Inspector

3. 確認したいオブジェクトを選択し、をクリックしてロック

4. 確認したい他のオブジェクトを選択
5. 比較

・Inspectorを閉じる方法

1. をクリック / Inspectorタブを右クリック
2. Close Tabを選択

・設定結果

Playモード時の設定値を保存

UnityはPlayモードの時に変更した設定はEditorモードになると元に戻ります。Playモードでしか確認できないものは設定が戻って困る時があります。今回はPlayモードに変更した設定をEditorモードで適用するTipです。

・Playモードに変更した設定を保存する方法

1. → Copy Component 2. → Paste Component Values

Grid Snap

たまにSceneからオブジェクトを動かす時に細かい小数点ごとに動いて不便な時があります。今回はSceneで指定した単位ごとにオブジェクトを動かす機能を紹介します。

・指定された単位ごとにオブジェクトを動かす方法

Ctrlを押しながらオブジェクトを操作する

・単位を指定する方法

1. Edit → Snap Settings 2. 単位を設定

・設定結果

Align with View

Scene画面をマウス右・ホイールボタンで回転・移動してもGameの画面は変わらないです。たまにScene画面での表示をGameにも同じく適用したい時があります。その場合にScene・Game画面を比較しながら直接カメラオブジェクトを動かすよりはAlign with View機能を使ってScene画面での表示をカメラオブジェクトに適用した方が便利です。

・Scene画面での表示を指定したカメラオブジェクトに適用する方法

1. Hierarchyからカメラオブジェクトを選択
2. Ctrl + Shift + F

・設定結果

Editor全体画面

UnityにはScene, Game, Hierarchy, Project, Inspectorなど画面が多く必要です。大きいモニターやデュアルモニターなどを使うと見やすくなりますが、その環境ではない時やノートパソコンを使う時は各画面が小さくて確認しずらいです。その時に便利なTipを紹介します。

・各画面を全体画面にする方法

1. 全体画面にしたい画面を選択
2. Shift + Space
3. もう一度Shift + Spaceすると元に戻る

・設定結果

Inspector上の配列にまとめて追加

例えば、GameObjectの配列を宣言してInspectorに表示しました。その配列の中身を設定する時にSizeを決めて1個1個オブジェクトを入れていますか?実は複数のオブジェクトを同時に選択して入れることもできます。

複数のオブジェクトを同時に選択して入れることでSizeも自動に設定されます。

・設定結果

Range Attribute

普通にfloatをInspectorに表示されるように宣言すると入力欄が表示されます。その数値がスムーズに増加・減少した時の動作を確認するためにInspectorで名前をクリックしてマウスを右左に動かして確認すると思います。その時に最低値、最高値が設定されてないので確認しずらい時もあると思います。ここではInspector上での変数の最小値と最大値を設定するTipsを紹介します。

・Inspector上での変数の最小値と最大値を設定する方法

[Range(最小値, 最大値)]
public float 変数名;

// SerializeFieldを利用すると
[SerializeField]
[Range(最小値, 最大値)]
private float 変数名;

・設定結果

・最小値 = 0, 最大値 = 10

Class/StructをInspectorに表示

普通にClass/StructをInspectorに表示するためpublicで宣言したり、[SerializeField]を使ってもInspectorには表示されないです。今回はClass/StructをInspectorに表示して設定できるようにするTipです。

・Class/StructをInspectorに表示する方法

表示したいClass/Structの上に[System.Serializable]を書く

// 表示したいClass/Struct
[System.Serializable]
public class Cube
{
    // 変数をpublicか[SerializeField]を利用して宣言する
    [SerializeField]
    private GameObject cubeObject;
    [SerializeField]
    private float size;
};

// 表示するClass
public class CubeController
{
    [SerializeField]
    private Cube[] cubes; // 普通にCubeで宣言しても問題ないです
};

・設定結果

・配列で宣言しました

最後に

ここまでUnityを使う時に便利な9つのTipsでした。いかがでしたでしょうか?
もう知っている情報が多かったかもしれませんが、作業効率アップの一助になれば幸いです。
ありがとうございました。