LoginSignup
3
3

More than 3 years have passed since last update.

UnityでOculus IntegrationのSampleFrameworkを使ってOculus Questのハンドトラッキングを試す (2)

Last updated at Posted at 2020-01-16

はじめに

前回は、トリガーアクションでキューブの色を変えました。
UnityでOculus IntegrationのSampleFrameworkを使ってOculus Questのハンドトラッキングを試す

今回は、SampleFrameworkのHandsを使って、ピンチ幅の取得してみます。
ついでにAll Valid Tools Tagsを変更し、それぞれどのような動きになるかも試します。

Handsで使えそうなもの

Hands.cs

表示タイプを切り替える
Hands.Instance.SwitchVisualization();

左右取得
Hands.Instance.LeftHand
Hands.Instance.RightHand

Hand.cs

Handsから左右のhandを取得し、それぞれに実行できる

ピンチ幅取得
hand.PinchStrength(OVRPlugin.HandFinger.Middle)

スケルトン表示
hand.PinchStrength(OVRPlugin.HandFinger.Middle)

ピンチ操作

MyHand.csスクリプトを作り、Handsに追加しておく

MyHand.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OculusSampleFramework;

public class MyHand : MonoBehaviour
{
    private Renderer renderer;

    void Start()
    {
        renderer = GameObject.Find("CubeButtonRay").GetComponent<Renderer>();
    }

    void Update()
    {
        if (Hands.Instance.LeftHand.PinchStrength(OVRPlugin.HandFinger.Middle) > 0.9f)
        {
            renderer.material.color = Color.black;
        }
        else if (renderer.material.color == Color.black)
        {
            renderer.material.color = Color.white;
        }
    }
}

using OculusSampleFramework で Handsが使える
中指をピンチしたらキューブの色を黒にする
離したら白にする

ダウンロード (7).gif

表示タイプを切り替えてみる

ButtonController の Interactable State Change で Hands の SwitchVisualization を呼び出す

image.png

キューブを選択したら手の表示が切り替わる

ダウンロード (6).gif

All Valid Tools Tags

前回はすべてAllにしていたので、キューブを複製し、Ray,Poke,Pinchをそれぞれ配置してみました

image.png

image.png

All

RayでもPokeでも動く

Ray

ちょっと離れないと選択できない
線が当たると吸い付くので意外と選択しやすかった

ダウンロード (4).gif

Poke

直接触ると発火する
線が当たっても吸い付かない

ダウンロード (5).gif

Pinch

どうやって動くの?

さいごに

あとは自由に作ってみよう!
ハンドトラッキングのメニュー表示をかっこよくしたい。
アバターの移動はどうやって操作しよう。
手を見失ったときの挙動を考えたい。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3