質問: null; } // ポーズ public static void Pause() { foreach ( var obj in targets ) { obj.OnPause(); } } // ポーズ解除 public static void Resume() { foreach ( var obj in targets ) { obj.OnResume(); } } ``` }
回答: > > > > > タイトルに書いてある通り、 ``` Time.timeScale=0 ``` これを使わずでのポーズ機能実装、エラー文の記載がない、かつ他の人のソースコードですので この点の説明は割愛します。 > > Time.timeScale=0 とすれば停止しますが、一部アニメーションは動作させたいと思います。 > > > まず、これですがtimeScale=0は時間を停止させます。 これは時間停止であって、「機能停止」ではないことに注意してください。 その上で時間に干渉しない時間取得をUnityは取得することができます。 Timeクラスを参考にしてみてください。 > > > > > > > > > timeScaleに干渉しない実装、干渉する実装でわけてやれば一部アニメーションは動作したままの実装をすることができます。 ※スクリプトにまかせた実装です。インスペクタ上のみで解決したい場合は別途別の設計が必要になることに注意してください。