EXOS Haptics Library Developer Manual

 

 

 

Last updated on Jun 5, 2019

 

 

 

本マニュアルについて

EXOS Haptics Libraryを用いるとHTC Vive、Windows MR、Oculusなど異なるデバイスに対し一つのプロジェクトでVR開発を行うことができます。

またWristやGripperを接続すれば特に初期化処理を明示的に行わずとも力覚がデバイスに伝達されるようになります。

なお、デバイスを接続していなくともアプリケーションの動作に影響はありません。

 

本マニュアルでは開発環境によらない

  • 手で触れられる物体の配置方法
  • 物体を使う/掴むなどの処理を加える方法

について説明します。

 

物体に触れることができる手を表示する

新規シーンを作成してMainCameraを削除、適当な平面を配置してください。

 

EXOS_HAPTICS_LIBRARY/Assets/Standard/Prefabs/Static/[HandBuilder]を配置します。

 

設置した[HandBuilder]のSceneHandの設定開発する環境に合わせて設定してください。

カメラのホームポジションにしたい場所にEXOS_HAPTICS_LIBRARY/Assets/Standard/Prefabs/Static/[StartMarker]を配置してください。

 

上記作業によって手が空間に現れます。また、Wristが正しく接続されていれば端末とWristが通信状態となります。

 

 

位置がずれている場合、スペースキーによりStartMarkerへの位置再設定を行えます。

また下記のキー入力により移動などが可能です

 

 

 

触れることができるオブジェクトを用意する

 

手で触れやすい位置に物体が来るように適当な台を作成してください。

HandSettingについて

設定可能なHandSettingは下記の種類があります。

EHLHandSteamVR_Tools SteamVR環境にてToolsMethodによる触覚判定を行います。
EHLHandSteamVR_Skeltal_Tools SteamVR環境にてToolsMethodによる触覚判定を行います。

HTC Viveコントローラーの場合、ボタン操作に応じて指が動作します。

EHLHandSteamVR_Gripper  SteamVR環境にてEXOS Gripper DK1を動作させるためのHandです。

Vive Tracker専用となります。

EHLHand_ManusVR ManusVR環境でグローブに連動して動作します
EHLHand_LeapMotion LeapMotion環境でLeapMotionに連動して動作します
EHLHand_OculusQuest OculusQuest環境でOculusの入力に連動して動作します

触覚の付与方法について

触りやすい位置・サイズでCubeを配置します。

 

対象のオブジェクトに下記を付与してください。

  • RigidBodyコンポーネント
  • ExosInteractableRootスクリプト

以上により、対象のオブジェクトに触れた際にWristにフィードバックが発生するようになります。

 

 

 

オブジェクトに関与する・処理を加える

オブジェクトを掴む

 

対象のオブジェクトに下記を付与してください。

  • ExosGrabbableScriptスクリプト

 

手が触れているときにGrabボタンを押すと 押している間オブジェクトを掴んだ状態になります。 

 

※ExosInteractableRootのIsStickyGrabをチェックするとトグル式になります。

 

掴んだオブジェクトの動作

Usable Scriptを付与し、掴んでる最中にUseボタンを押した際のEventを指定することができます。           

  • OnStart:Useが押された時のイベント
  • OnUpdate:Useが押されている時のイベント
  • OnEnd:Useが離された時のイベント

※DEMO/Sampleの銃の挙動などが該当します、詳しくはそちらをご確認ください。