VRTK插件详解一:激光和移动

Unity开发之SteamVR---VRTK简介 另外,对于其它的交互事件,也会提供相应的unity事件处理,比如VRTK_BasicTeleport_UnityEvents(瞬移事件处理)、VRTK_InteractGrab_UnityEvents(抓取事件处理)、VRTK_InteractTouch_UnityEvents(触摸事件处理),对于各事件发生的不同阶段,都会有对应的处理接口,类似于uGUI中Button的OnClick事件处理形式。此外,它表明如果用户踏入不在对象上的游戏区域的一部分,则用户将落到最近的对象。该对象成为控制器的扩展。 阅读详情
简单指针(Simple Pointer)脚本从控制器尾部发出一个有色光束来模拟激光束。这在场景中指向对象很有用,它能判断所指向的对象以及对象距控制器发出光束位置的距离。
 
激光束默认按下控制器的抓握键(Grip)来激活。因为所侦听的事件是AliasPointer别名事件,所以这个指针开关按钮可以通过在 VRTK_ControllerEvents脚本参数里来改变 pointerToggleButton来选择设置。
 
简单指针脚本(VRTK_ SimplePointer)添加到[CameraRig] 预制里的控制器对象上,同时添加需要VRTK_ControllerEvents脚本来监听启用和禁用光束的控制器按钮事件。
 
下面是可用脚本参数:
 
· Enable Teleport(启用传送):如果勾选了,在目标设置事件中的teleport标志位就设为true,所以传送脚本就知道是否要行动到新的目标。如果这个选项没有勾选的话,控制器光束启动但是不会触发位移。
 
· Point Hit Color(指针碰撞颜色):当光束和一个有效目标碰撞的颜色。每个控制器可以有不同的颜色设置。
 
· Pointer Miss Color(指针无碰撞颜色):当光束没有命中有效目标时的颜色。每个控制器可以有不同的颜色设置。
 
· Show Play Area Cursor(显示游玩区光标):如果这个启动,游玩区界限就会在光束指针的顶端显示出来,颜色和当前指针颜色相同。
 
· Play Area Cursor Dimensions(游玩去光标尺寸):决定游玩区光标和碰撞的尺寸。如果值为零,Play Area Cursor 的尺寸将根据Play Area空间进行校正。
 
· Handle Play Area Cursor Collisions(处理游玩区光标碰撞):如果勾选,当游玩区光标和其他物体发生碰撞时,指针颜色就会变成Pointer Miss Color的颜色且WorldPointerDestinationSet 事件将不会被触发,这将防止传送到游玩区会发生碰撞的区域。
 
· Beam Always On(光束总是开启):如果这个勾选,光束指针总是可见,但是设置目标点事件仍然只会在所指定按钮松开时发出。
 
· Pointer Thickness(指针光束厚度):光束长宽也可以在脚本里设置以及能够开关显示在光柱最后的球形光柱顶端(表示光标)。
 
· Pointer Length(指针光束长度):在停止前光束投射的距离。
 
· Show Pointer Tip(显示指针顶端):切换是否光标显示在光束指针的尾部。
 
 
简单指针对象扩展自VRTK_WorldPointer 抽象类并因此发出相同的事件和有效数据。
 
VRTK_SimplePointer脚本的例子可以在SteamVR_Unity_Toolkit/Examples/003_Controller_SimplePointer场景中看到并且事件用法和监听的脚本例子可以看SteamVR_Unity_Toolkit/Examples/Resources/Scripts/VRTK_ControllerPointerEvents_ListenerExample.cs脚本。


贝塞尔曲线激光指针(VRTK_BezierPointer)
 
贝塞尔指针从控制器末端发出一个曲线(由游戏对象组构而成)到(任何高度的)地面上一点。这比简单激光指针要有用的多,因为终点能够弯曲到玩家看不见的对象顶部,所以就可以传送到各种高度的对象上。
 
激光束默认按控制器上的抓握键Grip来激活。事件侦听AliasPointer别名事件,所以Pointer Toggle button可以通过在VRTK_ControllerEvents 脚本中改变Pointer Toggle button来进行选择设置。
 
贝塞尔指针脚本被添加到[CameraRig]预制里的控制器对象上,控制器对象同时需要添加VRTK_ControllerEvents脚本用来监听控制器按钮开关光束的事件。
 
可用脚本参数如下:
 
