Unity用語集:説明でよく使う言葉について【Unityスタートガイド4-6】

目次

この記事で学べること

  • Unityで頻出する専門用語の日本語訳と意味
  • 初心者が混乱しやすい用語の実例解説
  • 用語同士の関係性と使い分け
  • 実際の開発シーンでの用語の使い方

前提知識

Unity用語集

Unityを学習していく中で、様々な専門用語が出てきます。これらの用語を理解することで、チュートリアルやドキュメントがより読みやすくなります。以下に、初心者が混乱しやすい主要な用語をまとめました。

アセット(Asset)/ リソース(Resource)

Asset(アセット)

意味: Unityプロジェクトで使用する全てのファイルやデータ

実例:

  • スクリプトファイル(.cs)
  • マテリアル(.mat)
  • テクスチャ画像(.png, .jpg)
  • 3Dモデル(.fbx)
  • オーディオファイル(.mp3, .wav)

ポイント: 「素材」や「資源」としてプロジェクトにインポートされた全てのものがアセットです。

Resource(リソース)

意味: プログラム実行時に動的に読み込まれるアセット

主な違い:

  • Asset: プロジェクト内の全ファイル
  • Resource: Resourcesフォルダ内のアセット(特殊な読み込み方法)
スライム

「Resources」という名前のフォルダが特殊な扱いを受けます。プログラムから直接ロードするときなんかに利用しますが、慣れないうちは積極利用しないことをオススメします

シーン(Scene)/ ヒエラルキー(Hierarchy)

Scene(シーン)

意味: ゲームの1画面や1ステージを構成するデータ

実例:

  • タイトル画面シーン
  • ゲームプレイシーン
  • リザルト画面シーン
  • 各ステージごとのシーン

ポイント: シーンは「部屋」のようなもので、異なるシーンを切り替えることで画面遷移を実現します。

シーンという単位はUnityの中でもかなり重要なポジション。ゲームを作るうえで、どのシーンに何が入っているかを管理することが大事になってきます。

Hierarchy(ヒエラルキー)

意味: シーン内のゲームオブジェクトの親子関係を表示するウィンドウ

実例:

Player (親)
├── Body (子)
├── Weapon (子)
└── Effects (子)

ポイント: シーンの「目次」や「家族図」のようなものです。

インスタンス(Instance)/ プレハブ(Prefab)

Instance(インスタンス)

意味: クラスやプレハブから実際に作成された実体

実例:

  • プレハブからシーンに配置した敵キャラクター
  • スクリプトのクラスから作成したオブジェクト

C# プログラムでも、クラスの実体を作るとき「インスタンス化する」などの表現をします。結構耳にする用語になります。

Prefab(プレハブ)

意味: 再利用可能なゲームオブジェクトのテンプレート

ポイント: プレハブは「設計図」、インスタンスは「設計図から作られた実物」です。

コンポーネント(Component)/ スクリプト(Script)

Component(コンポーネント)

意味: ゲームオブジェクトに機能を追加する部品

下図ではGameObjectに以下のコンポーネントが含まれています

  • Transform
  • PlayerMovement × 3つ

ワンポイントアドバイス!

コンポーネントの単位として、インスペクター内でクリックすると開閉する単位(上図だと各PlayerMovementなど)が一つのコンポーネントという風に覚えておくと便利です。

実例:

  • Transform: 位置・回転・大きさ
  • Rigidbody: 物理演算
  • Collider: 当たり判定
  • Renderer: 描画

Script(スクリプト)

意味: プログラミング言語で書かれたカスタムコンポーネント

ポイント:コンポーネントには、Unityが用意したもの(TransformやRigidbodyなど)と、自分でスクリプトを書いて作るものがあります。

ビルド(Build)/ デプロイ(Deploy)

Build(ビルド)

意味: Unityプロジェクトを実行可能なファイルに変換する処理

実例:

  • Windows用実行ファイル(.exe)
  • Mac用アプリケーション(.app)
  • Webブラウザ用のファイル(HTML+JavaScript+WebAssembly。Unity 6でのプラットフォーム名はWebで、以前はWebGLと呼ばれていました)

Deploy(デプロイ)

意味: ビルドしたゲームをユーザーに届けること

ポイント: ビルドは「料理を作る」、デプロイは「料理を届ける」です。

シリアライズ(Serialize)/ デシリアライズ(Deserialize)

Serialize(シリアライズ)

意味: オブジェクトのデータを保存可能な形式に変換すること

実例:シーンを保存すると、ゲームオブジェクトの情報がファイルに書き出されます(シリアライズ)。

セーブデータを「JSON」という形式で保存するのもシリアライズです。やり方は12-6「データを保存しよう:PlayerPrefsとJSON」で紹介します!

Deserialize(デシリアライズ)

意味: 保存されたデータをオブジェクトに戻すこと

実例:シーンを開くと、ファイルの情報からゲームオブジェクトが元どおりに作られます(デシリアライズ)。

コルーチン(Coroutine)

意味: 時間をかけて実行される処理を記述する方法

実例:

IEnumerator WaitAndPrint()
{
    Debug.Log("開始");
    yield return new WaitForSeconds(2f); // 2秒待機
    Debug.Log("終了");
}

ポイント: 通常のメソッドは一気に実行されますが、コルーチンは途中で待機できます。

動かすときは StartCoroutine(WaitAndPrint()); のように呼び出します。詳しくは6-11「時間を扱う処理:コルーチン・Invoke・一時停止」で説明しています。

