VRTK插件详解五:手柄使用介绍—UI制作与实现

VRTK详细使用方法 VRTK这个工具包提供了很多在Unity3d做VR开发中通用的VR功能,主要包括 1)具有别名的控制器按钮事件 2)控制世界指针(激光指针) 3)玩家瞬间转移 4)使用控制器抓起/握住物体 5)使用控制器与物体交互 6)把游戏物体变成交互式的UI元素 这个工具集主要分成三个部分: 1)Prefabs - VRTK/Prefabs/ 2)Scripts - VRTK/Scripts/ 3)Examp... 阅读详情

这篇我们来说下手柄菜单的制作,首先选择一个手柄在下面创建一个Canvas,将Canvas的render mode模式改为World Space,并将Canvas的大小改为0.001.在Canvas下创建一个Image,这里用于我们按下菜单键后跳出的信息。导入一张Image设置为Sprite类型,并添加到Canvas下的image中,并调整Image的Rect Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。


这篇我们来说下手柄菜单的制作,首先选择一个手柄在下面创建一个Canvas,将Canvas的render mode模式改为World Space,并将Canvas的大小改为0.001.在Canvas下创建一个Image,这里用于我们按下菜单键后跳出的信息。导入一张Image设置为Sprite类型,并添加到Canvas下的image中,并调整Image的Rect Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。

下面我们开始写代码来控制菜单的出现,创建一VR_Menu_Test.cs脚本,并挂在在左手柄上。这里我就直接使用VRTK插件来处理一些事件。

首先引入我需要的VRTK插件和Dotween插件,还有UI程序集。

在开始时候设置菜单不显示和大小为0

指定一个事件处理函数

构造事件处理函数,图片显示和消失的判断。使用Dotween实现图片显示和消失的效果。

保存代码后,指定变量,如下图所示。

完成以后,点击Play测试,当我们按下左键菜单键就会显示图片。再按下就会消失。

这里说一点,VRTK工具包也给我们提供很多方面的功能,打开文件夹SteamVR_Unity_Toolkit下的Prefab文件夹。这里面的ControllerTooltips预制体用于一些新手引导,介绍手柄按键的功能。这里我们将此预制体拖拽到左手柄下。

选中该预制体可以在Inspector视图中修改按键功能描述文本,颜色及模型。这里我将菜单键的描述改为游戏背景介绍,根据自己情况更改。运行游戏后可以看见如下图所示。

RadialMenu预制体为环形菜单,将刚刚预制体设为false,再将该预制体拖拽到左手柄下,展开RadialMenu子物体,选中Panle后,再Inspector面板中,更改菜单的数量并设置每个选项对应的事件。这里我们设置Buttons的size为5,并导入五张Image都设置为Sprite类型。展开Element后将Image对应拖拽到Button Icon。

设置后以后运行游戏,当我们触摸TouchPad后会出现圆形菜单,我们可以滑动选择需要选择的Element。如下图所示。

这里当选择到某一Element后,可以有四种事件如如图10,这里事件的触发我们再前面的文档中已有实现过,这里可以自己尝试一下。

Unity | VRTK游戏的基础设 文章目录HTCVIVE与设备连接实现手柄控制发射子弹功能VRTK插件与UGUI的交互:Menu Scene制作[VRTK_SDKManager][VRTK_Scripts]VRTK_Controller EventsVRTK_PointerVRTK_Straight Pointer RendererVRTK_UI Pointer[Canvas][EventSystem]Menu Scene制作步骤... 阅读详情

相关推荐

HTC Vive开发学习——VRTK(1)

本系列是基于Unity和HTC Vive开发虚拟现实应用的学习笔记。Unity环境下Vive开发必用的插件是SteamVR Plugin,除此之外,计划参考一些开源项目和免费的Asset Store插件,暂时涉及的包括:VRTK和Hover UI。VRTK包括基于SteamVR Plugin实现的各种组件,除了提供一个Vive开发的辅助工具,更重要的是,它演示了如何使用SteamVR Plugin...

fcauto2012的博客 5675

