導入
UnityはC#でゲームやインタラクティブ作品を作る代表的なエンジンです。Unityの世界観の核心は「GameObject(入れ物)にComponent(機能)を貼り付ける」というコンポーネント指向。継承で機能を積むのではなく、部品を組み合わせて作ります。
図解
flowchart TB
GO["GameObject『プレイヤー』<br/>(それ自体は空の入れ物)"]
GO --> C1["Transform<br/>位置・回転・大きさ"]
GO --> C2["SpriteRenderer<br/>見た目"]
GO --> C3["Rigidbody<br/>物理"]
GO --> C4["PlayerController(自作スクリプト)<br/>操作ロジック"]
style GO fill:#e1f5fe
サンプル(Unity C# ― 読み物)
using UnityEngine;
// 自作の振る舞いは MonoBehaviour を継承したクラスとして書き、GameObjectに貼り付ける
public class PlayerController : MonoBehaviour
{
// Inspector(エディタのGUI)から設定できる公開フィールド
public int hp = 100;
public string playerName = "勇者";
// このコンポーネントが付いた GameObject を表すのが this.gameObject
void Start()
{
Debug.Log($"{playerName} が登場(HP: {hp})"); // Unityのコンソールに出力
}
}
- GameObjectはシーンに置く「もの」の入れ物、Componentがその機能
- 自作の振る舞いは
MonoBehaviourを継承したC#クラスで書き、GameObjectに貼り付ける(Component化) publicフィールドはUnityエディタのInspectorからGUIで設定できるDebug.Log(...)がUnityでのConsole.WriteLineに相当(Consoleウィンドウに出る)
Unityで試す
- Unity Hubで新規2Dプロジェクトを作り、空のGameObjectに上の
PlayerControllerスクリプトを貼り付ける - 再生ボタンを押し、Consoleに「勇者 が登場(HP: 100)」が出ることを確認する
- Inspectorで
playerNameを変えて再生し、出力が変わることを確かめる
まとめ
- Unityは「GameObject(入れ物)+Component(機能)」のコンポーネント指向
- 自作の振る舞いは
MonoBehaviour継承クラス publicフィールドはInspectorから設定、Debug.Logで出力
次回: スクリプトが呼ばれる順番——MonoBehaviourのライフサイクルです。