# SDKの使用方法

プロジェクト作成画面で、バーチャルリアリティテンプレートを選択してプロジェクトを作成します。

VR

SteamVRとDivingStationのセットアップが正しく完了している場合、 VR Previewを実行することで、ハンドトラッキングができる状態になっています。

# ContactGlove API へのアクセス

ここではBlueprintからContactGlove API へアクセスする方法を説明します。 まずはPlugins/ContactGlovePlugin/Content/Blueprints/フォルダ内にある CGPawnDefault Pawn Classに設定してください。

Project SettingsMaps & Modesと進み、Default ModesDefault Pawn ClassCGPawnに設定します。

# ContactGloveComponent

BP1

CGPawnはContactGloveComponentを所有しています。 ContactGloveの各データへのアクセスはこのコンポーネントを介して行います。 (AddボタンからContactGloveComponentを追加できます。)

BP2

例えば上の写真のような使い方をします。 左のSend Vibrationノードで左手に0.1秒間の振動を与え、 その後右のSet Hapticsノードで左手人差し指の触覚モジュールを作動させています。

# イベント

ContactGloveComponentには、DivingStationからデータを受信した際やボタン入力に変化があった際に発生するイベントがいくつか含まれています。

BP3

OnControllerDataイベントは、コントローラ情報に変化があった際に呼ばれます。

ControllerDataというコントローラ情報をすべて含んだ構造体が渡されるため、Break ControllerDataを用いて分解して必要な情報を取り出します。

# アニメーション

手のビジュアライズは、CGPawner > {Left, Right}Hand > SkeletalMeshComponent > Hand_L_Skeleton_Animが実行しています。

このクラスはPlugins/ContactGlovePlugin/Content/Mesh/フォルダ内にあります。 このアニメーションBlueprintを開き、AnimGraphを開くと以下のようなものが現れます。 anim1

SetFingerRotationノードでは、DivingStationから手の曲げ具合を取得し、ボーンに反映しています。 ただし、対応するボーンや最大回転量などをDetailsで指定する必要があります。

anim2

より詳細な使用方法については、ドキュメントを参照してください。