OculusQuest技術

OculusQuestでゲームを作る話

未分類

ハンドトラッキングでUI操作

投稿日:2020年1月4日 更新日:

こちらを参考にRayを追加しました。ありがとうございます。

https://qiita.com/OKsaiyowa/items/5580dc23414bc3aff24e

まとめるのに時間がかかりますので、とりあえずOVRInputModule.csの一部を変更しました。

このOVRHandにはOVRHandPrefabを代入します。
右手か左手のどちらかになります。

        //追加
        public OVRHand oVRHand;

 

        virtual protected MouseState GetGazePointerData()
        {
            // Get the OVRRayPointerEventData reference
            OVRPointerEventData leftData;
            GetPointerData(kMouseLeftId, out leftData, true );
            leftData.Reset();

            //追加
            rayTransform = oVRHand.PointerPose;

 

        virtual protected PointerEventData.FramePressState GetGazeButtonState()
        {
            var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton) || oVRHand.GetFingerIsPinching(OVRHand.HandFinger.Index);
            var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton) || !oVRHand.GetFingerIsPinching(OVRHand.HandFinger.Index);

 

これで指定した方の手をピンチするとボタンを押したり、スライダーをスライドしたりできました。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

次回のキャラをどうするか

なんとか1作目をリリースできて、次をどうするか模索中です。結果的にVRoidになると思いますが、本当にVRoidは良いです。 「まさか、私を忘れていませんよね?」と声が聞こえてきます。忘れはしませんが …

no image

なんだか懐かしい気持ちになり涙が出ます

トゥーン調のテストをしています。以下リンクからダウンロードしてやってみてください。 http://hondasoft.com/download/Classmate.apk 実行しても何もイベントはあり …

no image

HMDのエミュレーション

OVRManager.csの void Awakeで初期化してるんだけど・・・ どうやらOpenVRを選んだ時だけエミュレーションできるみたい。 ということで初期化の条件をコメントアウトしたらできまし …

no image

次のアイデア

次はどんなゲームにするか、大体の構想ができました。VRに関する本を読んでいたのですが、簡単に言うと「VRは体験するもの」という事が載っていました。 そうかもしれない と単純に思いました。というのも、私 …

no image

目線

アニメーションにIKを付けて using System.Collections; using System.Collections.Generic; using UnityEngine; public …