【初心者必見】Unityの基本機能と使い方を徹底解説!

ゲーム制作の基本
記事内に広告が含まれています。

Unityは世界中で広く使われているゲームエンジンで初心者でも手軽にゲーム開発を始めることができます。
本記事ではUnityの基本機能について解説し、どのように活用できるのかを説明していきます。

Unityとは?

Unityは2D・3Dゲームの開発ができるゲームエンジンで、C#を用いたプログラミングを基本とします。直感的なエディタや豊富なアセットストアが特徴です。

Unityの基本機能

Unityにはゲーム開発に役立つ多くの機能が備わっています。
以下で紹介する機能は参考書などでもよく出てくるので覚えておいてください。

ヒエラルキー(Hierarchy)

ゲーム内のオブジェクトを管理するウィンドウです。
シーンに配置したオブジェクト(プレイヤー、敵、背景など)を階層的に表示・整理できます。

インスペクター(Inspector)

選択したオブジェクトの詳細情報を確認・編集するウィンドウです。
位置、回転、スクリプトのパラメータなどを変更できます。

プロジェクト(Project)

ゲームで使用する素材(スクリプト、画像、音楽など)を管理するフォルダ構成を表示するウィンドウです。
ごちゃごちゃなりやすいので、図のようにシーン、スクリプト、インポートしたアセットなどでフォルダ分けをすると便利です。

シーンビュー(Scene View)

ゲームの作成画面をマウスで直感的に操作できるエリアです。
オブジェクトの配置や視点の変更が可能です。

ゲームビュー(Game View)

実際のプレイ画面を確認できるウィンドウです。
ゲームがどのように動作するかをチェックできます。

プレハブ(Prefab)

プレハブ化されたオブジェクトには水色の立方体のアイコンが表示されます。

ゲームオブジェクトのテンプレートを作成し、複数のシーンで再利用できる機能です。
プレハブを使うことで同じオブジェクトを簡単に複製・管理できます。
複製したオブジェクトはプレハブ自身を編集すれば、一括で適用されるので修正も楽ちんです。

コンポーネント(Component)

オブジェクトにスクリプトや物理演算、エフェクトなどの機能を追加できる仕組みです。
例えば、Rigidbodyを追加すると物理演算が適用されます。

基本的なゲームオブジェクトの操作

ゲームオブジェクトの作成

Unityでは、オブジェクト(プレイヤー、敵、背景など)をGameObjectとして扱います。
以下の方法で作成できます。

  1. Hierarchyウィンドウで右クリック
  2. Create Empty(空のオブジェクト)や3D Object → Cubeなどを選択

トランスフォームの調整

オブジェクトの位置(Position)、回転(Rotation)、サイズ(Scale)を変更するにはInspectorウィンドウのTransformコンポーネントを調整します。

C#スクリプトの基礎

Unityの動作をプログラムで制御するためにC#スクリプトを使用します。

スクリプトの作成方法

  1. Projectウィンドウで右クリックCreate → C# Scriptを選択
  2. 作成したスクリプトをダブルクリックしてVisual Studio Codeで開く
  3. MonoBehaviourを継承したクラスを作成し、Start() や Update() メソッドを記述

例:オブジェクトを移動させるスクリプト

using UnityEngine;

public class MoveObject : MonoBehaviour
{
    void Update()
    {
        transform.position += new Vector3(0.1f, 0, 0);
    }
}

このスクリプトをオブジェクトにアタッチすると、オブジェクトが右方向に移動します。

アタッチとはプロジェクトパネルにあるスクリプトをオブジェクトのインスペクタにドラッグ&ドロップすることです。

物理演算と当たり判定

ゲーム開発では、オブジェクト同士の衝突判定や重力の影響を利用することがよくあります。

Rigidbodyコンポーネント

オブジェクトに物理演算を適用するには、Rigidbodyをアタッチします。

  • Use Gravity を有効にすると重力の影響を受ける
  • Constraints を設定して動きを制限可能

コライダー(Collider)の設定

コライダーを追加することで、オブジェクト同士の衝突判定ができます。

  • 代表的なコライダー:BoxCollider、SphereCollider、CapsuleCollider
わかりづらいですが、緑色の線で囲まれた領域が当たり判定です。

衝突判定のスクリプト例

void OnCollisionEnter(Collision collision)
{
    Debug.Log("衝突しました: " + collision.gameObject.name);
}

このスクリプトをオブジェクトにアタッチすると、衝突したオブジェクトの名前がログに表示されます。

UIの基本

ゲーム内でスコアやボタンを表示するにはCanvasを使ってUIを作成します。

UIの作成手順

  1. Hierarchyウィンドウで右クリック → UIText – TextMeshProを選択
  2. Inspectorウィンドウでテキストの内容やフォントを設定
  3. スクリプトを使ってテキストを更新

TextMeshProについてはまた別の記事で詳しく紹介したいと思います。

スクリプトでUIを変更する例

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class ScoreManager : MonoBehaviour
{
    public TextMeshProUGUI scoreText;
    private int score = 0;

    void Start()
    {
        UpdateScore();
    }

    public void AddScore()
    {
        score += 10;
        UpdateScore();
    }

    void UpdateScore()
    {
        scoreText.text = "Score: " + score;
    }
}

AddScore()をボタンのイベントに設定するとクリックするたびにスコアが加算されます。

まとめ

本記事では、Unityの基本機能について解説しました。

  • ヒエラルキーやインスペクターを使ったオブジェクト管理
  • C#スクリプトによるオブジェクト操作
  • 物理演算や当たり判定の設定
  • UIの作成とスクリプトでの変更
  • プレハブを活用したオブジェクト管理

まずは、基本機能を活用して簡単なゲームを作りながらUnityに慣れていきましょう!

コメント

タイトルとURLをコピーしました