Unity学习笔记:VRTK插件应用

public VRTK_ControllerEvents vrtkcontroller 获取VRTK监听手柄事件的类 VRTK_ControllerEvents vrtkcontroller脚本在场景中[VRTK_Scripts]的RightControllerScriptAlias物体上 VRTK_ControllerEvents(定义后的变量名).TriggerPressed += voi...

qq_39332021的博客 525

SteamVR点击菜单键控制手柄和枪的模型的切换

SteamVR点击菜单键控制手柄和枪的模型的切换

unity SteamVR利用手柄合理移动

unity3d SteamVR2.0版本利用手柄圆盘控制物体移动 1.首先看一下界面,创建一个VRController作为空物体,添加CharacterController组件,并且创建一个脚本命名为VRController,吧VR预制体拖入VRController 2.给VR相机,添加SteamVR_Camera脚本 3.点击Window窗口,点击SteamVR Input 4.绑定自己的按键(不会去百度搜) 5.绑定完成后保存一下,然...

m0_55540902的博客 4929

ESP32-S3 + TB6600驱动42步进电机:从基础接线到AccelStepper库平滑加减速实战

本文详细介绍了如何使用ESP32-S3开发板和TB6600驱动器控制42步进电机,从基础接线到利用AccelStepper库实现平滑加减速控制。内容涵盖硬件连接、基础驱动代码、AccelStepper库的安装与参数调优,以及高级技巧与故障排除,帮助创客实现工业级精准控制。

weixin_42632434的博客 283

AI Agent技能评测框架SkillsBench:从黑盒评估到白盒技能拆解

在人工智能领域,模型评估是衡量技术进展的核心环节。传统评测基准如GLUE、MMLU主要关注模型的通用认知能力,但实际工程应用中,AI Agent需要的是在复杂场景中协调多种能力的“职业技能”。SkillsBench创新性地将Agent能力进行原子化拆解,定义了理解规划、工具调用、推理决策、交互安全等技能维度,并通过领域专家构建的评测集确保生态效度。这一框架为Agent开发提供了精准的“度量衡”,使性能优化从经验驱动转向数据驱动,同时为不同模型和框架提供了公平比较的基础,推动了AI Agent生态从“野蛮生长

weixin_30530339的博客 388

HTC Vive VR房产项目开发四(切换家具样式)

一、在VRTK中的Prefabs下将RadiaMenu拖动到SofaContainer之下 二、在Panel中默认挂载了两个脚本,VRTK_Radial Menu和VRTK_Radia Menu Controller,由于不需要通过手柄的touch pad等键进行操作,移除掉VRTK_Radial Menu Controller脚本,并且将VRTK_IndependentRadiaMen

nicolelili1的专栏 3386

FreeSwitch采用mrcp协议对接科大讯飞asr和tts以及对话系统

FreeSwitch采用mrcp协议对接科大讯飞asr和tts对接过程

shanghaimoon的专栏 8839

[转]VRTK☀️二、手柄按键UI提示、震动、高亮、手柄半透明

2、若你想让手柄Body高亮,需点开该物体上 VRTK_ControllerHighlighter 组件的 ElementHighlighterOverriders 属性,将添加的 VRTK_OutlineObjectCopyHighlighter 组件指定给Body。相对于四整体高亮,五是边缘高亮,是亮的策略不同。下面介绍的赋值 ElementHighlighterOverriders 属性,即用新的轮廓高亮策略,覆盖了原先的整体高亮策略。根据需要,调整文字、颜色、线起点等等配置。

小小姑娘 659

Chapter 5 Gate Drivers and Level Shifters

Gate driver如下图所示, 包括功率管(带保护), Gate driver, Level shifter, Gate Supply 和Dead-time control.

2304_76736886的博客 2236

《缠中说禅108课》5:市场无须分析,只要看和干

