vive手柄按键开发说明

您所在的位置:网站首页 htc游戏手柄 vive手柄按键开发说明

vive手柄按键开发说明

2024-07-16 10:50| 来源: 网络整理| 查看: 265

如何开发一款VR游戏,实现输入交互至关重要,我们先来看看在unity中如何对vive手柄进行编程,包括对手柄圆盘的使用说法。

第一步,导入steamVR 插件和认识手柄: 这里写图片描述 如图,我们已经导入了SteamVR Plugin,下面的SteamVR绿色图标表明Htc Vive的硬件也已经准备就绪,这是SteamVR_TestThrow场景,也是我们展开分析的入手点.这个测试很简单,就是你按下Trigger的时候,手柄上会实例化一个圆球+cube的结合体,当然松开Trigger的时候这个结合体就会脱离手柄,当然,你还可以施加一个扔的动作,这样的话结合体会有一个对应的加速度。 手柄的按键说明图示: 这里写图片描述

手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮: 第一个是菜单按钮; 2,3,4,5分别对应的是Trackpad/Touchpad的上下左右,有时候对应的是XBox手柄的▲OX囗四个按钮或者摇杆; 6对应的是系统按钮/Steam; 7是Trigger/扳机,对应大多数FPS游戏里面的枪械的Shoot/Fire; 8对应的Grip/紧握在手柄的左右两侧各有一个,有时候我们用它来翻页; 9其实是Trackpad/Touchpad在Z轴的一个延伸,相当于是点击事件Click.

第二步:上代码说明如何控制:

比较难明白的就是那个圆盘键,这个键是一个以中心为(0,0)点的直角坐标系,四个端长度都是1,可接收触摸和按压两种事件,见上图,触摸touch或按压press会通过GetAxis方法返回一个坐标系中的点,可以判断你按在哪里,触发不同的事件,可以根据角度或各种方法来切分按键为n个按钮。 [代码]: 001 using UnityEngine; 002 using System.Collections; 003 //检测手柄功能的脚本 这个脚本挂到手柄上(controler(right)和controler(left))上 004 public class ButtonTouchAction : MonoBehaviour { 005 //手柄 006 SteamVR_TrackedObject trackdeObjec; 007

008 void Awake() { 009 //获取手柄上的这个组件 010 trackdeObjec = GetComponent(); 011 } 012 // Use this for initialization 013 void Start () { 014 } 015 void FixedUpdate() 016 { //获取手柄输入 017 var device = SteamVR_Controller.Input((int)trackdeObjec.index); 018 //以下是api中复制出来的按键列表 019 /* public class ButtonMask 020 { 021 public const ulong System = (1ul



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3