· Enable Teleport(启用传送):如果勾选了,在目标设置事件中的teleport标志位就设为true,所以传送脚本就知道是否要行动到新的目标。如果这个选项没有勾选的话,控制器光束启动但是不会触发位移。
 
· Point Hit Color(指针碰撞颜色):当光束和一个有效目标碰撞的颜色。每个控制器可以有不同的颜色设置。
 
· Pointer Miss Color(指针无碰撞颜色):当光束没有命中有效目标时的颜色。每个控制器可以有不同的颜色设置。
 
· Show Play Area Cursor(显示游玩区光标):如果这个启动,游玩区界限就会在光束指针的顶端显示出来,颜色和当前指针颜色相同。
 
· Play Area Cursor Dimensions(游玩去光标尺寸):决定游玩区光标和碰撞的尺寸。如果值为零,Play Area Cursor 的尺寸将根据Play Area空间进行校正。
 
· Handle Play Area Cursor Collisions(处理游玩区光标碰撞):如果勾选,当游玩区光标和其他物体发生碰撞时,指针颜色就会变成Pointer Miss Color的颜色且WorldPointerDestinationSet 事件将不会被触发,这将防止传送到游玩区会发生碰撞的区域。
 
· Beam Always On(光束总是开启):如果这个勾选,光束指针总是可见,但是设置目标点事件仍然只会在所指定按钮松开时发出。
 
· Activate Delay(激活间隔):能够再次激活指针光束的延迟时间秒数。用来防止持续传送。
 
· Pointer Length(指针光束长度):在停止前光束投射的距离。
 
· Pointer Density(指针密度):贝塞尔曲线光束渲染的物体个数。这里数值太高将很可能会因为大量渲染对象来对游戏性能有负面影响。
 
· Show Pointer Cursor(显示指针光标):在光束终点位置的地面显示光标。用来看光束终点位置的高度很有用,它可以通过切换这个来关闭。
 
· Pointer Cursor Radius(指针光标半径):地面指针光标的尺寸,这个值也会影响贝塞尔曲线光束里的对象的尺寸。半径越大,对象尺寸越大。

· Beam Curve Offset(光束曲线偏移): 投射光束时应用的高度偏移量,就算在光束径直指向时也能产生一个光滑的曲线。
 
· Custom Pointer Tracer(自定义指针轨迹): 可以在这里设置一个自定义的游戏对象用来代替光束轨迹的默认球体。自定义游戏对象将和控制器的旋转相匹配。
 
· Custom Pointer Cursor(自定义指针光标):  可以在这里设置一个自定义的游戏对象用来代替指针光标的默认平柱体。
 
 
贝塞尔指针对象扩展自VRTK_WorldPointer 抽象类并因此发出相同的事件和有效数据。
 
VRTK_BezierPointer脚本的例子参见SteamVR_Unity_Toolkit/Examples/009_Controller_BezierPointer场景,它被连同Height Adjust Teleporter脚本一起使用,来显示怎样可以不需要看到对象的顶部就能使用曲线指针来传送到不同高度的对象上。
 
另一个例子可以参见SteamVR_Unity_Toolkit/Examples/012_Controller_PointerWithAreaCollision场景,这里演示了一个开启了游玩区光标和碰撞检测的贝塞尔指针怎样被用来穿过游戏区域,但是不允许传送到墙壁或者其他对象的区域而导致游玩区让玩家穿进墙壁。
 
