本日はUnityの調査枠です。
先日、HoloLensでデバイスのバッテリー状況の取得を行いました。
この際にUnityのSystem.Infoを使用しました。
これはアプリを実行しているデバイスの状況を取得することができるメソッドです。
今回はバッテリーの取得以外にどのような事ができるのか、HoloLensでどのように表示されるのかを調べていきます。
SystemInfoでは多くの関数が用意されているため数回に分けてHoloLens実機で見ていきます。
〇SystemInfo
システム情報を取得
〇batteryLevel
デバイスのバッテリー残量を取得します。
0~1で表示されるため100倍することで0~100%で値が表示できます。
〇batteryStatus
バッテリー状態を取得します。
これには充電中、充電されていない、フルチャージなどの状態を取得できます。
前述のbatteryLevelと組み合わせてある一定以下のバッテリー残量かつ、充電器に接続されていない場合充電を促すといった使用法ができます。
〇copyTextureSupport
グラフィックコピーテクスチャのサポートを表示します。 グラフィックコポーテクスチャとはあるテクスチャをピクセルデータに変換し効率的に変換するもののようです。
テクスチャ圧縮などと大きく関係しグラフィックにかかわる機能のようです。
筆者開発PCでは次の様に表示されました。
HoloLens2実機だと次のように表示されます。
〇deviceModel
デバイスのモデル名を表示します。
HoloLensの場合次のように表示されます。
きちんとHoloLens2と表示されました。
〇deviceName
デバイス名を取得します。
ここでは筆者の名付けた名前がきちんと表示されていることが確認できました。 Photon等のマルチユーザーの場合のデフォルトのネームとして使用できそうです。
〇deviceType
デバイスのタイプを取得します。
ここで取得できるタイプとはデスクトップやモバイルやタブレットといった情報です。
〇deviceUniqueIdentifier
デバイス固有のIDを取得することができます。 シリアルナンバーのような機能でしょうか? ただし、UnityのバージョンやOSのバージョンの変更によって変わってしまうため完全に一意のIDとは言えないようです。
実機で確認すると次のようになります。
てっきりモバイルと表示されると思っていたのですが識別上はデスクトップになるようです。
〇graphicsDeviceID
グラフィックスデバイスの識別子を取得します。グラフィックカードのPCIデバイスIDです。
実機で確認すると次のような10桁の数字が表示されます。
〇graphicsDeviceName
搭載されているGPUの名前を表示します。
HoloLens 2実機の場合次のように表示されました。
HoloLens 2に搭載されているグラフィックスカードがクアルコムのAdreno(TM) 630であることがわかりました。
これはSnapdragon 845 SoCに搭載されている統合型グラフィックスカードで、ハイエンドのAndroidスマートフォンに搭載されているようです。
〇graphicsDeviceType
グラフィックボードがサポートしているグラフィックAPIを取得します。
実機でDirect3D11が使用されていることがわかります。
本日は以上です。