精华内容
下载资源
问答
  • VRTK

    2019-10-07 11:50:32
    VRTK在场景中的配置 创建3个空物体,分别命名为SDKManager,left,right 在sdkManager中挂载VRTK_SDK Manager并将left,right挂载在leftController和rightcontroller上 创建子物体Setup上面挂载VRTK_SDK Setup 并...

    VRTK在场景中的配置

    创建3个空物体,分别命名为SDKManager,left,right
    在sdkManager中挂载VRTK_SDK Manager并将left,right挂载在leftController和rightcontroller上
    创建子物体Setup上面挂载VRTK_SDK Setup
    并将CameraRig和steamvr拖拽为他的子物体
    这时点击SDKManger脚本上的AUto Populate将setup脚本挂载

    在这里插入图片描述这时设置left,right空物体。挂载上VRTK_Controller Event,VRTK_Pointer(实现于UI的交互),VRTK_Straight Pointer Render(直线激光的各种属性),将最后一个脚本赋值给第二个脚本的PointerRender的属性,此属性下面是选择哪种方式触发射线,按下,或者触摸上时之类的。
    此时有个巨大天坑,就是VRTK_sdk Setup取消AUTO Populate,如果勾选自动赋值预制体,那么你就无法发射射线就是这么神奇,一定要将勾去掉
    ,

    VRTK实现瞬移效果

    上文中在Scripts空物体下创建一个空物体取名playerLand,Vrtk——height Adjust Teleport和VRTK_Dash Teleport两种瞬移方式,注意能瞬移到地方必须有碰撞体,
    贝塞尔曲线有时会穿过碰撞体,此时需要勾选贝塞尔曲线中的Cursor Match Target rotate,这时就会紧贴物体

    瞬移限制区域的三种方法
    挂载一个VRTK_policy放在瞬移脚本的下面,设置他的属性,并把他赋值给瞬移脚本

    将场景烘焙后,设置Nav Mesh Limit Distance的值,此值一般为0.5f,表示在可瞬移区域在往不可瞬移区域前进0.5f,若设置为0
    表示的是此功能无效,而不是不前进,不能为0

    托拽预制体中的DestinationPoint,射线接触到此预制体即可瞬移,修改预制体里面的子物体,改变大小,即可由圆柱改为区域。或者你想要的形状,在为他们添加上collider

    优化瞬移指针

    贝泽尔曲线各种属性
    custom Cursor 指针与碰撞体相交的光标
    custom Tracer 构成曲线的元素
    Tracer Density 表示构成曲线元素的密度
    Cursor Radius 光标的半径
    Rescale Tracer 根据距离长短拉伸曲线元素
    Valid Location Object 可移动物体
    Invalid Location Object 不可移动的物体

    Steamvr中的Teleport文件中的model和material有模型和材质可以修改瞬移指针

    VRTK物体交互

    交互的三种形式: Touch,Grab,Use
    在交互物体上挂载VRTK_Interactable Object脚本
    is Grabbable ,is useable的勾选表示是否启用此功能
    Valid Drop:no drop 表示松开之类操作都不放下物体
    drop anywhere 松开掉落在任何地方
    drop Valid Snap Drop Zone 掉落在指定区域,如果在附近就会吸附上去

    交互物体上挂载VRTK_Interact Controller Appearance
    选择在哪种状态下隐藏手柄
    交互物体上挂载VRTK_Interact Haptics
    物体在哪种状态下发生抖动,
    strength On Touch 抖动的力度
    Duration On Touch 抖动持续的时间
    Interval On Touch 抖动间隔的时间

    手柄上要挂载VRTK_Interact Touch,VRTK_interact Grab脚本,这样在触摸和按下手柄部件时才能产生交互

    可视化编辑就是在WIndow里的vrtk里面的Setup Interaction Object里面设置属性,完成后点确认,则被你点中的物体自动配置脚本

    此时你与交互物体互动时,拿起的角度,位置可能不是很符合设计要求
    在交互物体下创造两个空物体位置,可视化窗口配置的有个VRTK_Child of Controller Grab Attach脚本
    将两个空物体分配给你想左手,右手交互后的手持位置,在Right Snap Handle。Left Snap Handle
    这是角度还是不对的,这时候调整两个空物体的旋转,就是调整手持后物体的旋转

    VR攀爬

    创建一个游玩区域空物体挂载瞬移脚本,并在下面继续挂载VRTK_Player Climb,VRTK_Body Physics
    (给物体创建一个物理效果,添加碰撞,重力)
    然后给要攀爬的地方创建一个3d物体,大小范围设置为你想要的攀登区域,然后使用可视化窗口配置

    将Grab Attach Mechanic改为Climbable,将Add Rigibody取消(取决你有没有这方面需求)然后配置

    手柄在此范围即可完成攀登效果

    关节点相关控制

    在这里插入图片描述

    配置窗口选择VRTK_FIXed Joint Grab Attach 他相对于children of Controller有一个Break Force 配置这个脚本的交互物体碰撞到其他碰撞体在多大的力的情况下会脱离手柄,这样更真实

    VRTK_Track Object Grab Attach脚本是互动物体距离手柄多少距离会脱离,而他碰到其他碰撞体会被阻挡,但不会脱离手柄,除非距离手柄距离大于你设置的脱离距离

    VRTK_Spring Joint Grab Attach脚本是让互动物体与手柄之间仿佛用弹簧链接的效果

    开关门效果的实现:
    添加Hinge Joint 实现绕轴旋转,观察要旋转的轴,通过改变Axis的x,y,z的值,要绕着哪个轴旋转那么哪个轴的值为1,其他为0。设置spring的属性的spring控制回弹力度
    勾选limits,设置最大旋转角度和最小旋转角度
    然后在配置界面旋转rotator Track脚本,自动配置

    VR边缘高亮和振动(VRTKhandlight)

    在这里插入图片描述

    默认配置交互脚本,然后添加VRTK_Outline Object Copy Highlighter就能产生物体边缘高亮,Thickness的值大小决定边缘高亮的宽度

    在手柄左右添加脚本VRTK_Controller Highlighter组件,并添加自创脚本Controller Highlight
    在这里插入图片描述
    首先给Trigger的按下和松开绑定事件,其他组件的绑定事件类似
    然后按下和松开组件的操作,让按下时Trigger组件变黄,并让手柄透明,手柄松开恢复正常

    然后是手柄接触碰撞体的时候,这里写的是手柄接触到碰撞体,手柄主体变黄,并产生震动
    这时手柄主体会变黄,不会产生边缘高亮
    这时需要在外面的手柄组件上添加VRTK_Outline Object Copy Highlighter脚本,并将他赋值给VRTK_Controller Highlighter的Element Highlighter Overrides里面的Body这时会产生高亮边缘

    VRTK两手操作

    交互物体配置交互脚本,设置Secondary Grab Attach为Control Direction即为双手持握脚本
    双手持握物体,旋转物体的时候,会发现物体会随着自己本身的轴旋转,会脱离手柄旋转
    这时我们需要创建一个位置为0,0,0的空物体作为他的父物体,将他的中心位置移动到父物体的位置,然后在拖动父物体继而带动子物体到你想要的位置(左右手握在什么位置的设定上文有描述)这时旋转就会发现不会脱离手柄

    配置脚本设为Axis Scale即双手可以改变物体的大小
    VRTK_Axis Scale Grab Action的Obsolete Setting是锁定某轴上的大小缩减,勾选既不能在这个方向进行大小变化

    VRTK与UI互动(VRUI)

    创建一个Canvas,设置为world Space。挂载一个VRTK_UI Canvas脚本
    脚本中的Auto Active Within Distance 值为0时是不启动的意思,代表手柄离UI距离是多少的时候触发点击效果

    手柄上需挂载发射射线的脚本,touch的脚本,还需要在添加一个VRTK_UI pointer的脚本

    头部发射射线,手柄只需挂载ControllerEvents脚本即可,在Scripts物体下创建一个新空物体,挂载发射射线,uipointer脚本,这时将射线脚本,和UIpointer脚本中的Controller赋值,你想哪个手柄控制,就拖拽哪个手柄赋值,这时还需要添加一个VRTK_Transform Follow 第一个赋值你的头部的眼睛,第二个赋值你想要改变的物体,这时就把自身拖拽赋值即可(新空物体)。(这时虽然头部关联上了,但是不是很精准)

    VR远程拾取物体(vrlongget)

    给交互物体配置的时候勾选is useable然后配置
    手柄控制器配置controllerEvents,touch,grab,射线脚本,此外在添加Use脚本,以及VRTK_Interact Use
    —unity Events。
    将pointer脚本中的interact with objects勾选上
    VRTK_Interact use—unity Events上的On Controller Use添加两个监听事件
    将Grab脚本拖拽,选择interactGrab.AttemptGrab
    将Pointer脚本拖拽,选择pointer.togole,拾取物品后射线消失(防止你松开后瞬移到物体面前,如果你有瞬移功能的话)
    (注意用trigger键将物体拾取过来后,是按grip(手柄尾部左右两个按钮)来完成释放)

    开关灯设置其实就是重写staruseing方法
    手柄配置不变
    交互物体无需配置,自创脚本,引入vrtk命名空间,脚本继承VRTK_InteractableObject
    重写StartUsing方法即可完成开关

    补充远程拾取,勾选pointer脚本中的Grab to point Tip(同时还是要勾选上面的interact with objects)这时物体不会在来到你手中,而是跟随你射线发出的光标的位置移动(感觉就像远程操纵物体一样)

    改变手柄形状,精确控制(这是通过抓取机制,但你抓取其他物体时候,手柄会掉出来)

    手柄挂载基础脚本外,再挂载VRTK_Object Auto Grab脚本
    脚本属性的Object to Grab用你想替代的模型赋值
    此时手柄和替代模型就绑定在一起了,我们要想办法让手柄消失
    替代模型使用自动配置时,勾选上is useable。注意不需要重力,震动这些脚本,然后挂载VRTK_Interact
    Object Appearance脚本,取消勾选Grab Appearance Setting里的Render Visible On Grab即可隐藏,但当你使用手柄时,手柄会出现,则你取消勾选use Appearance Setting里的相同属性

    控制动画的播放,扳机的松开,按下事件,也可以通过扳机搬下程度的事件来决定动画播放的进度
    在这里插入图片描述

    替换手柄模型

    手柄上配置基础脚本,将Camerrig里面的左右手的model隐藏,再将替换模型分别推拽为scripts里面左右手的子物体,这时去触摸互动物体有反应,但不能抓取,
    此时我们需要在左右手下面创建一个空物体挂载rigbody,取消重力,然后将他赋值给交互抓取脚本的Custom Settings里的Controller Attach Point,这时就能实现抓取功能

    VR防止穿墙和坠落(VRpreventWallFall)

    在挂载瞬移的脚本上添加VRTK_Headset Collision Fade脚本,VRTK_Headset Fade脚本,VRTK_Headset Collision脚本,这样人物进入碰撞体屏幕就会黑

    可以创建脚本,挂载瞬移脚本上
    在这里插入图片描述

    当你走到一个物体上时,离开物体不会自动下落,你需要添加一个VRTK_Body Physics,只要就会自动下落了

    展开全文
  • VRTK - Virtual Reality Toolkit A productive VR Toolkit for rapidly building VR solutions in Unity3d 2018.1 or above. Introduction VRTK aims to make building VR solutions in Unity3d fast and ...
  • VRTK_2.2.1

    2018-07-27 16:51:39
    VRTK2.2.1目前unity5.6 到 2017.4都可以,其他版本没用过,修复了之前版本的很多bug,个人觉得是VRTK里面比较好用的,如果是对功能没有太细的要求 以及 刚使用VRTK 的开发者 建议下载
  • VRTK Support If you have any questions/comments, please visit Pico Developer Answers and raise your question there. Special Thanks to Contributors We're very grateful for the significant ...
  • vrtk3.2.1Demo

    2019-03-16 16:33:26
    自己测试用的一个小案列,涉及到VR的瞬移、抓取、UI触发,插件是VRTK3.2.1、steam vr plugin1.1.1,可以参考我的博客学习
  • VRTK-3.1.0

    2018-06-27 09:00:01
    VRTK3.1.0版本 ,配合steam vr plugin插件一起使用,结合U3D开发HTC游戏
  • VRTK-3.2.1

    2018-11-17 10:10:09
    VRTK是扩展SteamVR的一个Unity3D插件,主要是为了方便开发者快速地开发出vr产品,其内置了相当多的当下比较成熟的VR界面下的交互、操作等解决方案.
  • VRTK全版本

    2018-11-17 10:13:04
    VRTK是扩展SteamVR的一个Unity3D插件,主要是为了方便开发者快速地开发出vr产品,其内置了相当多的当下比较成熟的VR界面下的交互、操作等解决方案。这里有从1.0.1到3.2.1全部版本。
  • 最新vrtk插件

    2017-12-23 16:15:47
    这是在unity下载的最新的vrtk插件,用于学习和开发htc vive有很大的帮助。
  • unity steamVR 和VRTK配套

    2021-01-13 11:03:53
    由于VRTK需要和SteamVR 配套
  • 最新VRTK插件

    2019-04-27 17:05:11
    最新VRTK插件,用于XR开发,直接导入项目Assets下,需要结合SteamVR或其他插件使用
  • VRTK思维脑图

    2018-09-18 10:53:48
    VRTK插件使用及概述,Demo的分析及处理对应的游戏开发
  • VRTK抓取功能及VRTK_InteractGrab解析

    千次阅读 2017-12-20 10:48:56
    实现抓取功能:第一,手柄上要添加VRTK_InteractGrab脚本;第二,被抓取的物体上要添加VRTK_InteractableObject脚本并且isGrabbable 标志位设置为真,而且该物体满足被触碰的条件。以上都满足即可抓取物体。 下面为...

    实现抓取功能:第一,手柄上要添加VRTK_InteractGrab脚本;第二,被抓取的物体上要添加VRTK_InteractableObject脚本并且isGrabbable 标志位设置为真,而且该物体满足被触碰的条件。以上都满足即可抓取物体。

    下面为详细步骤:

    VRTK_InteractGrab为抓取交互对象脚本,要添加到手柄上。当把该脚本添加到手柄上后,会自动添加VRTK_InteractTouch等脚本到手柄。如图:

     

    被抓取的物体要有碰撞体,而且添加VRTK_InteractableObject脚本,如图

     

    这样就实现了抓取该物体功能。


     

    下面进行原理详细解析:

    VRTK_InteractGrab:抓取交互对象

    交互抓取脚本被 添加到[CameraRig] 预制里的控制器对象上,并且需要添加VRTK_ControllerEvents脚本用来监听抓取和释放交互游戏对象的控制器按钮事件。它监听 AliasGrabOn和AliasGrabOff 事件来确定对象合适应该被抓取和释放。

     

     

     

    注意:

    1、控制器对象也需要添加VRTK_InteractTouch脚本用来确定何时一个可交互对象被触摸到。只有有效的被触摸对象才能被抓取。
     

    2、如果控制器触碰到一个包含VRTK_InteractableObject脚本并且isGrabbable 标志位设置为真的游戏对象,该对象就可以被抓取。
     

    3、如果有效可交互对象是可抓取的,按下控制器上所设置的抓取按钮(默认是Trigger按钮)将抓取和对齐对象到控制器上,并且直到抓取按钮松开才会被释放。
     

    4、当控制器抓取按钮松开时,如果可交互对象是可抓取的,它将会被按一定速率沿着控制器松开时的方向进行推动,这就模拟了对象投掷

     

     

    5、可交互对象需要碰撞体用来激活触发和一个刚体用来拾取它们并在游戏世界中四处移动它们。

     

     

    Controller Attach Point:控制器模型上用来吸附抓取的对象的刚体点(默认为tip)
     

    Hide Controller On Grab: 当有效抓取发生时隐藏控制器模型。

     

    Hide Controller Delay:在抓取时隐藏控制器之前的等待时间秒数。

     

    Grab Precognition:预先抓取: 在抓取按钮按下时和控制器正在抓取某个东西时之间时间量。例如,如果一个对象下落过快,因为人的反应时间可能很难及时按下抓取按钮来抓住对象。这个值越高 意味着抓取键可以越提前在控制器碰到对象以及碰撞发生前按下,如果抓取键仍然被按下(如果抓取对象需要持续按键抓取的话),则抓取动作就会成功。

     

    Throw Multiplier:投掷乘数:用来乘以对象被扔出时速度的量。在放大 CameraRig 来模拟能够把物体扔的更远时是很有用的。

     

    Create Rigid Body When Not Touching:如果勾选,当抓取按钮按下时,如果控制器没有碰到一个可交互的对象,那么添加到控制器上的刚体就允许控制器去推动周围其他的刚体对象。

     

     

    发出事件如下:
     

    · ControllerGrabInteractableObject: 当有效对象被抓取时发出

     

    · ControllerUngrabInteractableObject: 当有效对象从抓取到放开时发出

     

     


     


     

    展开全文
  • VRTK GearVR测试 警告! 该存储库不再维护。 以下详细信息是指VRTK的旧版本(3.3.0-alpha分支,2018年1月)。 这是用于在GearVR上测试的存储库(请参阅VRTK描述)。 这是一个完全独立的存储库,并不代表当前正在...
  • VRTK summary

    2018-04-24 15:07:54
    1, 非常全面非常详细:官方文档。 a) 可以从官方的samples开始,先了解每个sample是实现什么功能的,看和自己要实现功能相关的。2, Unity Steam_VR开发工具插件---VRTK 自带案例分析...

    1,  非常全面非常详细:官方文档。
        a) 可以从官方的samples开始,先了解每个sample是实现什么功能的,看和自己要实现功能相关的。



    展开全文
  • Quest-VRTK-样板:使用VRTK为Oculus Quest设计的Template Unity项目
  • VRTK基本使用

    2021-07-19 13:56:53
    VRTK开发日志 1. 初始配置 1.1 摄像头 创建空物体命名为VRTK,负责管理接收头显和手柄信息 添加VRTK_SDK Manager脚本 在VRTK物体下继续创建空子物体,命名为VRTK_Setup,负责管理头显的启动 添加VRTK_SDK ...

    VRTK开发日志

    1. 初始配置

    1.1 摄像头

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

    1.2 射线

    1. 创建空物体命名为VRTK_Scripts,负责管理手柄功能

    2. 在VRTK_Scripts下继续创建空子物体,命名为LeftController或RightController,负责管理左或右手柄

      添加以下脚本

    • 手柄控制:VRTK_Controller Events脚本

    • 射线功能:VRTK_Point脚本

    • 射线显示:VRTK_Straight Pointer Renderer脚本

    1. 将VRTK_Straight Pointer Renderer脚本拖拽到VRTK_Point脚本的Pointer Renderer中

    2. 将LeftController或RightController物体拖拽到VRTK物体里VRTK_SDK Manager脚本的Left Controller或Right Controller中,完成射线配置

    2. 简单交互

    2.1 按钮点击

    1. 在LeftController或RightController物体中添加
    • VRTK_UI Pointer脚本
    1. 在Canvas下添加
    • VRTK_UI Canvas脚本

    触碰效果设置

    变色:Button组件Transition设置为Color Tint,调节Highlighted Color

    变图:Button组件Transition设置为Sprite Swap,设置Highlighted Sprite

    触碰区域修正

    将VRTK_UI Canvas脚本中生成和修改canvasBoxCollider的4行代码注释

    为按钮添加Box Collider组件,并调整边缘

    2.2 地面传送

    ​ 在VRTK_Scripts物体下创建空子物体,命名为PlayerArea,负责实现传送功能

    • 基本传送:添加VRTK_Basic Teleport脚本

    • 指定传送:添加VRTK_Policy List脚本,选择Ignore或Include,输入筛选标志(标签、脚本、层级)

      在LeftController和RightController物体的VRTK_Pointer脚本中Target List Policy项指定所添加的VRTK_Policy List脚本

    2.3 物体拾取

    1. 在LeftController或RightController物体中
      添加以下脚本
    • 触碰检测:VRTK_Interact Touch脚本
    • 拾取功能:VRTK_Interact Garb脚本
    1. 在物体上添加
    • VRTK_Interactable Object脚本,勾选Is Grabbable

      其他可按需求添加脚本

    • 换手抓取:VRTK_Swap Controller Grab Action脚本,并拖拽到VRTK_Interactable Object脚本Secondary Grab Action Script上

    • 触碰边缘高亮:VRTK_Outline Object Copy Highlighter脚本

    • 抓取为子物体:VRTK_Child Of Controller Grab Attach脚本,在物体下创建空子物体,调整位置和角度,拖拽到Right Snap Handle或Left Snap Handle上

    参考视频VR游乐园(P8-P12)

    展开全文
  • VRTK+SteamVR.zip

    2020-09-26 10:47:26
    VRTK-3.2.1 SteamVR.Plugin1.2,配套使用,需要手动修改报错信息。XR替换代码中的VR。
  • VRTK-master.zip

    2020-04-21 22:25:27
    VRTK,HTC view VR开发配套相关插件,可用正常使用unity 5.6 unity 5.6 unity 5.6
  • VRTK unity插件

    2017-06-15 14:17:45
    unity开发虚拟现实,,VRTK是必备的插件,能实现瞬移,抓取物体,与物体进行交互等等,,
  • VRTK 基本配置

    千次阅读 2018-04-08 14:11:32
    一、VRTK 环境搭建前提:首先需要从商店导入 SteamVR(V1.2.2 版)以及 VRTK(V3.2.1 版)① 新建一个空物体改名为[VRTK_SDKManager],并且添加脚本VRTK_SDKManager② 新建一个空物体改名为[VRTK_SDKSetup],并且...
  • vrtk使用总结

    2018-03-12 13:45:07
    VRTK这个工具包提供了很多在Unity3d做VR开发中通用的VR功能,主要包括 1)具有别名的控制器按钮事件 2)控制世界指针(激光指针) 3)玩家瞬间转移 4)使用控制器抓起/握住物体 5)使用控制器与物体交互 6)把游戏...
  • VRTK3.3+SteamVR1.2.3.zip

    2021-05-04 16:12:04
    VRTK3.3+SteamVR1.2.3.zip
  • VRTK-2.2.1.zip

    2019-08-23 22:17:32
    VRTK这个工具包提供了许多unity引擎中VR常用的功能,诸如(但不局限于):用常用别名封装的控制器按钮事件控制器世界光标指针(eg.镭射光标steamVR_LaserPointer)玩家传送机制用控制器抓取/握住游戏对象用控制器和...
  • VRTK_PhysicsSilider

    2020-06-28 23:15:40
    实现效果同VRTK_AraificialSilider。(区别在于VRTK_PhysicsSilider是通过unity自带物理效果实现的,而VRTK_AraificialSilider是VRTK自己实现的一套逻辑)这里可以去看看之前写的VRTK_PhysicsSilider脚本介绍。
  • VRTK_For_Unity3D

    2019-08-17 11:12:42
    VRTK团队虽然黄了,但是开源的HTC游戏插件还是值得收藏的,这里准本了3个版本的vrtk
  • VRTK学习简笔

    2020-05-02 20:51:46
    VRTK学习简笔 一、导入SteamVRPlugin和VRTK Untiy:2018、2019都能满足 VRTKVRTK (3.3.0)并不支持 SteamVR 2.0。Steam商店即可下载 SteamVR:下载v1.2.3 导入上述检查是否兼容,是否报错。 只要SteamVR不出错误就...
  • VRTK 3.2.0.unitypackage

    2019-08-23 17:31:01
    VRTK在VR开发中使用起来非常方便,写一些简单的交互或者简单的功能,很有用,欢迎下载
  • VRTK.unitypackage

    2019-10-16 11:10:37
    用于unity3D软件VR相关项目的开发工具包。包含VRTK3.1版本和最新资源商店的steamVR

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,126
精华内容 450
关键字:

vrtk