# SDKの使用方法 (v1.1.0より前)
WARNING
このページではv1.1.0より前のバージョンのSDKの使い方を説明しています。 v1.1.0以降のSDKを使用している場合はこちらを参照してください。
# 使用例
Assets/Sample/ フォルダ内に HowToUse_SteamVR という名前のサンプルシーンがあります。 このシーンでは、ボタン入力による振動の発生、ジョイスティックによる移動、指の曲げ具合の表示を行っています。
本ページではこのシーンを使用して、ContactGlove API の使用方法を説明します。
# ContactGlove API へのアクセス
ContactGloveManagerWithSteamVR.cs がアタッチされているオブジェクトから コンポーネントを取得することで、ContactGlove API へアクセスすることができます。
IContactGloveManager gloveManager = GetComponent<IContactGloveManager>();
サンプルシーンでは、ContactGloveManage という名前のオブジェクトに ContactGloveManagerWithSteamVR がアタッチされています。
HowToUse という名前のオブジェクトにアタッチされている HowToUse.csでは、 Start関数内で IContactGloveManager を取得しています
void Start()
{
this.cgManager = contactGloveObj.GetComponent<IContactGloveManager>();
}
このようにして取得した IContactGloveManager を通じて ContactGlove API へアクセスすることができます。
# 振動の発生
HowToUse シーンでは、キーボード入力によって振動を発生させています。
void Update()
{
if (Input.GetKeyDown(KeyCode.F))
{
cgManager.SetVibration(HandSides.Left, 0.2f, 160.0f, 0.5f);
}
if (Input.GetKeyDown(KeyCode.J))
{
cgManager.SetVibration(HandSides.Right, 0.2f, 160.0f, 0.5f);
}
}
# 指の関節の回転量の取得
float flex = cgManager.GetFingerRotationAmplitude(HandSides.Left, FingerRotationAmplitude_e.IndexDistal);
上記のコードでは、左手の人差し指の第1関節の回転量を取得しています。
# コントローラ入力
特定のコントローラの入力があった場合に、振動を発生させるコードです。
void Start()
{
this.cgManager.AddOnControllerInputHandler(HandSides.Left, ControllerBoolInputType.A, () =>
{
cgManager.SetVibration(HandSides.Left, 0.5f, 160, 0.1f);
});
}
上記のコードでは、左手のAボタンが押された時に、振動を0.1秒間発生させています。
また、コントローラの入力値を取得したい場合は、以下のようにします。
bool leftA = cgManager.GetControllerInput(HandSides.Left, ControllerBoolInputType.A);
float rightX = cgManager.GetControllerInput(HandSides.Right, ControllerFloatInputType.JoystickX);
より詳細な使用方法については、ドキュメントを参照してください。