喜欢吹牛皮的,在市场里最常见,例如一种以分析市场、吹牛皮为生的职业,叫什么股评、专家的。此类人不过是市场上的寄生虫,真正的猎手只会观察、操作,用嘴是打不了豺狼的。 市场就是一个狩猎场,首先你要成为一个好猎手,而一个猎手,首先要习惯于无言。如果真有什么真理,那真理也是无言的。可言说的,都不过是人类思想的分泌物,臭气熏天。真不可言说了,就无不可言,言而无言,是乃真言。 一个好的猎手,可以没有嘴巴,但一定会有一双不为外物所动的眼睛,在这眼睛下,一切如幻化般透明。要不被外物所动,则首先要不被自我所迷惑,其实..

BenRen1314的博客 800

VRTK 实现菜单出现在视野前方(HTC设备)

最近项目需要,按下手柄按钮,提示菜单出现在视野前方。   其实,实现原理很简单,相信大都数朋友都知道。   首先,我们先要想清楚摄像机的一些基本成像原理,包括相机旋转,相机视口方向,近点远点等。   然后,我们在代码中,获取相机的视口方向,相机的旋转角度,近点;用这些参数去设置菜单,便可实现功能。    transform.rotation = Camera.main.transform.

lwsas1的专栏 2591

保姆级教程:用GPU-Burn给你的NVIDIA Tesla服务器做个“压力体检”(附温度功耗监控脚本)

本文提供了一份详细的GPU服务器压力测试指南,重点介绍如何使用GPU-Burn工具对NVIDIA Tesla服务器进行全面的性能测试和温度功耗监控。从环境部署、多GPU测试策略到专业级监控指标解析,帮助运维人员构建标准化的GPU健康评估体系,确保AI训练和科学计算等关键业务的稳定性。

weixin_30619101的博客 395

【Unity VR开发】VRTK 3.3.0 配置与基本使用

VRTK开发日志 1. 初始配置 1.1 摄像头 创建空物体命名为VRTK,负责管理接收头显和手柄信息 添加VRTK_SDK Manager脚本 在VRTK物体下继续创建空子物体,命名为VRTK_Setup,负责管理头显的启动 添加VRTK_SDK Setup脚本,Quick Select选择SteamVR 在SteamVR的Prefabs文件夹下找到[CameraRig]预制体,拖拽为VRTK_Setup的子物体 VRTK物体中的VRTK_SDK Manager脚本点击Auto Popu

里约热内驴的博客 1万+

