# SDKの使用方法
プロジェクト作成画面で、バーチャルリアリティテンプレートを選択してプロジェクトを作成します。
SteamVRとDivingStationのセットアップが正しく完了している場合、 VR Previewを実行することで、ハンドトラッキングができる状態になっています。
# ContactGlove API へのアクセス
ここではBlueprintからContactGlove API へアクセスする方法を説明します。
まずはPlugins/ContactGlovePlugin/Content/Blueprints/
フォルダ内にある
CGPawn
をDefault Pawn Class
に設定してください。
Project Settings
→Maps & Modes
と進み、Default Modes
のDefault Pawn Class
をCGPawn
に設定します。
# ContactGloveComponent
CGPawnはContactGloveComponent
を所有しています。
ContactGloveの各データへのアクセスはこのコンポーネントを介して行います。
(AddボタンからContactGloveComponent
を追加できます。)
例えば上の写真のような使い方をします。
左のSend Vibration
ノードで左手に0.1秒間の振動を与え、
その後右のSet Haptics
ノードで左手人差し指の触覚モジュールを作動させています。
# イベント
ContactGloveComponent
には、DivingStationからデータを受信した際やボタン入力に変化があった際に発生するイベントがいくつか含まれています。
OnControllerData
イベントは、コントローラ情報に変化があった際に呼ばれます。
ControllerDataというコントローラ情報をすべて含んだ構造体が渡されるため、Break ControllerData
を用いて分解して必要な情報を取り出します。
# アニメーション
手のビジュアライズは、CGPawner > {Left, Right}Hand > SkeletalMeshComponent > Hand_L_Skeleton_Anim
が実行しています。
このクラスはPlugins/ContactGlovePlugin/Content/Mesh/
フォルダ内にあります。
このアニメーションBlueprintを開き、AnimGraphを開くと以下のようなものが現れます。
SetFingerRotationノードでは、DivingStationから手の曲げ具合を取得し、ボーンに反映しています。 ただし、対応するボーンや最大回転量などをDetailsで指定する必要があります。
より詳細な使用方法については、ドキュメントを参照してください。