【UE5】知っておくべき!?ランタイム処理とは?【ゲーム開発】
ランタイムの意味
ランタイム(Runtime)とは、「ゲームが実行されている間」のことを指す。
つまり、ゲームをプレイしている最中(Playモード中)に動作する処理やシステムのこと。
ランタイムとエディタの違い
項目 | ランタイム | エディタ |
---|---|---|
いつ動作する? | ゲームプレイ中 | 開発中(エディタ上) |
変更可能なデータ | ゲーム内で生成・変更されるもの | アセット、ブループリントの構造など |
代表例 | プレイヤーのHP、敵の出現、エフェクトの変化 | マップの配置、マテリアルの作成、コードの編集 |
ランタイムでの動的変更の具体例
ランタイムでは、エディタで設定した値を「その場で動的に変更」できる。
例えば、次のようなことが可能になる。
変更内容 | ランタイムでの実装方法 |
---|---|
キャラクターの服の色を変更 | Create Dynamic Material Instanceでマテリアルを変更 |
敵のスポーン(出現) | Spawn Actorを使って敵を生成 |
プレイヤーのHP管理 | Set Variableを使い変数としてHPを制御 |
UIの表示/非表示 | Remove from parentやSet VisibilityでUIを変更 |
時間経過によるオブジェクトの変化 | TimelineやSet Scalar Parameter Valueを使って動的に制御 |
ランタイムに関する重要な概念
✅シリアル化(Serialized)と非シリアル化(Non-Serialized)
・シリアル化(エディタで保存):エディタ上で設定したデータ(例:レベルの配置、ブループリントのデフォルト値)
・非シリアル化(ランタイムで変更):ランタイム中に変更されたデータ(例:敵の位置、UIの状態)
📌ランタイムで変更したデータは、基本的にゲームを再起動するとリセットされる!
(変更内容を保存するには、Save Gameを使う必要がある)
✅ランタイム処理の最適化
ランタイム処理は、ゲーム中にリアルタイムで実行されるため、処理負荷を抑える工夫が必要。
・敵の出現管理はオブジェクトプールを使う(Spawn Actorの頻繁な仕様は負荷が大きい)
・動的なマテリアルは使い回す(Create Dynamic Material Instanceの乱用を避ける)
・ブループリントの処理は必要な時だけ実行(Tickの使用を最小限にする)
まとめ
項目 | 説明 |
---|---|
ランタイムの意味 | ゲームプレイ中の動作 |
エディタとの違い | ランタイムは「実行中」、エディタは「開発中」 |
主な用途 | キャラクターの変更、敵の出現、UIの更新など |
データの扱い | エディタで保存できるものとランタイム限定のものがある |
最適化のポイント | 無駄な処理を減らし、ゲームの動作を軽くする |