ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Unity とは
Unity は Unity Technologies が開発する、世界で最も広く使われているマルチプラットフォームゲームエンジンです。2005 年に macOS 専用としてリリースされ、現在は Windows / macOS / Linux / iOS / Android / WebGL / 各種コンソール(PS5、Xbox、Switch)/ XR デバイスまで対応します。
モバイルゲーム市場では シェア 70% 以上と言われ、インディー〜中規模スタジオの定番。Pokémon GO、原神、Among Us、Hollow Knight、Cuphead 等の有名タイトルが Unity 製です。
Unity Hub とエディタ
Unity Hub は Unity エディタのバージョンを管理し、プロジェクトを起動するハブアプリです。複数の Unity バージョンを同時にインストール・切替できます。
| バージョン | 位置付け | リリース |
|---|---|---|
| Unity 2019 LTS | 古い LTS(サポート終了) | 2019 |
| Unity 2020 LTS | サポート終了 | 2020 |
| Unity 2021 LTS | サポート終了間近 | 2021 |
| Unity 2022 LTS | 長期サポート版(現在の安定版) | 2022 (LTS: 2023) |
| Unity 2023 / Unity 6 | 最新世代(2024 から Unity 6 に改名) | 2024〜 |
商用プロダクトでは LTS バージョンを選ぶのが定石です。
GameObject + Component アーキテクチャ
Unity の最重要概念。シーン内のすべての要素は GameObject という入れ物に、機能を持つ Component を組み合わせる形で表現されます。
| 要素 | 役割 |
|---|---|
| GameObject | シーンに存在する空の入れ物(位置・回転・スケールのみ持つ) |
| Transform | 全 GameObject が必ず持つ Component。位置 / 回転 / スケール |
| MeshRenderer | 見た目(メッシュ + マテリアル) |
| Collider | 衝突判定の形状(Box、Sphere、Mesh) |
| Rigidbody | 物理演算(重力・速度・力) |
| AudioSource | 音の再生 |
| Script (MonoBehaviour) | 独自のロジックを書く C# クラス |
C# スクリプトの基本
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5.0f; // Inspector で編集可
public GameObject bulletPrefab; // Prefab 参照
private Rigidbody rb;
// 初期化(オブジェクト生成時に 1 回)
void Start()
{
rb = GetComponent();
Debug.Log("Player initialized!");
}
// 毎フレーム呼ばれる
void Update()
{
// キーボード入力で移動
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
Vector3 move = new Vector3(h, 0, v) * speed * Time.deltaTime;
transform.Translate(move);
// スペースキーで弾発射
if (Input.GetKeyDown(KeyCode.Space))
{
Instantiate(bulletPrefab, transform.position, transform.rotation);
}
}
// 物理演算フレーム(一定間隔)
void FixedUpdate()
{
// 物理の処理はここに書く
}
// 衝突検知
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
Debug.Log("Hit by enemy!");
Destroy(gameObject);
}
}
}
Prefab(プレハブ)
Prefab は GameObject の再利用可能なテンプレート。一度作って、シーンに何度も配置・スクリプトから生成できます。1 つを変更すると全インスタンスに反映(バリアント機能で部分上書きも可)。
- キャラクター、敵、弾、UI 要素、ステージ部品など使い回す対象は Prefab 化
- シーンの GameObject を Project ウィンドウにドラッグ → Prefab 化
- スクリプトから
Instantiate(prefab, position, rotation)で生成
シーン
シーン (Scene) は GameObject の集合。タイトル画面、ステージ 1、ステージ 2、ゲームオーバー画面など、ゲームの画面単位です。SceneManager.LoadScene("Stage1") で切替。
物理エンジン
| Component | 意味 |
|---|---|
| Rigidbody | 3D 物理演算(重力・速度・摩擦)を有効に |
| Rigidbody2D | 2D 版 |
| Collider | 衝突判定の形状(Box / Sphere / Capsule / Mesh) |
| Collider (Is Trigger) | 衝突せず通過するが検知だけする(アイテム取得等) |
| Joint | 2 つの Rigidbody を接続(ヒンジ、バネ等) |
UI システム (uGUI)
Canvas + EventSystem の上に Image / Text / Button / Slider / Toggle 等を配置。TextMeshPro(TMP)が標準のテキスト描画。
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class UIManager : MonoBehaviour
{
public TextMeshProUGUI scoreText;
public Button startButton;
private int score = 0;
void Start()
{
startButton.onClick.AddListener(OnStartClicked);
UpdateScore(0);
}
public void UpdateScore(int delta)
{
score += delta;
scoreText.text = $"Score: {score}";
}
void OnStartClicked()
{
Debug.Log("Game start!");
}
}
ビルドターゲット
File → Build Settings で出力先プラットフォームを切替:
- Windows / macOS / Linux Standalone
- Android(APK / AAB)— Android SDK + JDK が必要
- iOS — macOS + Xcode が必須
- WebGL — ブラウザ向け(itch.io、自社サイト)
- PlayStation / Xbox / Nintendo Switch — プラットフォームホルダーの開発者登録が必要
- Meta Quest / HoloLens / VisionOS — XR ビルド
レンダリングパイプライン
| パイプライン | 用途 | 特徴 |
|---|---|---|
| Built-in | 従来型(メンテナンスモード) | 古いプロジェクト向け |
| URP (Universal RP) | モバイル / WebGL / 中程度 PC | 軽量、汎用、新規プロジェクトの標準 |
| HDRP (High Definition RP) | ハイエンド PC / コンソール | 映画品質、要求スペック高い |
Asset Store とパッケージ
Unity Asset Store はモデル・テクスチャ・スクリプト・エフェクト等の素材を売買するマーケット。Package Manager で公式パッケージ(Cinemachine、Input System、TextMeshPro 等)を導入。
料金
- Unity Personal: 年間売上 $200K 未満は無料
- Unity Pro: 年間 $2,200 / シート(売上 $200K 以上の組織は必須)
- Unity Industry: 製造業・建築向け
FAQ
Q: Unreal Engine とどちらを選ぶ?
A: Unity: モバイル、2D、中規模、C# スクリプト。Unreal: ハイエンド 3D、AAA タイトル、C++、ブループリント。学習曲線は Unity の方が緩やか。
Q: 2D ゲームに向いている?
A: 向いています。Sprite Renderer、2D Physics、Tilemap、2D Animation 等の専用機能が充実。Hollow Knight 等の有名 2D ゲームも Unity 製。
Q: C# を全く知らないが大丈夫?
A: 大丈夫。基本的なゲームロジックには C# の中級程度の知識で十分。Visual Scripting(ノードベース)も標準搭載。
Q: 2023 年の Runtime Fee 騒動はどうなった?
A: 2023 年に発表された「インストール数課金」は強い反発で撤回されました。2024 年以降は従来の年間ライセンス制に戻り、Unity Pro の値上げで対応する形になっています。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
- Unreal Engine 5 (UE5)
- Unity
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?