VRTKでタッチパッド入力の諸々を取得したい
公式リファレンス
vrtoolkit.readme.io

タッチパッドの角度

touchpadAngleで0~360のfloatで取れるって!
結局GetTouchpadAxisAngle()使ってた・・・

private VRTK_ControllerEvents RightController;
~~
float angle = RightController.GetTouchpadAxisAngle();
if (70 < angle && angle < 110)
{
//右に倒した
}
みたいな感じでいいのかな~
こんな地道な感じでいいのか・・・?違う気がする
タッチパッドに触れている
RightController.TouchpadAxisChanged
タッチパッドには触れているけど、倒していない
結局よくわからなかった。
TouchpadTouchEndはタッチパッドから完全に手を離したとき。
GetTouchpadAxis()はタッチパッドの触れている位置をVector2で返してくれる。

Debug.Logで見る限り数字はこんな感じかな~ちゃんと見ていないのでよくわからん!

float x = RightController.GetTouchpadAxis().x;
float y = RightController.GetTouchpadAxis().y;
if (-0.5 < x && x < 0.5 && - 0.5 < y && y < 0.5)
{
//スティックを真ん中に戻したとき
}
全体
どこか別の記事に書いたかもしれないけど、VRTKのコントローラーイベントを取得して、スクリプトを書くときは以下のようにしている。
[SerializeField, NotNull] private VRTK_ControllerEvents RightController;
private void Awake()
{
RightController.TriggerPressed += RightTriggerPressedHandler;
RightController.ButtonOnePressed += ButtonAPressedHandler;
RightController.ButtonTwoPressed += ButtonBPressedHandler;
RightController.GripPressed += RightGripPressedHandler;
LeftController.ButtonOnePressed += ButtonXPressedHandler;
LeftController.ButtonTwoPressed += ButtonYPressedHandler;
LeftController.GripPressed += LeftGripPressedHandler;
RightController.TouchpadAxisChanged += RightTouchpadAxisChangedHandler;
RightController.TouchpadTouchEnd += RightTouchpadTouchEndHandler;
}
private void RightTriggerPressedHandler(object sender, ControllerInteractionEventArgs e)
{
}