unity xrhand 手势识别

youtube平台上的手势识别的视频教程
个人总结教程:
1,导入XRHands和XRInteractionToolkit插件(我使用Pico开发,先导入了Pico插件)
2,打包HandGestures场景
在这里插入图片描述3,新建手势形状
在这里插入图片描述
4,在VR设备里比划需要识别的手势,插件目前只支持静态手势,保持手势不动,这时观察记录UI面板上五个手指对应的值。
在这里插入图片描述
5,将记录的五根手指对应的值添加填入,越详细越准确。比如下图小手指Targets我加了两个。可以适当的移动旋转手势,设置比较合理的区间范围。
在这里插入图片描述
6,在空物体上挂StaticHandGesture脚本,对应的解释如下图
(1)插件没有手势保持事件,自己加一下,代码放在最后了
在这里插入图片描述
(2)想用Pico提供的手势模型
。将手的预制体放到此节点
。将手节点的名字按照插件手节点的名字进行重命名
。将R_Wrist节点拖到RootTransform,点击FindJoints
在这里插入图片描述

增加手势保持触发事件

using UnityEngine.Events;
using UnityEngine.UI;
using UnityEngine.XR.Hands.Gestures;

namespace UnityEngine.XR.Hands.Samples.GestureSample
{
   
    /// <summary>
    /// A gesture that detects when a hand is held in a static shape and orientation for a minimum amount of time.
    /// </summary>
    public class StaticHandGesture : MonoBehaviour
    {
   
        [SerializeField]
        [Tooltip("The hand tracking events component to subscribe to receive updated joint data to be used for gesture detection.")]
        XRHandTrackingEvents m_HandTrackingEvents;

        [SerializeField]
        [Tooltip("The hand shape or pose that must be detected for the gesture to be performed.")]
        ScriptableObject m_HandShapeOrPose;

        [SerializeField]
        [Tooltip("The target Transform to user for target conditions in the hand shape or pose.")]
        Transform m_TargetTransform;

        //[SerializeField]
        //[Tooltip("The image component that draws the background for gesture icons.")]
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐教主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值