Moverio Basic Function SDK
Unityプラグインデベロッパーズガイド
このガイドでは、開発環境をセットアップしてMoverio Basic Function UnityPluginのサンプルを試す方法を説明します。
設定 | 値 |
---|---|
Player Settings > Other Settings > Package Name |
Javaパッケージ名形式を使用して一意のアプリIDを作成します。 たとえば、com.example.helloMoverio |
Player Settings > Other Settings > Minimum API Level | Android 7.0 ‘Nougat’(APIレベル24)以上 |
using MoverioControllerFunctionUnityPlugin; を記載します。
cs using MoverioControllerFunctionUnityPlugin;
Player Settings > Other Settings > Minimum API LevelをAndroid 9.0 ‘Nougat’(APIレベル28)以上に設定します。
Moverioディスプレイの明るさや2D/3D表示モードの切り替えなどを制御することができます。
機能 | 内容 |
---|---|
ディスプレイ輝度制御 | ディスプレイ輝度の取得/設定 |
輝度調整モード制御 | 輝度調整モードの取得/設定 |
ディスプレイ表示モード制御 | ディスプレイ表示モード(2Dまたは3D)の取得/設定 |
ディスプレイ表示状態制御 | ディスプレイ表示状態の取得/設定 |
ディスプレイの仮想的な表示距離の制御 | ディスプレイの仮想的な表示距離の調整値の取得/設定 |
ディスプレイの仮想的な表示距離の最小調整値取得 | 設定可能な最小調整値の取得 |
ディスプレイの仮想的な表示距離の最大調整値取得 | 設定可能な最大調整値の取得 |
再接続 | Moverioの再接続 |
上記機能はサンプルシーンのDisplayControlで実装しています
ラベル | 機能 |
---|---|
Brightness | ディスプレイ輝度制御 |
Brightness Mode | 輝度調整モード制御 |
Display Mode | ディスプレイ表示モード制御 |
Display State | ディスプレイ表示状態制御 |
Screen Horizontal Shift Step | ディスプレイの仮想的な表示距離の制御 |
Screen Horizontal Shift Step Min | ディスプレイの仮想的な表示距離の最小調整値取得 |
Screen Horizontal Shift Step Max | ディスプレイの仮想的な表示距離の最大調整値取得 |
Reconnect | 再接続 |
機能の詳しい内容はMoverio Basic Function SDKのデベロッパーズガイドを参照してください。
Unityアプリでディスプレイ制御をする方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioDisplayをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加する
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する
using MoverioBasicFunctionUnityPlugin;
関数を呼び出す
MoverioDisplay.GetBrightnessのように使用したいAPIを記載します
各機能の記載方法は下記のスクリプトを参照してください。
ラベル |
スクリプト |
---|---|
Brightness |
GetBrighnessController.cs |
Brightness Mode |
GetBrighnessModeController.cs |
Display Mode |
GetDisplayModeController.cs |
Display State |
GetDisplayStateController.cs |
Screen Horizontal Shift Step |
GetScreenHorizontalShiftStepController.cs |
Screen Horizontal Shift Step Max |
GetScreenHorizontalShiftStepMaxController.cs |
Screen Horizontal Shift Step Min |
GetScreenHorizontalShiftStepMinController.cs |
スクリプトをGameObjectにアタッチする
APIの仕様についてはAPIリファレンスを参照してください。
Moverioに搭載されているカメラを制御することができます。
機能 | 内容 |
---|---|
静止画撮影 | 静止画の撮影 |
動画撮影 | 動画の撮影 |
プレビュー表示 | プレビューの表示 |
映像データ取得 | 映像データの取得 |
明るさ制御 | 明るさの取得/設定 |
最小明るさ取得 | 最大明るさの取得 |
最大明るさ取得 | 最小明るさの取得 |
ホワイトバランスモード制御 | ホワイトバランスモードの取得/設定 |
ゲイン制御 | ゲインの取得/設定 |
最大ゲイン取得 | 最大ゲインの取得 |
最小ゲイン取得 | 最小ゲインの取得 |
フォーカス調整制御 | フォーカス調整の取得/設定 |
最大フォーカス調整取得 | 最大フォーカス調整の取得 |
最小フォーカス調整取得 | 最小フォーカス調整の取得 |
露出補正モード制御 | 露出補正モードの取得/設定 |
手動露出補正ステップ制御 | 手動露出補正ステップの取得/設定 |
最小手動露出補正ステップ取得 | 最小手動露出補正ステップの取得 |
最大手動露出補正ステップ取得 | 最大手動露出補正ステップの取得 |
フォーカス調整モード制御 | フォーカス調整モードの取得/設定 |
解像度制御 | 解像度の取得/設定 |
電力線周波数制御 | 電力線周波数の取得/設定 |
フレームレート制御 | フレームレートの取得/設定 |
インジケーターモード制御 | インジケーターモードの取得/設定 |
再接続 | Moverioの再接続 |
上記機能はサンプルシーンのCameraControlで実装しています。
ラベル | 機能 |
---|---|
Take picture | 静止画撮影 |
Start/Stop record | 動画撮影 |
Brightness | 明るさ制御 |
Brightness Min | 最小明るさ取得 |
Brightness Max | 最大明るさ取得 |
White balance mode | ホワイトバランスモード制御 |
Gain | ゲイン制御 |
Gain Min | 最小ゲイン取得 |
Gain Max | 最大ゲイン取得 |
Focus distance | フォーカス調整制御 |
Focus distance Min | 最小フォーカス調整取得 |
Focus distance Max | 最大フォーカス調整取得 |
Exposure compensation mode | 露出補正モード制御 |
Exposure compensation step | 手動露出補正ステップ制御 |
Exposure compensation step Min | 最小手動露出補正ステップ取得 |
Exposure compensation step Max | 最大手動露出補正ステップ取得 |
Focus mode | フォーカス調整モード制御 |
Resolution | 解像度制御 |
Power line frequency | 電力線周波数制御 |
Farame rate | フレームレート制御 |
Indicator mode | インジケーターモード制御 |
Reconnect | 再接続 |
機能の詳しい内容はMoverio Basic Function SDKのデベロッパーズガイドを参照してください。
Unityアプリでカメラ制御をする方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioCameraをヒエラルキーウィンドウにドラッグ&ドロップします
Render Textureを作成します
ヒエラルキーウィンドウのMoverioCameraをクリックします
MoverioCameraのインスペクターにあるCamera Preview Render Textureに3.で作成したRender Textureをドラッグ&ドロップします
Raw Imageを作成します
6.で作成したRaw ImageのインスペクターにあるRaw Image (Script)のTextureに3.で作成したRender Textureをドラッグ&ドロップします
カメラ映像データを取得方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioCameraをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
カメラ映像データを取得するファンクションを作成します
public void OnCaptureData(byte[] data)
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioCameraをクリックします
MoverioCameraのインスペクターにあるMoverio Camera (Script)のOn Capture Dataの「+」をクリックしイベントを追加します
イベントに、ヒエラルキーウィンドウにある5.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Capture Dataのイベント通知を受けるファンクションを選択します
APIの仕様についてはAPIリファレンスを参照してください。
静止画の撮影方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioCameraをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加します
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する
using MoverioBasicFunctionUnityPlugin;
関数を呼び出します
MoverioCamera.TakePictureのようにAPIを記載します
各機能の記載方法は下記のスクリプトを参照してください。
ラベル |
スクリプト |
---|---|
Take picture |
TakePictureController.cs |
静止画撮影の完了通知を受けるファンクションを作成します
public void OnPictureCompleted()
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioCameraをクリックします
MoverioCameraのインスペクターにあるMoverio Camera (Script)のOn Picture Completedの「+」をクリックしイベントを追加します
イベントに、ヒエラルキーウィンドウにある7.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Picture Completedのイベント通知を受けるファンクションを選択します
APIの仕様についてはAPIリファレンスを参照してください。
動画の撮影方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioCameraをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加します
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する
using MoverioBasicFunctionUnityPlugin;
関数を呼び出します
MoverioCamera.StartRecord、MoverioCamera.StopRecordのようにAPIを記載します
各機能の記載方法は下記のスクリプトを参照してください。
ラベル |
スクリプト |
---|---|
Start record |
VideoRecordController.cs |
Stop record |
VideoRecordController.cs |
動画撮影の開始と完了の通知を受けるファンクションを作成します
public void OnRecordStarted()
{
}
public void OnRecordStopped()
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioCameraをクリックします
MoverioCameraのインスペクターにあるMoverio Camera (Script)のOn Rcord StartedとOn Record Stoppedの「+」をクリックしイベントを追加します
各イベントに、ヒエラルキーウィンドウにある7.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Rcord StartedとOn Record Stoppedのイベント通知を受けるファンクションを選択します
APIの仕様についてはAPIリファレンスを参照してください。
カメラプロパティを変更する方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioCameraをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加します
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する
using MoverioBasicFunctionUnityPlugin;
関数を呼び出します
MoverioCamera.GetPropertyでMoverioCamera.CameraPropertyを取得します
設定の変更をしたいプロパティを記載します
各機能の記載方法は下記のスクリプトを参照してください。
ラベル | スクリプト |
---|---|
Brightness | SetPropertyController.cs |
White balance mode | SetPropertyController.cs |
Gain | SetPropertyController.cs |
Focus distance | SetPropertyController.cs |
Exposure compensation mode | SetPropertyController.cs |
Exposure compensation step | SetPropertyController.cs |
Focus mode | SetPropertyController.cs |
Resolution | SetPropertyController.cs |
Power line frequency | SetPropertyController.cs |
Farame rate | SetPropertyController.cs |
Indicator mode | SetPropertyController.cs |
MoverioCamera.SetPropertyで設定の変更をしたMoverioCamera.CameraPropertyを設定します
カメラプロパティ設定完了の通知を受けるファンクションを作成します
public void OnSetPropertyCompleted(bool result)
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioCameraをクリックします
MoverioCameraのインスペクターにあるMoverio Camera (Script)のOn Set Property Completedの「+」をクリックしイベントを追加します
各イベントに、ヒエラルキーウィンドウにある7.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Set Property Completedのイベント通知を受けるファンクションを選択します
APIの仕様についてはAPIリファレンスを参照してください。
Moverioヘッドセットに搭載されているセンサーのデータを取得することができます。
機能 | 内容 |
---|---|
センサー値取得 | センサーの値を取得 |
センサー精度取得 | センサーの精度を取得 |
再接続 | Moverioの再接続 |
上記機能はサンプルシーンのSensorControl/SensorControlRotation/SensorControlHeadset/SensorControlUncalibratedで実装しています
ラベル | シーン |
---|---|
Accelerometer | SensorControl |
Magnetic field | SensorControl |
Gyroscope | SensorControl |
Ambient light | SensorControl |
Gravity | SensorControl |
Linear accelerometer | SensorControl |
Rotation vector | SensorControlRotation |
Game Rotation vector | SensorControlRotation |
Headset Tap Detect | SensorControlHeadset |
Headset Motion Detect | SensorControlHeadset |
Headset Stationary Detect | SensorControlHeadset |
Uncalibrated Accelerometer | SensorControlUncalibrated |
Uncalibrated Magnetic field | SensorControlUncalibrated |
Uncalibrated Gyroscope | SensorControlUncalibrated |
機能の詳しい内容はMoverio Basic Function SDKのデベロッパーズガイドを参照してください。
Unityアプリでセンサー制御をする方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioInputをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加する
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する。
using MoverioBasicFunctionUnityPlugin;
関数を呼び出す
MoverioInput.GetAccAccuracyのように使用したいAPIを記載します。
各機能の記載方法は下記のスクリプトを参照してください。
ラベル | スクリプト |
---|---|
Accelerometer | AccelerometerController.cs |
Magnetic field | MagneticFieldController.cs |
Gyroscope | GyroscopeController.cs |
Ambient light | LightController.cs |
Gravity | GravityController.cs |
Linear accelerometer | LinearAccelerometerController.cs |
Rotation vector | RotationVectorController.cs |
Game Rotation vector | GameRotationVectorController.cs |
Uncalibrated Accelerometer | AccelerometerUncalibratedController.cs |
Uncalibrated Magnetic field | MagneticFieldUncalibratedController.cs |
Uncalibrated Gyroscope | GyroscopeUncalibratedController.cs |
スクリプトをGameObjectにアタッチする
APIの仕様についてはAPIリファレンスを参照してください。
Headset Detectの取得方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioInputをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加します
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin.Type; と記載する
using MoverioBasicFunctionUnityPlugin.Type;
Headset Detectの通知を受けるファンクションを作成します
public void OnHeadsetTapDetect(SensorDataAccuracy accuracy)
{
}
public void OnHeadsetMotionDetect(SensorDataAccuracy accuracy)
{
}
public void OnHeadsetStationayDetect(SensorDataAccuracy accuracy)
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioInputをクリックします
MoverioInputのインスペクターにあるMoverio Input (Script)のOn Headset Tap DetectとOn Headset Motion DetectとOn Headset Stationay Detectの「+」をクリックしイベントを追加します
各イベントに、ヒエラルキーウィンドウにある6.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Rcord StartedとOn Record Stoppedのイベント通知を受けるファンクションを選択します
APIの仕様についてはAPIリファレンスを参照してください。
Moverioに接続されたイヤホンの音量を調整することができます。
機能 | 内容 |
---|---|
音量制御 | イヤホンの音量の取得/設定 |
最小音量取得 | 設定可能な最小音量の取得 |
最大音量取得 | 設定可能な最大音量の取得 |
最大音量上限モード設定 | イヤホン出力の最大音量の上限モードの設定 |
デバイスモード制御 | オーディオ入出力デバイスモードの取得/設定 |
ゲイン調整ステップ制御 | ビルトインスピーカーのゲイン調整ステップの取得/設定 |
最小ゲイン調整ステップ取得 | ビルトインスピーカーの最小ゲイン調整ステップの取得 |
最大ゲイン調整ステップ取得 | ビルトインスピーカーの最大ゲイン調整ステップの取得 |
再接続 | Moverioの再接続 |
上記機能はサンプルシーンのAudioControlで実装しています
ラベル | 機能 |
---|---|
Volume | 音量制御 |
Volume Min | 最小音量取得 |
Volume Max | 最大音量取得 |
Volume Limit Mode | 最大音量上限モード設定 |
Device Mode | デバイスモード制御 |
Gain Step | ゲイン調整ステップ制御 |
Gain Step Min | 最小ゲイン調整ステップ取得 |
Gain Step Max | 最大ゲイン調整ステップ取得 |
Reconnect | 再接続 |
機能の詳しい内容はMoverio Basic Function SDKのデベロッパーズガイドを参照してください。
Unityアプリでオーディオ制御をする方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioAudioをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加する
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する。
using MoverioBasicFunctionUnityPlugin;
関数を呼び出す
MoverioAudio.GetVolumeのように使用したいAPIを記載します。
各機能の記載方法は下記のスクリプトを参照してください。
ラベル | スクリプト |
---|---|
Volume | GetVolumeController.cs SetVolumeController.cs |
Volume Min | VolumeMinController.cs |
Volume Max | VolumeMaxController.cs |
Volume Limit Mode | VolumeLimitModeController.cs |
Device Mode | GetDeviceModeController.cs SetDeviceModeController.cs |
Gain Step | GetGainStepController.cs SetGainStepController.cs |
Gain Step Min | GainStepMinController.cs |
Gain Step Max | GainStepMaxController.cs |
スクリプトをGameObjectにアタッチする
APIの仕様についてはAPIリファレンスを参照してください。
Moverioに搭載されている各種デバイスの温度状態やシステム状態などを管理することができます。
機能 | 内容 |
---|---|
ヘッドセットシステム状態通知 | ヘッドセットの接続/切断の通知 |
ヘッドセットシリアル番号取得 | ヘッドセットのシリアル番号の取得 |
製品名取得 | ヘッドセット製品名称の取得 |
再接続 | Moverioの再接続 |
上記機能はサンプルシーンのDeviceControlで実装しています
ラベル | 機能 |
---|---|
Headset attached and detached | ヘッドセットシステム状態通知 |
Headset serial number | ヘッドセットシリアル番号取得 |
Headset product name | 製品名取得 |
Reconnect | 再接続 |
機能の詳しい内容はMoverio Basic Function SDKのデベロッパーズガイドを参照してください。
Unityアプリでデバイス状態管理をする方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioInfoをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
usingを追加します
3で作成したスクリプトを開き、using MoverioBasicFunctionUnityPlugin; と記載する
using MoverioBasicFunctionUnityPlugin;
関数を呼び出します
MoverioInfo.GetHeadsetSerialNumberのように使用したいAPIを記載します
各機能の記載方法は下記のスクリプトを参照してください。
ラベル | スクリプト |
---|---|
Headset serial number | GetSerialNumberController.cs |
Headset product name | GetProductNameController.cs |
スクリプトをGameObjectにアタッチします
APIの仕様についてはAPIリファレンスを参照してください。
Unityアプリでヘッドセットシステム状態通知を受ける方法について記載します。
Unityプロジェクトを作成し、パッケージをインポートします
作成方法はUnityプロジェクトの作成を参照
MoverioInfoをヒエラルキーウィンドウにドラッグ&ドロップします
スクリプトを作成します
ヘッドセットの接続/切断の通知を受けるファンクションを作成します
public void OnHeadsetAttached()
{
}
public void OnHeadsetDetached()
{
}
スクリプトをGameObjectにアタッチします
ヒエラルキーウィンドウのMoverioInfoをクリックします
MoverioInfoのインスペクターにあるMoverio Info (Script)のOn Headset AttachedまたはOn HeadSset Detachedの「+」をクリックしイベントを追加します
イベントに、ヒエラルキーウィンドウにある5.でスクリプトをアタッチしたGameObjectをドラッグ&ドロップします
On Headset AttachedまたはOn Headset Detachedのイベント通知を受けるファンクションを選択します