UG NX二次开发(C#)--详细讲述编程模板NXOpen_CS_Wizard的代码意义,帮你轻松进入NXOpen(C#)二次开发

有几个读者私信问我,在看了“NX1957在VS2019上二次开发的环境配置”后,能完成了UG NX二次开发(C#)模板的配置,也能根据模板创建工程,但是对工程文件.cs不甚理解;并且,在UG Styler新建完成后,其也有一个dlx文件和.cs文件,也不清楚怎么使用。本文先对UG NX二次开发(C#)模板文件进行讲解,在下一个博客中,讲解Styler新建后的模板文件。以上就是对编程模板NXOpen_CS_Wizard(c#)的讲解,其实只要明白了逻辑关系,编程实现只是时间问题,祝你好运。

GimiGimmy 1786

Unity 面试篇|(二)Unity基础篇 【全面总结 | 持续更新】

在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足。一个程序在运行(执行)的过程中所需要的硬件和软件环境运行时的主要作用是提供程序运行所需要的环境和基础设施,通过为程序提供内存分配、线程管理、类型检查、对象实例化和垃圾回收等操作来支持程序的运行公共语言运行时(Common Language Runtime,CLR)是整个.NET框架的核心,它为.NET应用程序提供了一个托管的代码执行环境。

游戏开发小Y的博客 13万+

vrtk 使用教程(一)

.steamvr作为一个非常好用的vr插件,美中不足的需要自己实现各种交互,还是比较麻烦。这里推荐大家一个插件vrtk,对steamvr的封装,严格说不只是steamvr,是对vr插件的封装,不多说,使用教程如下,还是很简单的 一,下载, assetstore搜索vrtk下载最新版本,但是最新版本和最新的steamvr好像兼容有些问题,这里采用的是老版本,steamvr也是老版本。想要...

nt_xs_j的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vrtk官方44个案例最详细介绍

结合数篇博客以及大量图文基于官方44个场景总结而成的详细VRTK组件介绍

2401_84659046的博客 1338

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VRTK使用心得(一):VRTK简介

本文是我的视频教程《HTC VIVE交互开发实例教程》的节选文字版,更多VRTK实例教程可参见蛮牛教育首页 一、什么是VRTK VRTK全称是Virtual Reality Toolkit,前身是SteamVR Toolkit,由于后续版本开始支持其他VR平台的SDK,如Oculus、Daydream、GearVR等,故改名为VRTK,它...

分享一些XR+AI方面的技术文章 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Unity】虚拟现实 VRTK插件使用教程(六)VR UI (UGUI和VRTK的事件处理机制)

文章目录UI2D UI UI UI通常按类别分为三种,即2D UI、3D UI、模型UI。 2D UI:2D UI固定在屏幕上,不会跟着角色移动而移动。 3D UI:3D UI放在场景世界中,当相机移动到UI前面才能看到。 模型UI: 2D UI 要使用2D UI就要先创建一个画布Canvas,画布的渲染类型通常可以设置为: Screen Space - Overlay(2D) Screen Space - Camera(2D) World Space(3D) 在VR游戏中,如果想要2D UI,

一个普普通通的游戏开发者 7829

VRTK插件的概述及使用

这里是有关VRTK插件的使用,简化为思维脑图的形式。 1:抛物线:跳点传送。主要控制脚本有VRTK_ControllerEvents事件控制脚本,VRTK_Point选择是否是可以传送,而VRTK_BerzierPointRender就是确定是抛物线的方式传送 2:手柄射线:控制脚本和抛物线的控制脚本相似,但是我们这个是想要手柄射线。所以这里我们使用VRTK_StraightPointRe...

qq_39091751的博客 1946

VRTK重新激活场景 跳转场景 手柄UI交互功能丢失问题

VRTK跳转场景重新激活场景手柄UI功能交互丢失解决方法

weixin_42746271的博客 2658

Unity虚拟现实插件VRTK3.3使用教程五:界面交互

在VRTK中,使用UGUI.其实很简单,配置好后和正常开发3d的UI是一样.首先,得先给手柄添加射线和射线渲染.

Smallbo's Note 1765

【Unity插件001】VRTK3.3.0的使用

一、示例场景[001-Interactions]ControllerEvents:用于对手柄(控制器)上各个按键的监听; HTC Vive手柄按键: 1.Trigger扳机键 · TriggerPressed - 当trigger被扣下一半左右时发送事件. · TriggerReleased - 当Trigger从扣下一半的状态释放后发送事件. · TriggerTouchStart - 当trigger被扣下一点点时发送事件. · TriggerTouchEnd - 当trigger完全没有被.

qq_41603955的博客 4480

VRTK3.2.1插件之UI触发 三

工具:unity 2018.2.7、VRTK3.2.1、SteamVR plugin1.1.1 1、场景目录如下,与上一篇讲抓取的文章类似,如下图: 2、挂在组件如下图所示: 手柄挂载组件如下图所示,可以实现手柄射线触发UI交互 canvas上挂在如下组件,这样它了里面的UI才能被射线出发,进行相应的交互 三、此demo涉及到一小段代码,如下: using Sys...

防止名字重复 857

VRTK插件之与UGUI的交互

在HTC的VRTK插件里UI的交互最常见的就是依靠手柄发出一条射线然后和界面进行交互。在VRTK里发出射线的脚本有两个VRTK_SimplePointer脚本和VRTK_BezierPointer脚本。这两个脚本的区别就是前者发出的射线是直线,后者发出的是曲线。如图:VRTK_SimplePointer发出的直线:VRTK_BezierPointer发出的曲线:一般为了方便我们都采用直线的方式来与...

alayeshi的专栏 1万+
上一篇: unity中异步加载游戏场景与异步加载游戏资源进度条
下一篇: Unity视频播放的各种实现方式汇总
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值