夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

UnityのSystem.InfoをHoloLensで使用する ①

本日はUnityの調査枠です。

先日、HoloLensでデバイスのバッテリー状況の取得を行いました。

この際にUnityのSystem.Infoを使用しました。

redhologerbera.hatenablog.com

これはアプリを実行しているデバイスの状況を取得することができるメソッドです。

今回はバッテリーの取得以外にどのような事ができるのか、HoloLensでどのように表示されるのかを調べていきます。

SystemInfoでは多くの関数が用意されているため数回に分けてHoloLens実機で見ていきます。

〇SystemInfo

システム情報を取得

〇batteryLevel

バイスのバッテリー残量を取得します。

f:id:Holomoto-Sumire:20210221211946j:plain

0~1で表示されるため100倍することで0~100%で値が表示できます。

〇batteryStatus

バッテリー状態を取得します。

これには充電中、充電されていない、フルチャージなどの状態を取得できます。

前述のbatteryLevelと組み合わせてある一定以下のバッテリー残量かつ、充電器に接続されていない場合充電を促すといった使用法ができます。

〇copyTextureSupport

グラフィックコピーテクスチャのサポートを表示します。 グラフィックコポーテクスチャとはあるテクスチャをピクセルデータに変換し効率的に変換するもののようです。

テクスチャ圧縮などと大きく関係しグラフィックにかかわる機能のようです。

筆者開発PCでは次の様に表示されました。

f:id:Holomoto-Sumire:20210222215655j:plain

HoloLens2実機だと次のように表示されます。

f:id:Holomoto-Sumire:20210222220240j:plain

〇deviceModel

バイスのモデル名を表示します。

HoloLensの場合次のように表示されます。

f:id:Holomoto-Sumire:20210222220639j:plain

きちんとHoloLens2と表示されました。

〇deviceName

バイス名を取得します。

ここでは筆者の名付けた名前がきちんと表示されていることが確認できました。 Photon等のマルチユーザーの場合のデフォルトのネームとして使用できそうです。

f:id:Holomoto-Sumire:20210222222036j:plain

〇deviceType

バイスのタイプを取得します。

ここで取得できるタイプとはデスクトップやモバイルやタブレットといった情報です。

〇deviceUniqueIdentifier

バイス固有のIDを取得することができます。 シリアルナンバーのような機能でしょうか? ただし、UnityのバージョンやOSのバージョンの変更によって変わってしまうため完全に一意のIDとは言えないようです。

実機で確認すると次のようになります。

f:id:Holomoto-Sumire:20210222222301j:plain

てっきりモバイルと表示されると思っていたのですが識別上はデスクトップになるようです。

〇graphicsDeviceID

グラフィックスデバイスの識別子を取得します。グラフィックカードPCIバイスIDです。

実機で確認すると次のような10桁の数字が表示されます。

f:id:Holomoto-Sumire:20210222222916j:plain

〇graphicsDeviceName

搭載されているGPUの名前を表示します。

HoloLens 2実機の場合次のように表示されました。

f:id:Holomoto-Sumire:20210222224321j:plain

HoloLens 2に搭載されているグラフィックスカードがクアルコムのAdreno(TM) 630であることがわかりました。

これはSnapdragon 845 SoCに搭載されている統合型グラフィックスカードで、ハイエンドのAndroidスマートフォンに搭載されているようです。

〇graphicsDeviceType

グラフィックボードがサポートしているグラフィックAPIを取得します。

f:id:Holomoto-Sumire:20210222224249j:plain

実機でDirect3D11が使用されていることがわかります。

本日は以上です。