Unity+Pico 手柄按键控制

这篇具有很好参考价值的文章主要介绍了Unity+Pico 手柄按键控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、定义手柄按键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);

二、控制物体移动


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

Unity+Pico 手柄按键控制

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;

public class ControlObject : MonoBehaviour
{
    // Update is called once per frame
    void 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 手柄按键控制文章来源地址https://www.toymoban.com/news/detail-506899.html

到了这里,关于Unity+Pico 手柄按键控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity XR 设置VR设备手柄按键按下事件

    Unity XR 设置VR设备手柄按键按下事件

    ①打开XRI Default Input Action 面板。 ②设置左手柄上的按键就点击Action Maps 列表下的 XRI LeftHand Interaction选项,设置右手柄上的按键就点击XRI RightHand Interaction。 ③以设置右手柄上的按键为例,我们将设置右手柄上的 A键、B键、摇杆按下键、摇杆上下左右推动事件、R2键(扳机键

    2024年01月19日
    浏览(12)
  • android系统中定义的按键码(包含键盘,游戏手柄,TV遥控器)

    数据来源:android sdk. KEYCODE_UNKNOWN         0 KEYCODE_SOFT_LEFT       1 KEYCODE_SOFT_RIGHT      2 KEYCODE_HOME            3 KEYCODE_BACK            4 KEYCODE_CALL            5 KEYCODE_ENDCALL         6 KEYCODE_0               7 KEYCODE_1               8 KEYCODE_2 

    2024年02月12日
    浏览(11)
  • Unity之OpenXR+XR Interaction Toolkit实现 监听VR手柄按键

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

    当我们接入XR Interaction Toolkit之后,我们可以很方便的做不同VR设备的适配,这在很大程度上提升了我们的开发效率,我们除了通过射线和物体交互之外,偶尔我们也会希望监听手柄上的部分按键的点击事件,今天我们就来实现如何监听VR手柄的按钮事件。 我们需要准备好Uni

    2024年02月05日
    浏览(37)
  • Unity之OpenXR+XR Interaction Toolkit实现一个手柄任意按键的通用组件

    之前我们讲过了如何通过XR Interaction Toolkit监听VR手柄的按钮 还有 如何实现自定义VR按钮。 Unity之OpenXR+XR Interaction Toolkit实现 监听VR手柄按键 Unity之OpenXR+XR Interaction Toolkit如何自定义VR按键 但是我们总有些需求,希望可以在不修改input配置的情况下,甚至不操作Input的情况下,直

    2024年02月14日
    浏览(15)
  • Unity上接入手柄,手柄控制游戏物体移动

    Unity上接入手柄,手柄控制游戏物体移动

    1、unity软件上安装system input 组件。菜单栏【window】-【Packag Manager】打开如下界面,查找Input System,并且安装。 2、安装成功后插入手柄到windows上,打开菜单栏上【window】--【Analysis】--【Input Debuger】 进入Input Debug界面,可以看到手柄设备能被Unity识别。 3、双击【XinputControllerW

    2024年04月15日
    浏览(15)
  • 使用手柄控制Unity及效果展示(1)

    使用手柄控制Unity及效果展示(1)

    Unity支持手柄的控制,效果图如下所示: 这是一篇针对手柄控制U3D入门的过程记载,主要以实现功能为目的,分四个部分进行过程展示: Input System包的下载 设备的查找 Input Actions控件的使用 主要代码的解释及编写 这里也将我使用过程中遇到的问题和解决方法也用红字进行标

    2024年02月05日
    浏览(15)
  • Unity-Pico高级开发(一)按键状态获取,射线碰到物体变色,射线末端小圆点

    Unity-Pico高级开发(一)按键状态获取,射线碰到物体变色,射线末端小圆点

    目录 效果展示 前言 获取按键状态 射线碰到物体变色 射线末端小圆点 Unity-Pico高级开发(一)按键状态获取,射线碰到物体     picoXR为Unity提供的Unity XR SDK是基于Unity XR实现的各个功能,针对手柄和头盔的各个按键摇杆事件的获取,均是采用的Unity XR提供的方法。目前UnityXR只

    2024年04月28日
    浏览(207)
  • Unity中SteamVR2.0手柄按键绑定当SteamVR Input里的Open Binding UI按钮点击后打不开

    Unity中SteamVR2.0手柄按键绑定当SteamVR Input里的Open Binding UI按钮点击后打不开

    分享给第一次接触steamVR和新手的。也是给自己记一个笔记 最近在做SteamVR手柄按钮绑定时碰到一个问题,SteamVR Input里的Open Binding UI按钮点击后打不开本地的steamVR的绑定页面。之后我去查找资料一直都没解决方法,直到有一篇中提到了一句话在SteamVR里打开控制器设置。因此我

    2024年02月01日
    浏览(33)
  • 【Unity】【VRTK】【Pico】如何快速在VRTK中引入带动画的PICO控制器

    【Unity】【VRTK】【Pico】如何快速在VRTK中引入带动画的PICO控制器

    之前的VRTK篇章中,我只介绍了Oculus,Open VR,SImulator这三种Rig的配置方法,那么Pico如何融合VRTK进行开发呢? 先像一个正常PICO项目那样导入PICO的SDK到Unity。 VRTK 4的Package导入器中搜Pico,可以导入一个Pico的Integration,导入后Project面板的Packages文件夹下会出现Tilia SDK PicoIntegratio

    2024年01月16日
    浏览(50)
  • Pico Neo4、Neo3开发手柄的使用交互监听

    ``` ``` 使用方式:

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包