MyUtils

View on GitHub

Unityについて

Unityについてまとめる

MVCモデルの置き換えにおいて、

🧠MonoBehaviour(モノビヘイビア)

MonoBehaviour(モノビヘイビア)とは、Unityのスクリプトの基本クラスであり、GameObjectに機能を追加するための土台です。UnityでC#スクリプトを書くとき、ほとんどの場合このMonoBehaviourを継承して使います。

MonoBehaviourの役割

🧩 MonoBehaviourを継承しないとどうなる?

📦ScriptableObject

📦 ScriptableObjectの使いどころ

🧩 例:ScriptableObjectでアイテムデータを定義

[CreateAssetMenu(fileName = "NewItem", menuName = "Game/Item")]
public class ItemData : ScriptableObject
{
    public string itemName;
    public int power;
    public Sprite icon;
}

このようにして作ったScriptableObjectは、Projectビューにアセットとして保存され、複数のGameObjectから参照できます。

🔍 まとめ


📦 Prefabとは?

以下に使われる。

🧱 Prefabの特徴



🧬 Unityオブジェクトのライフサイクル

  1. 生成(Instantiation)
    • Instantiate() メソッドを使って、Prefabや既存のGameObjectを複製してシーンに配置します。
    • この時点で、GameObjectはアクティブ状態でシーンに存在し、各コンポーネント(Transform, Renderer, Scriptなど)が初期化されます。
  2. Awake()
    • スクリプトがアタッチされている場合、Awake() メソッドが最初に呼ばれます。
    • 他のコンポーネントとの依存関係を設定したり、初期化処理を行うのに適しています。
    • オブジェクトがアクティブでなくても呼ばれます。
  3. OnEnable()
    • GameObjectがアクティブ状態になると呼ばれます。
    • UIの表示やイベント登録など、アクティブ時に必要な処理を記述します。
  4. Start()
    • Awakeの後、最初のフレームの前に一度だけ呼ばれます。
    • 他のオブジェクトとの連携が必要な初期化処理に適しています。
  5. Update() / FixedUpdate() / LateUpdate()
    • 毎フレーム呼ばれるメソッド。
    • ゲームロジック、物理演算、カメラ追従などをここで処理します。
  6. OnDisable()
    • GameObjectが非アクティブになると呼ばれます。
    • イベントの解除や一時停止処理などに使います。
  7. OnDestroy()
    • Destroy() メソッドでオブジェクトが破棄されるときに呼ばれます。
    • メモリ解放、イベント解除、リソースのクリーンアップなどを行います。