[Unity]最もシンプルなポーズ処理

無題
Pocket

ポーズ処理は、Unityでゲームを書いていると誰もが頭を抱える部分だと思います。

ネット上にもいくつか落ちていますが、あまり使い勝手の良い物がなかったので、自分で実装してみました。

ソースコード

基本的には、ftvlog様の仕組みが元になっています。

[Unity] ポーズ動作をTime.timeScale=0を使わずに実現する | ftvlog

大きな違いとして以下の点があります。

  • static関数を使っていないので、依存関係がシンプル。
  • ゲーム中での時が止まる演出など、ポーズ可能なオブジェクトの入れ子表現が出来る。
  • カメラやAudioListener等は止まらない
  • 無視するGameObjectを指定できる。
  • インスペクタからPause/Resumeを切り替えられる。

 

使い方

こんな感じでポーズさせたいオブジェクトの階層を作り、一番上のGameObjectにPausableを割り当ててやります。

無題

実行結果

ああああ

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

(Required)

Proudly powered by WordPress   Premium Style Theme by www.gopiplus.com