一、定义手柄按键API


1、InputDevices.GetDeviceAtXRNode,通过XRNode获取对应的设备;

2、XRNode是一个枚举类型,包含LeftEye、RightEye、CenterEye、Head、LeftHand、RightHand、GameController、TrackingReference、HardwareTracker;

3、TryGetFeatureValue,得到某个特性的值;

4、CommonUsages定义了用于从XR.InputDevice.TryGetFeatureValue获取输入特征的静态变量,用来指定想要获取的特性。

1

2

3

4

5

6

7

8

9

10

11

12

Vector2 vec2DAxis = Vector2.zero;

bool isGrip = false;

bool isTrigger = false;

bool isMenu = false;

bool isPrimaryButton = false;

bool isSecondButton = false;

InputDevices.GetDeviceAtXRNode(XRNode.LeftHand).TryGetFeatureValue(CommonUsages.primary2DAxis, out vec2DAxis);

InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.gripButton, out isGrip);

InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.triggerButton, out isTrigger);

InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.menuButton, out isMenu);

InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.primaryButton, out isPrimaryButton);

InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(CommonUsages.secondaryButton, out isSecondButton);

二、控制物体移动


编写脚本用手柄控制物体的前后左右移动,如果把脚本挂载到头显上,就变成控制自身的移动。 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;public class ControlObject : MonoBehaviour
{// Update is called once per framevoid Update(){Vector2 vec2DAxis = Vector2.zero;InputDevices.GetDeviceAtXRNode(XRNode.LeftHand).TryGetFeatureValue(CommonUsages.primary2DAxis, out vec2DAxis);transform.position = new Vector3(transform.position.x + vec2DAxis.x * Time.deltaTime,transform.position.y, transform.position.z + vec2DAxis.y * Time.deltaTime);}
}

Unity+Pico 手柄按键控制相关推荐

  1. Unity通过键盘按键控制小球移动

    首先,我们创建一个新场景. 我们需要实现的效果就是移动该小球,移动操作需要借助脚本实现. 我们创建一个Move脚本,同时将其附加给小球.同时移动操作,需要借助刚体组件实现,所以我们还需要创建一个刚体组 ...

  2. Unity—实现通过按键控制2D游戏物体的移动

    控制游戏物体的移动 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ...

  3. unity pico3 手柄摇杆控制物体移动和旋转

  4. 【Unity】【Pico】手柄摇杆控制第一人称移动和旋转

    [Unity][Pico]手柄摇杆控制第一人称移动和旋转 背景:开发影院系统 环境:Unity2021.3.PicoNeo3ProEye 描述:已经在Unity项目中实现第一人称WASD移动和鼠标旋转 ...

  5. [树莓派 PICO(基于MicroPython)]基础教程02-按键测试、按键控制外设LED开关

    最近入手了pico学习. 目录 〇.总的参考 一.函数说明 二.硬件准备 三.程序-按键测试.按键控制外设LED开关 1.按键测试 2.按键控制外设LED开关 四.可能出现的问题 〇.总的参考 ①视频 ...

  6. Unity VR:关于如何捕捉VR手柄按键

    背景: 接收手柄按键信息是游戏必备操作,而VR设备信号的获取也存在多种方式.传统方法一般是通过InputDevice类来识别获取,根据情况也可以有更简单粗暴的方法,我这里先记录一下自己的小小总结. 软 ...

  7. Unity之OpenXR+XR Interaction Toolkit实现 监听VR手柄按键

    一.前言 当我们接入XR Interaction Toolkit之后,我们可以很方便的做不同VR设备的适配,这在很大程度上提升了我们的开发效率,我们除了通过射线和物体交互之外,偶尔我们也会希望监听手柄 ...

  8. steamvr unity 连接眼镜_unity Steam VR 手柄按键基本操作

    获取按钮 方法一: 先定义 public SteamVR_Action_Boolean disk; 使用 disk.GetLastStateDown(SteamVR_Input_Sources.Any ...

  9. Unity对于手柄的支持

    今天来谈谈关于Unity手柄的支持 一.首先我们先要搞清楚从哪开始进行控制: 二.接着来看看它里面的属性: Name:[按键名]该键的名称,可以在脚本编程中直接引用他.比如:Input.GetButt ...

最新文章

  1. 《Linux内核设计与实现》读书笔记(九)- 内核同步介绍
  2. PostgreSQL9.3中文手册的在线纠错
  3. RHCE-postfix
  4. 虚拟化实验室推进计算机网络专业实践教学的解决方案(论文体)
  5. Base64编码解码
  6. E: Malformed line 60 in source list /etc/apt/sources.list (dist parse)
  7. 网卡设置 多网卡的7种bond模式原理
  8. 初中计算机教案ps,第三课 利用Adobe Photoshop工具处理图片
  9. 苹果笔记本怎么找文件夹_苹果Mac电脑快速查找文件的两种方法
  10. 解决Docker端口映射无法访问问题
  11. SDKMAN 安装过程
  12. centos浏览器可以上外网但是ping不通
  13. 特效行者app手机版制作飞天特效视频的教程
  14. Ubuntu 20.04 实现Windows 复制粘贴
  15. Win10 系统 C 盘飘红,6 招瞬间腾出十几 GB 空间
  16. 思科配置系统日志服务器配置,思科交换机路由器配置日志服务器脚本
  17. EXCEL基础操作:隐藏,冻结,查找(搜索),锁定,保护
  18. FPGA 开发项目参考
  19. 市场调研 2.DAU、MAU、ARPU等究竟是什么
  20. java分页爬取站长素材的图片

热门文章

  1. ElasticSearch为何查询速度快
  2. java线程控制、状态同步、volatile、Thread.interupt以及ConcurrentLinkedQueue
  3. 知道尤雨溪为什么要放弃 $ 语法糖提案么?
  4. 《设计模式的艺术——软件开发人员内功修炼之道》交流贴
  5. 1.vue 2 简介(入门)。
  6. 亲测解决vs2019、2022我们无法刷新此账户的凭据的问题
  7. mysql具体导入文本步骤,Mysql导入sql文件报错(转)
  8. python我想对你说_python学习第20天----面向对象复习、__repr__
  9. 数据库系统概论原理及应用期末专升本考研试题三套供参考
  10. windows下redis主从配置