Top > ComputerGraphics > Unity > Tips > KeepRunnningWhenUnityPlayerIsDeactive
Last-modified: Mon, 25 Feb 2013 04:02:22 JST
Counter:22608 Today:4 Yesterday:13 Online:11
このエントリーをはてなブックマークに追加

非Active時にUnityの動作を続けるように設定する

About

UnityのプロジェクトをPC向けに出力すると、標準の設定では、他のウィンドウがアクティブのときに、Unityのゲーム内タイムは停止します。すなわちゲームが一時停止し、中断され、再度Unityのウィンドウがアクティブになったときに再開されます。

所が他のアプリケーションと連動する場合などには、Unityの動作を続けておく必要があるかもしれません。そこでUnityが非アクティブ時にも動作するように設定します。内容は難しくありません。

サンプルプロジェクトと設定方法

サンプルプロジェクトの概要

実行するとすぐ分かる簡潔なものなので、サンプルプロジェクトのスクリプトについては解説しませんが、パーティクルを発生させ、時間の進行を表示するアプリケーションになっています。初期状態では、他のウィンドウをアクティブにすると動作が停止するのを確認してください。数値的にも視覚的にも停止することが分かります。

1.png

問題の解決と設定方法

 問題の解決にはプロジェクトの設定からUnityPlayerの設定を行います。アクセスする方法はいくつかあります。

  1. File > BuildSettings > Player Settings
  2. Edit > ProjectSettings > Player

 上記のいずれかの方法でUnityPlayerの設定に入ります。Inspectorビューに"Player Settings"が表示されます。

0.png

図のようにダウンロードして実行するプロジェクトの設定を行うタブを開きます。その中の設定項目"Run In Background*"へチェックを入れることで、Unityのウィンドウ(UnityPlayer)が非アクティブ時でもUnity内の時間が進むようになります。