イベント(Event)/ デリゲート(Delegate)

Event(イベント)

意味:「何かが起こった」ことを、ほかの処理に知らせる仕組み

実例:ボタンのInspectorにあるOn Click()の欄。ボタンが押されたら、ここに登録した処理が呼ばれます(第9章で使います)

Delegate(デリゲート)

意味:メソッド(処理)そのものを、変数のように入れておける型

ポイント:イベントに「押されたらこの処理を呼んで」と登録できるのは、デリゲートの仕組みのおかげです。最初は「処理を登録しておける箱」ぐらいの理解でOKです

レイヤー(Layer)/ タグ(Tag)

Layer(レイヤー)

意味: ゲームオブジェクトを分類するグループ(物理衝突やカメラの描画に使用)

Tag(タグ)

意味: ゲームオブジェクトを分類するためのラベル

主な違い:

  • Layer: システム的な分類(衝突判定など)
  • Tag: プログラマが自由に使う分類

メッシュ(Mesh)/ マテリアル(Material)

Mesh(メッシュ)

意味: 3Dモデルの形状データ(頂点・辺・面の集合)

Material(マテリアル)

意味: 表面の見た目を定義するデータ(色・テクスチャ・シェーダー)

実例: 同じメッシュ(球体)に異なるマテリアル(赤色・青色)を適用できます。

プロパティ(Property)/ フィールド(Field)

Property(プロパティ)

意味: 値の取得・設定を制御できるメンバー変数

Field(フィールド)

意味: 通常のメンバー変数

実例:

public int hp;                  // フィールド(Inspectorに表示される)
public int Score { get; set; }  // プロパティ(Inspectorには表示されない)

ちなみに、Inspectorの設定項目(Sprite RendererのColorなど)も「プロパティ」と呼ぶことがあります。C#のプロパティとは別の意味なので、文脈で読み分けましょう。

ネームスペース(Namespace)

意味: クラスや構造体をグループ化するための仕組み

実例:

using UnityEngine;  // UnityEngineネームスペースを使用

// UnityEngineネームスペースのGameObjectクラスを使用
GameObject obj = new GameObject();

API(Application Programming Interface)

意味: プログラム同士が連携するためのインターフェース

実例: UnityEngine.Physics.Raycast() はUnityの物理演算APIです。

用語の使い分けが重要な例

似ている用語の違い

GameObject vs Object

  • GameObject: シーンに配置されるUnity固有のオブジェクト
  • object(System.Object):C#の全クラスの基底クラス
  • UnityEngine.Object:GameObject・コンポーネント・アセットの基底クラス(DestroyやInstantiateが受け取る型)
    • Unityのスクリプトで Object と書くと、ふつうはこちらを指します

Component vs Behaviour

  • Component: 全コンポーネントの基底クラス
  • Behaviour: MonoBehaviourの基底クラス(有効/無効を制御可能)

Update vs FixedUpdate

  • Update: フレームごとに呼ばれる(画面更新に連動)
  • FixedUpdate: 固定時間間隔で呼ばれる(物理演算用)

注意点やヒント

用語は使ってみるのが一番!

この記事で用語を覚えたら、実際に使ってみてください。例えば「このアセットをシーンにインスタンス化する」とか「コンポーネントをアタッチする」など、日常的に使うように心がけましょう。

英語表記も覚えておこう

Unityのメニューや、ネットの情報の多くは英語なので、英語表記も覚えておくと便利です。例えば「GameObject」は「ゲームオブジェクト」、「Component」は「コンポーネント」など。

わからない用語が出てきたら

新しい用語が出てきたら、すぐに調べるクセをつけましょう。Unity Learnや公式ドキュメントで調べることをおすすめします。

よくある間違いと訂正

間違った使い方の例

  1. 「オブジェクト」と言っているが、実は「コンポーネント」の意味
    • ×:「Rigidbodyオブジェクトを追加」
    • ○:「Rigidbodyコンポーネントを追加」
  2. 「プレハブ」と「インスタンス」を混同
    • Projectウィンドウにある元のデータが「プレハブ」、シーンに置いたものが「インスタンス」です
    • シーンのインスタンスだけを変更しても、元のプレハブは変わりません
  3. 「スクリプト」と「コンポーネント」の関係
    • スクリプトは「ファイル」、それをゲームオブジェクトにアタッチすると「コンポーネント」として働きます
    • 「スクリプトをアタッチする」という言い方は、どちらの意味でもよく使われるのでOKです

まとめ

この記事では、Unityでよく使われる専門用語について学びました:

  • 基本用語: アセット、シーン、コンポーネントなどの基礎
  • 応用用語: プレハブ、シリアライズ、コルーチンなどの応用
  • 使い分け: 似た用語の違いと正しい使い方
  • 実践: 実際のコードやシーンでの使用例

これらの用語を理解することで、Unityの学習がよりスムーズになります。最初は全てを覚えようとせず、使っていく中で自然に覚えていくのがおすすめです。

スライム

カタカナばっかりで、頭がパンクしそう・・・

フェアリー

全部覚えなくて大丈夫!わからない言葉が出てきたら、このページに戻ってきてね

次のステップ

これで第4章はおしまいです。次の第5章では、再生モードを使ってゲームをテストする方法を、第6章ではいよいよスクリプトの書き方を学んでいきます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次