Version: 2021.2
言語: 日本語
Simulator ビュー
デバイスの追加

シミュレートされたクラス

Device Simulator (デバイスシミュレーター) にはシミュレートされたクラスがあり、デバイス固有の動作に反応するコードをデバイスシミュレーターでテストすることができます。

UnityEngine.Device 名前空間には、以下のシミュレートされたクラスがあります。

これらのシミュレートされたクラスは、通常の UnityEngine 名前空間のクラスと同じメンバーを持っています。それらは、通常のクラスを使用するコードベースであればどこでも使用できます。パフォーマンスへの影響はなく、リリースビルドで使用できます。

エディターでは、デバイスシミュレーターが アクティブ になっていると、シミュレートされたクラスは、シミュレートされたデバイスのプラットフォーム固有の動作を模倣します。例えば、Device.SystemInfo.operatingSystem は、シミュレートされたデバイスの Android または iOS のバージョンを返します。

ビルドされたアプリケーション、または、デバイスシミュレーターがアクティブでない場合、シミュレートされたクラスは、UnityEngine 名前空間の対応するクラスと同じ動作をします。

シミュレートされたクラスは通常のクラスと同じメンバーを持ちますが、デバイスシミュレーターはすべての動作をシミュレートしているわけではありません。Unity エディターでは、デバイスシミュレーターがシミュレートしないメンバーは、プラットフォーム依存ではない UnityEngine の同等メンバーと同じ動作になります。例えば、デバイスシミュレーターは Device.Screen.brightness をシミュレートしません。これは、このメンバーが UnityEngine.Screen.brightness と同じエディター内動作 (これは常に 1 を返します) をすることを意味します。デバイスシミュレーターがシミュレートするメンバーについては、以下の API ドキュメントを参照してください。

シミュレートされたクラスを使用するためにスクリプトを更新する

既存のコードを変換して UnityEngine.Device 名前空間のクラスを使用したい場合は、エイリアスディレクティブ を使用するのと効率的です。以下はその例です。

using Screen = UnityEngine.Device.Screen;
using Application = UnityEngine.Device.Application;
using SystemInfo = UnityEngine.Device.SystemInfo;

こうすることで、ファイル全体でどのクラスを使用するかを変更することができ、すべての API 呼び出しを変更する必要はありません。

Simulator ビュー
デバイスの追加