Unityのインストールを完了して、さぁ!ゲーム開発を始めていこう。
いや、ちょっと待って!
「見慣れないボタンがたくさんある・・・」
初心者の方が最初にハードルを感じてしまう部分でもあります。
ただ、各ボタンの意味をある程度、理解しないと始まりません。
少々複雑な部分もありますので、全てを覚える必要はありません。まずは全体像を把握して、わからなくなった時や必要な時に参照して、”転ばぬ先の杖”としてご利用ください。
▼インストールがまだの方は、コチラから▼
Unityエディタの構成
まずは、Unityエディタを開きます。
▼Unityエディタを開く手順はコチラをご参照ください▼
Unityエディタはウインドウやビューから構成されています。それぞれの役割についてポイントを絞って解説していきます。
Sceneビュー
ゲームを作成する際に、各オブジェクトの配置や大きさなどを調整する画面です。ゲーム作りの大半はこのビューとのにらめっこですので、しっかり理解していきましょう。
コントロールバー
それでは、まずは全体像を確認しましょう。
それぞれの項目については、以後で解説していきます。
シーンの表示形式
よく使用するのは、この3つです。
Wireframe:ワイヤーフレームのみ表示
Shaded Wireframe:テクスチャとワイヤーフレームの両方を表示
その他については、補足として記載します。最初は、「こんなのあるんだ〜」という程度の理解で大丈夫です。
【Miscellaneous】
- Shadow Cascades:Sceneビューにライトのシャドウカスケードを表示
- Render Paths:Sceneビュー内の各オブジェクトのレンダリングパスを色で表示
- Alpha Channel:Sceneビュー内の各オブジェクトをアルファ値でレンダリング
- Overdraw:Sceneビュー内のオブジェクトが透明で描画される。オブジェクト同士の重なりの確認に便利
- Mipmaps:Sceneビュー内の各オブジェクトに追加したテクスチャのサイズの最適度を表示(赤色:大きい、青色:適切)
- Texture Streaming:どのレベルのMipmapsをメモリに読み込んでいるか表示
- Sprite Mask:マスクの輪郭のみ表示
【Deferred】
- Albedo:アルベド(外部からの反射光)を表示
- Specular:スペキュラ(鏡面からの反射光)を表示
- Smoothness:滑らかな反射光を表示
- Normal:法線を表示
【Global Illumination】
- Systems:Sceneビュー内の各オブジェクトがシステムによって再分割されて事前に演算される状況を表示
- Clustering:クラスター出力を表示
- Lit Clustering:間接光のクラスター出力を表示
- UV Charts:GI計算のために最適化されたUVレイアウトを表示
- Contributors/Receivers:グローバルイルミネーションのLight MapsやLight Probesの影響を表示
【Realtime Global Illumination】
- Albedo:GI(global illumination:広域照射)を計算するためのアルベドを表示
- Emissive:Sceneビュー内の各オブジェクトでGIを計算するために発光性のあるオブジェクトを表示
- Indirect:間接光を表示する
- Directionality:放射照度に基づいて、それに一致する方法情報を表示
【Baked Global Illumination】
- Baked Light map:ベイクされたライトマップを表示
- Directionality:ベイクGIの放射照度に基づいて、それに一致する方向情報を表示
- Shadowmask:シャドウマスクの有効化
- Albedo:GIを計算するためのアルベドを表示
- Emissive:Sceneビュー内の各オブジェクトでGIを計算するために発光性のあるオブジェクトを表示
- UV Charts:GI計算のために最適化されたUVレイアウトを表示
- Text Validity:Baked GI計算のために最適化されたテキスト情報を表示
- UV Overlap:UVの重なりを表示
- Baked Lightmap Culling:事前に計算されたLighting Cullingを表示
- Lightmap Indices:ベイクされた光誘発を表示
- Light Overlap:ライトの重なりを表示
【Material Validation】
- Validate Albedo:PBR(物理的に正しいレンダリング)のMaterial Albedo設定の妥当性を確認
- Validate Metal Specular:PBRのMaterial Metal Specular設定の妥当性を確認
2DのON/OFF
2Dをクリックすると、2Dと3Dを切り替えることができます。3Dの時のみ右側にシーンギズモというXYZ座標が出現します。
ライトのON/OFF
Sceneビュー内のオブジェクトにライトの影響を与えるかどうかを切り替えます。
音声のON/OFF
Sceneビュー上で、音声(効果音・BGMなど)を鳴らすことができます。
レンダリングのON/OFF
GUIをSceneビュー上にレンダリング(データを基に3Dオブジェクトを画面上に描き出すこと)できます。アイコンをクリックすると、設定可能なGUIが全てONになります。また、プルダウンメニューで個別に設定することも可能です。
非表示オブジェクト数
Sceneビュー上で非表示になっているオブジェクト数を表示します。
グリッド設定
SceneビューにX、Y、Z方向のグリッド線を表示することができます。グリッド線の不透明度はOpacityで調整可能です。
カスタムツール
Unityエディタの拡張機能を使って作成した操作ツールを選択して使用することができます。
Sceneカメラの設定
Sceneビューを表示するカメラを設定することができます。
表示設定
Inspectorウインドウに表示されるコンポーネントの状態を設定することができます。
検索
Sceneビュー上のオブジェクトを検索することができます。
Gameビュー
Sceneビューで配置したオブジェクトが、実際のゲーム画面ではどのように見えているかを確認することができます。
Gameビューのコントロールバー
画面切り替え
各カメラの視点に画面を切り替えることができます。
アスペクト比の設定
ゲーム実行画面の縦横比を設定できます。
スケールの設定
Gameビュー内を拡大することができます。
全画面表示
ゲームプレイ時の再生画面を全画面にするかを選択できます。
音声ミュートのON/OFF
音楽(効果音、BGM)を鳴らすかを選択できます。
ステータス表示
レンダリング統計(デバイスのメモリやレンダリングの負荷)を表示できます。
表示設定
ONにすることで、Gameビュー内にカメラやライトのアイコンが表示されます。プルダウンメニューのチェックを外すことで、Inspectorウインドウに表示されるコンポーネントの折り畳みを変更できます。
Hierarchyウインドウ
ゲームを構成するオブジェクトが配列されています。
プロジェクト作成時に自動追加される 2つのオブジェクト
- Main Camera:ゲーム世界を映し出す役割
- Directional Light:ゲームの世界を照らす役割
Lightは、目的に応じて4つ用意されています。
Point Light:全方向に同等を光を照射
Spot Light:特定の範囲に光を照射
Area Light:光源が四角形のライト(事前計算必要)
Projectウインドウ
ゲームを構成するオブジェクトに加え、音楽、グラフィック、テクスチャ、スクリプト、アニメーションなど、ゲームを構成する全ての要素が格納されます。Assetsという親フォルダの配下に各フォルダがぶら下がる構成です。外部データの挿入は、Assets配下にドラック&ドロップという簡易な操作で実現できます。
Layoutの1Column化
デフォルトでは2画面になっていると思いますが、使い易くするために、1画面に変えます。この操作はお好みで実施してください。
Inspectorウインドウ
Hierarchyウインドウで選択されたオブジェクトの属性を表示・編集するためのウインドウです。設定できる情報は、配置(位置座標や角度)の他にも、大きさや物理挙動など多岐に渡ります。これらはコンポーネントとも呼ばれます。
Consoleウインドウ
ゲーム実行時に発生したエラーや警告、ログを表示するウインドウです。
トランスフォームツール
オブジェクトの大きさ変更や移動をするツールです。
Center/Pivotボタン
親子関係にあるオブジェクトの基準点を切り替えます。
親プロジェクト選択時に、Centerを選択すると、親子関係にあるオブジェクトの中心点が基準点になります。一方、Pivotは親オブジェクトの中心が基準点になります。
Local/Globalボタン
Sceneビュー上での基準となる座標を切り替えます。GlobalはScene全体を基準とした絶対座標、Localはオブジェクト固有のローカル座標になります。
メニューボタン
コラボ
クラウドにプロジェクトデータをアップロードすることができます。チーム間でのデータ共有をする時などに使用します。
サービス
Unityサービスウインドウが表示されます。
アカウント
Unityアカウントにサインインをすることができます。
レイヤー
Sceneビュー上に表示するオブジェクトを選択することができます。
レイアウト
Unityエディタの画面レイアウトを選択することができます。
Material
Shader
オブジェクトを画面表示する時のルール
Rendering Mode
オブジェクトの透明度
- Opaque:不透明(透明部分なし)
- Cutout:一部透明(透明と不透明の領域を分けて設定が可能)
- Fade:オブジェクトをフェードイン・フェードアウトする時の透明度の表現が可能
- Transparent:プラスチックやガラスのような透明表現
Main Maps
- Albedo:物質の純粋な色。
- Metallic:物質表面の光源の反射の度合い。
- Smoothness:物質表面の光源の拡散の度合い。
- Normal Map:法線マップと呼ばれる。物質の凹凸具合を表現したい時に用いる。
- Height Map:ハイトマップと呼ばれる。Normal Mapよりさらに凹凸感を効果的に見せることができる反面、負荷が大きい表現。
- Occlusion:アンビエントオクルージョンマップと呼ばれる。物質の一部が受ける間接照明の強さを調整できます。(例:地面に入った深い割れ目)
- Detail Mask:物質の特定の領域を非表示にして、その他の領域にテクスチャを適用できます。(例:唇や耳には毛穴を非表示)
Emission
物質自身の発光有無とその色や強さの設定ができます。
Tiling
画像のループ回数です。広大な面を表現時に、画像を繰り返し繋げることで、単に画像を拡大した時に比べて、綺麗に表現することができます。(例:[X:3、Y:3]では、横縦に3×3の9枚の画像を表示)
Offset
画像をずらす設定です。(例:[X:0.5、Y:0]では画像を横方向に半分だけずらす)
以上です。
Physical Material
オブジェクト同士が接触した際の物理挙動(摩擦や反発)を設定するコンポーネントです。
- Dynamic Friction
動いている状態のオブジェクトの摩擦係数。
設定範囲は「0〜1」。「0」全く摩擦がない状態。「1」摩擦が強い状態。 - Static Friction
静止した状態のオブジェクトの摩擦係数。
設定範囲は「0〜1」。「0」全く摩擦がない状態。「1」摩擦が強い状態。 - Bounciness
衝突時のオブジェクトの反発係数。
設定範囲は「0〜1」。「0」全く跳ねない状態。「1」衝突した力そのまま跳ねる状態。 - Friction Combine
接触時のオブジェクト間の摩擦係数の計算方法。 - Bounce Combine
衝突時のオブジェクト間の反発係数の計算方法。
Combineの詳細
- Average
オブジェクト間の係数の平均値を適用。 - Multiply
オブジェクト間の係数を掛けた値を適用。 - Minimum
オブジェクト間で係数の小さい方の値を適用。 - Maximum
オブジェクト間で係数の大きい方の値を適用。
UI
Hierarchyウインドウ下の[+]から設定可能なUIオブジェクト一覧をご紹介します。
- Text:文字を表示
- Text – TextMeshPro:文字(Textより明瞭)を表示(文字にライトを当てることも可)
- Image:画像(スプライト)を表示
- Raw Image:画像(テクスチャ)を表示
- Button:ボタンを表示
- Button – TextMeshPro:ボタン(Buttonより明瞭)を表示
- Toggle:トグルボタン(選択肢)を表示
- Slider:スライダー(値の調整)を表示
- Scrollbar:スクロールバーを表示
- Dropdown:ドロップダウンリストを表示
- Dropdown – TextMeshPro:ドロップダウンリスト(Dropdownより明瞭)を表示
- Input Field:テキスト入力欄を表示
- Input Field – TextMeshProテキスト入力欄(Input Fieldより明瞭)を表示
- Canvas:UIオブジェクトを配置
- Panel:画面全体に画像を配置
- Scroll View:表示範囲の指定
- Event System:イベント(Scriptなど)を管理
Canvasで選択できるモードについてご紹介します。
Rect Transform:UIオブジェクトの位置や角度、大きさを管理
- Pos X Pos Y Pos Z:UIオブジェクトの位置
- Width:横の大きさ
- Height:縦の大きさ
Anchors(Min/Max):Canvas上の配置基準(0〜1)。デバイスのアスペクト比毎の基準。
Pivot:位置や大きさの基準点
Rotation:角度
Scale:大きさ(WidthとHeightの大きさに対する比率)
Render Mode
- Screen Space – Overlay:画面の最前面にUI表示
Pixel Perfect:UIを明瞭に映す
Sort Order:Canvasのレイヤー順序(大きい値が前面)
Target Display:Gameビュー内の描画するカメラを切り替える
Additional Shader Channels:シェダーチャンネル追加
Screen Space – Camera:UI専用のカメラの設定を追加
Pixel Perfect:UIを明瞭に映す
Render Camera:UI用カメラの設定
Plane Distance:Canvasとカメラの距離
Sorting Layer:複数のCanvasをグループ毎に分ける
Order in Layer:レイヤー順序(大きい値が前面)
Additional Shader Channels:シェダーチャンネル追加
World Space:Canvasの位置や大きさを自由に設定
Event Camera:UIにイベントを追加する際のカメラ(ボタンなど)
Sorting Layer:複数のCanvasをグループ毎に分ける
Order in Layer:レイヤー順序(大きい値が前面)
Additional Shader Channel:シェダーチャンネル追加
Canvas Scaler:Canvasに追加されるUIオブジェクトのサイズ調整を行うコンポーネントUI Scale Mode:実行環境に合わせてUIオブジェクトの大きさ調整
- Constant Pixel Size:デバイス側の解像度やアスペクト比に影響を受けない設定
Scale Factor:キャンバスを拡大・縮小する場合の割合
Reference Pixels Per Unit:Scale「1」を何ピクセルで表現するかの設定
Scale With Screen Size:スクリーンサイズを基準に自動でUIオブジェクトの拡大・縮小を調整
Reference Resolution:UIが表示されているディスプレイの想定解像度。実際の表示ディスプレイの解像度がこの想定解像度より高い場合はUIは大きくなり、低い場合はUIは小さくなる
Screen Match Mode:アスペクト比がReference Resolutionと合わない場合の調整
Match:Reference Resolutionとアスペクト比が合わない場合、Reference Resolutionのアスペクト比に、Widthは横幅、Heightは高さどちらを優先して調整するかの設定
Reference Pixels Per Unit:1ユニットを何ピクセルで表示するかの設定
Constant Physical Size:mm(ミリメートル)やinch(インチ)などを基準にしてUIオブジェクトのサイズを調整
Physical Unit:mm(ミリメートル)やinch(インチ)などの長さの単位
Fallback Screen DPI:Dots Per inch(ドット密度)の推測に使用
Default Sprite DPI:スプライトの1inch当たりのピクセル数
Reference Pixels Per Unit:1ユニットをいくつのピクセル数で表示するか。
最後に
これで、一通りのボタンの意味は理解できたと思います。
完全に覚えていなくても、使いながら少しずつ復習していきましょう。まずは、実際に作りながら使っていくことが上達の近道です。
次回は、オブジェクトの操作方法について、学んでいきましょう!
では、また〜!