贝塞尔曲线生成的代码是另一个脚本,位置在SteamVR_Unity_Toolkit/Scripts/Helper/CurveGenerator.cs,这基本是受Catlike Coding的教程和代码的启发(http://catlikecoding.com/unity/tutorials/curves-and-splines/)。


基础传送器(VRTK_BasicTeleport)
 
基础传送器更新[CameraRig]在游戏世界中的x和z位置到由WorldPointerDestinationSet事件设置定位的世界指针顶端的位置。y位置从不改变,所以基础传送器不能用来上下移动游戏对象而只能水平移动。
 
基础传送器脚本被添加到[CameraRig] 预制下面并需要一个实现了WorldPointer 的脚本添加到另一个游戏对象上(如VRTK_SimplePointer添加到控制器对象上)。
 
可用脚本参数如下:
 
· Blink Transition Speed(眨眼淡入淡出速度):可以在基础传送脚本中改变眨眼渐变速度来提供一个自定义的传送体验。速度设置为0意味着没有渐变眨眼特效呈现。渐变通过 SteamVR Unity 插件脚本里的SteamVR_Fade.cs脚本实现。
 
· Distance Blink Delay(距离眨眼延时): 范围从0到32,这个值决定了基于被传送距离的眨眼过渡保持黑屏的时长。值为0时,任何传送距离都不会延长传送的眨眼过渡,值为32时,就算距离初始点很近的被传送距离都会延长传送的眨眼过渡。这可以被用来模拟用户传送更远的距离花费更长时间。值为16对用户来说就刚好。
 
· Headset Position Compensation(头盔位置补偿): 如果勾选,传送坐标将会式游玩区内头盔的位置。如果没有勾选,传送坐标将总是游玩区中间的位置,就算头盔位置不在游玩区中间也式如此。
 
· Ignore Target With Tag Or Class(忽略带有标签或脚本的目标): 一个指定对象标签或者对象上添加的脚本名字的字符串,通知传送器这种目标点应该被忽略,所以用户就不能传送到这些位置上。同时也确保指针颜色被设为丢失目标点颜色。
 
VRTK_BasicTeleport 脚本的例子可以参见SteamVR_Unity_Toolkit/Examples/004_CameraRig_BasicTeleport场景。这个场景使用控制器上的VRTK_SimplePointer 脚本在按下grip按钮时初始化一个激光指针,松开Grip按钮时激光指针失效,然后玩家传送到激光指针顶端位置。
 
 
可调节高度的传送器(VRTK_HeightAdjustTeleport)
 
高度调整传送器继承自基础传送器,它允许根据传送位置是否在其他对象顶部来让[CameraRig]改变y位置。

和基础传送器一样,高度调整传送器被添加到[CameraRig]预制并需要一个可用的世界指针。
 
可用脚本参数如下:

· Blink Transition Speed(眨眼淡入淡出速度):可以在基础传送脚本中改变眨眼渐变速度来提供一个自定义的传送体验。速度设置为0意味着没有渐变眨眼特效呈现。渐变通过 SteamVR Unity 插件脚本里的SteamVR_Fade.cs脚本实现。

· Distance Blink Delay(距离眨眼延时): 范围从0到32,这个值决定了基于被传送距离的眨眼过渡保持黑屏的时长。值为0时,任何传送距离都不会延长传送的眨眼过渡,值为32时,就算距离初始点很近的被传送距离都会延长传送的眨眼过渡。这可以被用来模拟用户传送更远的距离花费更长时间。值为16对用户来说就刚好。

· Headset Position Compensation(头盔位置补偿): 如果勾选,传送坐标将会式游玩区内头盔的位置。如果没有勾选,传送坐标将总是游玩区中间的位置,就算头盔位置不在游玩区中间也式如此。

· Ignore Target With Tag Or Class(忽略带有标签或脚本的目标): 一个指定对象标签或者对象上添加的脚本名字的字符串,通知传送器这种目标点应该被忽略,所以用户就不能传送到这些位置上。同时也确保指针颜色被设为丢失目标点颜色。

· Play Space Falling(游玩区坠落):检查是否玩家是否走出对象,即所在游玩区的位置不在对象上,然后就会自动传送到最近的地面上。
 

反过来说Play Space Falling 选项是在玩家头盔在一个对象上方时会自动传送到一个对象的顶部,这一点在模拟爬梯子时很有用,不需要使用指针光束定位。如果这个选项关闭,玩家就能在他们所站在的对象的同样y高度的空中行走(也就是有一部分游玩区在对象外部)。

VRTK_HeightAdjustTeleport 脚本的例子参见SteamVR_Unity_Toolkit/Examples/007_CameraRig_HeightAdjustTeleport场景。场景有许多不同高度对象,玩家可在来回走或者使用激光束爬到它们顶部。
 
另一个例子参见SteamVR_Unity_Toolkit/Examples/010_CameraRig_TerrainTeleporting场景,展示了玩家也能够在地形碰撞器上传送。还有个例子SteamVR_Unity_Toolkit/Examples/020_CameraRig_MeshTeleporting场景中,显示玩家在网格碰撞器上传送。

 
 
头盔碰撞淡出(VRTK_HeadsetCollisionFade)


头盔碰撞淡出的目的是为了检测用户的VR头盔何时碰撞到其他游戏对象并淡出屏幕到一个单色。这是为了处理玩家把头放进一个游戏对象里看到对象内部的裁剪,这不是我们所期望的。
 
之所以这么做,是因为如果玩家把头放到不该放的地方就会淡出到一个颜色(如黑色),这就让玩家意识到他们做错了什么,然后可能自然的就会后退。
 
如果头盔正在碰撞,那么传送行为就被禁用来防止穿插穿墙的作弊。
 
使用Unity 5.3及之前版本,头盔碰撞淡出脚本添加到[CameraRig] 预制的Camera(head)对象上。
 
使用Unity 5.4及之后版本,头盔碰撞淡出脚本添加到[CameraRig] 预制下的Camera (head)里的Camera(eye)对象上。

可用脚本参数如下:
 
· Blink Transition Speed(眨眼淡入淡出速度):碰撞时淡入淡出速度。

· Fade Color(淡出颜色):头盔碰撞时淡出颜色。
 
发出事件如下:
 
· HeadsetCollisionDetect: 当用户头盔碰到其他游戏对象时发出。

· HeadsetCollisionEnded:当用户头盔停止碰撞游戏对象时发出。
 
发出事件的有效载体内容包括:
 
· collider: 头盔所碰撞的游戏对象的碰撞器。

· currentTransform: 当前头盔碰撞淡入淡出脚本所添加到的对象(相机)的Transform。
 
VRTK_HeadsetCollisionFade 脚本例子参见SteamVR_Unity_Toolkit/Examples/011_Camera_HeadSetCollisionFading场景。场景在游玩区周围有可碰撞的墙壁,如果玩家把头放进墙壁,头盔就将渐变成黑色。



玩家呈现(VRTK_PlayerPresence)
 
VR用户在游戏呈现中有身体这一概念,它通过在用户站立在游玩区中的位置添加碰撞和刚体来实现。身体的碰撞和刚体将防止用户能够穿过墙壁或者和其他可碰撞对象穿插。碰撞体的高度由用户头盔所在高度决定,如能在低的空 果用户下蹲,碰撞体同样收缩,这意味着可以 去下蹲和爬行通过。

可用脚本参数如下:

· Headset Y Offset(头盔y偏移):为用户创建的盒型碰撞体的高度由用户头盔位置设置。如果需要碰撞体小一点来让游玩区和头盔之间留有空间的话,这个值将降低生成的盒型碰撞体的高度。
 
· Ignore Grabbed Collisions(忽略抓取碰撞):如果勾选,任何被控制器抓取的物品都不会和游玩区的盒碰撞体及刚体发生碰撞。这在用户需要抓取和挥动对象时是很有用的,因为如果碰撞体激活,这些抓取的东西就会被游玩区的碰撞体弹开。
 
VRTK_PlayerPresence 脚本例子可参见SteamVR_Unity_Toolkit/Examples/017_CameraRig_TouchpadWalking场景。场景有很多墙体和斜坡,用户可以用触摸板来四处行走,但, 是不能穿过这些对象 因为它们是可碰撞的并且刚体物理将不允许发生穿叉。
 

触摸板移动 (VRTK_TouchpadWalking)


通过手指在触摸板上滑动来实现用这个脚本让游玩区在游戏世界中能够移动。TouchpadWalking脚本用在[CameraRig]预制上,并且在用户位置添加一个刚体和盒型碰撞来防止他们穿过其他带碰撞的游戏对象。
 
如果Headset Collision Fade脚本已经被添加到相机预制上,如果用户试着和一个对象发生碰撞,那么他的位置就会被重置为最近的正常的位置。这可能发生在用户穿过需要躬身的区域中途站了起来和顶部发生了碰撞。与其允许用户这样做而引起碰撞问题,倒不如直接移动回到一个正常的位置。这确实破坏了沉浸感,但用户正在做的事情也是不自然的。

可用脚本参数如下:
 
· Left Controller:如果勾选,左控制器的触摸板就能移动游玩区。在运行时可以被切换。
 
· Right Controller:如果勾选,右控制器的触摸板就能移动游玩区。在运行时可以被切换。
 
· Max Walk Speed:当触摸板被触摸到轴的极限时游玩区所能达到的最大移动速度。触摸板距离中心越近的位置被触摸,移动速度就越慢。
 
· Deceleration(减速度):当用户不再触摸到触摸板时游玩区从减速到完全停止的速度。这种减速度效果可以减缓可能遭受的移动恶心。
 
VRTK_TouchpadWalking 脚本的例子参见SteamVR_Unity_Toolkit/Examples/017_CameraRig_TouchpadWalking场景。场景中有很多墙壁和梯子,用户可以用触摸板来移动。还有个区域只有用户蹲下才能穿过。在俯身区域挺起身体将导致用户闪回他们最近的正常位置。
 
 

VRTK_RoomExtender(游玩区空间扩展)
 
这个脚本允许游玩区跟随玩家移动。CameraRig 只在达到定义的圈的边缘才会移动。目的是为了创造一个虚拟的更大的游玩区。测试这个脚本的demo场景为028_CameraRig_RoomExtender。
 
把脚本添加到CameraRig来使用。
 
可用脚本参数如下:
 
· Additional Movement Multiplier(额外移动乘数): 圈边缘的移动放大因数。0就是不移动CameraRig。值越高模拟的游玩区域就越大,但是也可能就越不令人舒适。

· Head Zone Radius(头部空间半径):游玩区不会发生移动的圆圈尺寸,一切都正常的。如果值太低,在蹲下时就会感到不舒服。
 
· Debug Transform(调试Transform): 这个transform让玩家周围的CameraRig不移动圆圈显示出来。在demo场景里就是一个在地板上的柱体。记得关闭碰撞。
VRTK 2.2.1版本所有Demo详解 昨天没事进了vrtk官网,才发现居然已经出到了3.2.0,赶紧下下来看了看。大版本更新变化实在太大了,也突然感觉到了使用插件的坏处,就是要一直追着别人的步伐。。但是怎么说呢,更新毕竟是好事,vrtk在新版本中明显感觉功能强大了不少,因此最近还会抽时间写一篇新版本的vrtk的Demo详解,以下是我之前学习老版本vrtk时总结的一些小小的东西,因为是大半年前总结的,所以有些东西可能理解的并不透彻,但是 阅读详情

相关推荐

【Unity】虚拟现实 VRTK插件入门指南(一):从零搭建VR交互环境

本文详细介绍了如何使用Unity的VRTK插件从零搭建VR交互环境,包括VRTK的安装、配置、抓取交互实现及性能优化技巧。通过实战案例展示VRTK在虚拟现实开发中的高效应用,帮助开发者快速掌握VR交互的核心技术。

weixin_29008691的博客 397

SteamVR Unity工具包(VRTK)之激光和移动

简单激光指针(VRTK_SimplePointer) 简单指针(Simple Pointer)脚本从控制器尾部发出一个有色光束来模拟激光束。这在场景中指向对象很有用,它能判断所指向的对象以及对象距控制器发出光束位置的距离。 激光束默认按下控制器的抓握键(Grip)来激活。因为所侦听的事件是AliasPointer别名事件,所以这个指针开关按钮可以通过在 VRTK_C...

anbd0604的博客 703

16、虚拟现实工具包(VRTK):社区开源框架

本文介绍了虚拟现实工具包(VRTK)的发展历程及其作为开源社区框架的重要性。从最初的单个脚本到如今的VRTK v4,该工具包通过组件化设计、无SDK依赖和强大的可扩展性,帮助开发者快速构建VR体验。它不仅支持多种硬件设备,还通过开源和教育推广降低了VR开发的门槛,为初学者和专业开发者提供了便捷的工具和资源。

sat99的博客 147

SteamVR 2.0 Unity插件使用指南

随着VR生态的日益增长,以及Valve Knuckles控制器的逐渐完善,SteamVR未来能够提供给用户更多的交互方式,比如手指跟踪和力反馈。近期,Valve在Unity资源商店中将SteamVR插件更新到了2.0版,XR技术研习社将根据官方博客和SDK文档对此次更新进行介绍,本文同时也是《HTC VIVE 交互开发实例教程》第52课备课内容。 以下...

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

Cadence SIP Layout 简单教程-第二章

[从whp1920 网易博客迁移至优快云] 第一章在正式布线之前做了必须做的准备工作,下面进入正题,打开Candence SIP RF Layout GXL软件。 第一节 导入外形尺寸 打开SIP设置文件保存路径,如下图所示进入导入DXF页面,选中前一章时画好的外框图。打开导入界面后,再进入DXF In Edit/View Layers界面选择所有层,导入Class选择DRAWING FOR...

whp1920的博客 6939

AD20 Channel-Offset Error 解决办法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法一、问题现象二、解决办法 前言 AD20 PCB相同电路模块ROOM格式复用时出现 Channel-Offset Error 解决办法 一、问题现象 我们经常在使用Room格式快速布局相同模块电路时出现以下问题, 二、解决办法 相同模块电路PCB布局复制的过程网上有很多,这里不再做赘述,步骤都差不多,只说问题根源; 1:.

m0_47201213的博客 7621

Unity使用SteamVR2.0 SteamVRInput配置和使用

SteamVR2.0新手使用指南

Liu_ChangC的博客 1万+

PCB布局规范及其注意事项(纯干货)

这样做的好处是信号1,3层不会有串扰,4和5作为电源有紧密的耦合,3个信号层都有GND平面可以参考,且不会互相产生串扰,唯一的缺点是布线的层面只有3个信号层(信号03的是最适合来传输高速信号,因为该层的二面都有屏蔽,防止干扰传出,也防止干扰传入)33、影响阻抗匹配的参数(ER介电常数(1GHZ以下默认为4.2,以上的话问板厂),H介质厚度(就是内层压合的PP片厚度),W走线的线宽,T走线的厚度(铜厚/减小线的厚度可以增大阻抗))我这里使用的是CITS25来计算阻抗。

qq_42379138的博客 8842

Unity3D开发之淡入淡出效果实现(VR和桌面通用)

在我们开发项目的时候竟然会用到镜头的切换,而我们直接切换会造成用户的不舒适感,这时候就需要我们使用淡入淡出镜头来让用户有更佳的切换感受,不会感觉特别的唐突。 我们在百度淡入淡出的时候,大多讲的就是使用GUI或者UGUI的来控制的,但这并不适合3DVR模式下的开发。VR模式下的ScreenSpace模式下的Canvas并不会被VR镜头显示出来,所以我们需要在渲染顺序上添加我们的想法。摄像机渲染通常...

Jay W的博客 4740

RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGB

RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGB

J。 2339

DCNv4+YOLOv8:2024最新可变形卷积赋能目标检测,从原理到实战的科研级优化指南

从理解DCNv4“自适应变形卷积核”的核心思想,到亲手将其嵌入YOLOv8并验证在复杂场景的检测效果,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解目标检测中“特征自适应提取”的核心价值。现在就开始行动,相信你会在目标检测的“自适应特征提取”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入DCNv4后,YOLOv8在复杂场景下的检测精度提升3-5个百分点,尤其是小目标和遮挡目标的AP提升更为明显,而推理速度仅下降5%-10%(可通过模型量化进一步优化)。2024年最新推出的。

m0_64661770的博客 267

SteamVR 显示画面渐变变暗变亮效果脚本调用方法

using System.Collections; using System.Collections.Generic; using UnityEngine; using Valve.VR; public class ceshi : MonoBehaviour { // Start is called before the first frame update void Star...

chh19941125的专栏 1195

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1043

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

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

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

如何使用Github创建一个完全免费的个人网站

摘要: 本文详细介绍如何利用Github Pages免费搭建个人静态网站,适合零基础用户。首先需注册Github账号并创建特定命名的仓库(格式:用户名.github.io),然后通过网页或命令行创建index.html文件作为网站首页。完成后可通过"仓库设置- Pages"获取网站链接。文章还包含GitHub Desktop的安装使用、代码提交指南及常见问题自检方法,并说明即使Github被墙也可迁移至国内平台(如码云)。整个过程无需编程基础,仅需15分钟即可完成基础网站搭建。

安德洛夫 1514

ORB-SLAM3代码详解 - 第 18 篇 · Atlas 多地图系统、地图保存与全系统调优

会跑:理解三线程架构与数据流(01/08/10/13),能编译、配参、复现各数据集结果。会改:掌握相机模型抽象(05)、g2o 顶点与边(14)、预积分(15),能接入新传感器、新相机、新约束。会调:理解每个参数背后的物理含义与耦合(03/15/16/18),能针对自己的平台与场景做精度/实时/鲁棒的权衡。ORB-SLAM3 的价值不止于一个可用的 SLAM 系统,更在于它是一套工程化的几何状态估计模板:清晰的模块边界、可替换的相机/传感器抽象、紧耦合优化的标准范式。

PX4-SLAM-PNC 171

VRTK基础入门案例演示

本章主要内容 本章节主要向读者介绍VRTK具体使用方法,如何在SteamVR之上使用VRTK,VRTK具体的应用以及好处都有哪些,会具体分析VRTK所提供给我们的基础应用场景,通过小的案例来进行实际操作。 2.1 Unity VRTK内容介绍 Unity VRTK目前是开发HTCVIVE最全的一套开发工具,这套插件主要是在SteamVR之上进行扩展,新的扩展内容以及场景几乎包括所有常见的案例演示,甚至于很多底层代码我们都不需要接触就可以开发出相应的作品。 VRTK目前共有44个场景案例演示,每一个场景案例都

qq_17837859的博客 1203

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Unity Steam_VR VRTK开发插件自带案例详解(一)

原文地址:http://www.52vr.com/article-665-1.html  DEMO 1  查询硬件手柄头显 在VRTK插件 的第一个demo   001_CameraRig_VR_PlayArea 案例   这个demo 显示的功能:  按下任一手柄上的按键,便载入下一个场景   找到demo场景中##Scene Changer## 游戏物体,打

qq_37094081的博客 2674

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何在VR场景中位移与行走Unity VRTK - SteamVR Unity Toolkit针对VR开发的工具包

转载自: https://blog.youkuaiyun.com/KiTok/article/details/52836088 如果您碰到什么其他问题的话,欢迎来 我自己的一个 讨论群`559666429`来,大家一起找答案,共同进步 在使用HTC VIVE StreamVR 开发VR项目的时候,需要使用许多的,比如激光定位,贝塞尔曲线激光指针,位移,触碰,抓取等功能。这时候一个很好...

lizhenxiqnmlgb的博客 4487

VRTK 插件详解

VRTK插件详解四:自带案例01-21分析 插旗,做个标记 插旗,做个标记 原文链接:link 若有冒犯,提醒删除!

qq_41839772的博客 441

萌新VRTK学习(二)移动

1.创建空物体取名Teleport,添加传送器脚本VRTK_BasicTeleport或者VRTK_HeightAdjustTeleport或者VRTK_DashTeleport(三选一) 区别(萌新见解,求更正): VRTK_BasicTeleport:会闪屏瞬移过去,不能到物体上面 VRTK_HeightAdjustTeleport:VRTK_BasicTeleport的拓展,...

weixin_30369087的博客 362

Unity VRTK4包导入和依赖关系

本文档详细介绍了VRTK4生态系统的核心组件及其依赖关系。VRTK4主要由Tilia功能模块、Zinnia底层框架和Utilities支撑工具三部分组成,均采用io.extendreality.*命名规范。重点内容包括:1) Zinnia作为核心基础库;2) Tilia系列功能模块如玩家Rig、输入系统、指针交互、移动系统等;3) 工具包如Shader工具;4) SteamVR/OpenVR开发套件相关包。文档特别指出可能存在版本冲突风险,如UnityUI嵌入式包的版本滞后问题,以及Unity XR管理框架

