HTC Vive 交互开发——手部模型替换和抓取实现

14 篇文章 1 订阅
12 篇文章 0 订阅
手部模型替换和抓取实现

    可以在BasicVRHand.unitypackage包中中获取手部模型。


这里写图片描述

Hierarchy面板的VRTK_SDK配置


这里写图片描述

左右控制器Inspector面板设置


这里写图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VRTK;

public class HandRe : MonoBehaviour
{
    /// <summary>
    /// 手柄控制器
    /// </summary>
    public GameObject controller;
    /// <summary>
    /// 动画控制器
    /// </summary>
    private Animator ani;
    // Use this for initialization
    void Start ()
    {
        ani = GetComponent<Animator>();
        //controller.GetComponent<VRTK_InteractUse>().UseButtonPressed += Hand_UseButtonPressed;
        //controller.GetComponent<VRTK_InteractUse>().UseButtonReleased += Hand_UseButtonReleased;
        controller.GetComponent<VRTK_ControllerEvents>().TriggerAxisChanged += HandRe_TriggerAxisChanged;
    }

    private void HandRe_TriggerAxisChanged(object sender, ControllerInteractionEventArgs e)
    {
        ani.Play("grab",0,e.buttonPressure);
        ani.speed = 0;
    }

    /// <summary>
    /// trigger键松开处理函数
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Hand_UseButtonReleased(object sender, ControllerInteractionEventArgs e)
    {
        ani.SetTrigger("Release");
    }
    /// <summary>
    /// trigger按下处理函数
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Hand_UseButtonPressed(object sender, ControllerInteractionEventArgs e)
    {
        ani.SetTrigger("Grab");
    }

    // Update is called once per frame
    void Update ()
    {

    }
}
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值