Unity开发工程师的博客 559

Unity Steam_VR开发工具插件---VRTK 自带案例分析

DEMO 1  查询硬件手柄头显 在VRTK插件 的第一个demo   001_CameraRig_VR_PlayArea 案例   这个demo 显示的功能:  按下任一手柄上的按键,便载入下一个场景   找到demo场景中##Scene Changer## 游戏物体,打开附加的scene changer脚本 里面有两个核心的类,以及几个重

TheAI的博客 1011

#unity VRTK#部分常用组件解析(二)

上一节写了:VRTK_Controller Events(带有通用别名的控制器按钮事件)两代虚拟类VRTK_DestinationMarker、VRTK_WorldPointer以及派生的各种射线指针类这一节接着讲基于射线指针实现的各种传送,例如VRTK_BasicTeleportVRTK_InteractableObjects类:与对象的交互基础传送器(VRTK_BasicTeleport)基础...

yzy565280261的博客 796

Unity Steam_VR 开发工具插件 VRTK自带案例分析(第二部分)

转载至https://www.cnblogs.com/zerotoinfinity/p/6485556.html   DEMO 025_Controls_Overview 交互控制器: 真实版 UI 元素。所有类型的控制器都继承自VRTK_Control。  第一种交互控制器:按钮VRTK_Button 把这个脚本添加到游戏物体上,可以让这个游戏物体表现的和真实世界的按钮一样的物理特性...

qq_40795166的博客 704
上一篇: SteamVR插件详解二:UI及手柄
下一篇: VRTK插件详解二:交互之事件与委托分析
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值