当前位置:   article > 正文

【Unity】虚拟现实 VRTK插件使用教程(一)插件基本配置

vrtk


什么是VRTK

VRTK全称是Virtual Reality Toolkit,前身是SteamVR Toolkit,由于后续版本开始支持其他VR平台的SDK,如Oculus、Daydream、GearVR等,故改名为VRTK,它是使用Unity进行VR交互开发的利器。

如何下载

  1. 在Project中输入“VRTK”。

  2. 选择从Asset Store中搜索。
    在这里插入图片描述

  3. 选择 VRTK - SteamVR Unity Toolkit。

  4. 导入包或点击下载(不同版本情况不同)。

现在的安装路径可能略微有些区别,总之看到下图的图标就装它就对了。
在这里插入图片描述

基本配置

  1. 创建空物体,命名为[SDKManager]。
  2. 创建子物体,命名为SteamVR。
  3. 拖拽[CameraRig](现在改成[UnityBase_CameraRig]了)至SteamVR中。
  4. 为SteamVR附加VRTK_SDK Setup组件,设置Quick Select属性为SteamVR(这个要根据游戏平台选择,假如你做的是安卓项目就要选安卓相关的)。
  5. 为SDKManager附加VRTK_SDKManager组件,单击Auto Populate按钮,自动填充安装的SDK。
    在这里插入图片描述
    成功情况如上图所示,但是基本上都不会成功的。这时候需要找到LegacyExampleFiles(或者Examples)文件夹,随便打开一个场景再返回自己的场景即可。如果还没成功,可能是你Quick Select属性设置的有问题。
    在这里插入图片描述
  6. 创建空物体,命名为:[VRTKScript]。
  7. 创建子物体,命名为Head,附加VRTK_SDKObjectAlias组件,设置Sdk Object 属性为Headset。
  8. 创建子物体,命名为Body,附加VRTK_SDKObjectAlias组件,设置Sdk Object 属性为Boundary。
  9. 创建子物体,命名为LeftController,附加VRTK_ControllerEvent组件。
  10. 创建子物体,命名为RightController,附加VRTK_ControllerEvent组件。
    在这里插入图片描述
  11. 分别将LeftController、RightController物体拖拽至[SDKManager]组件的相应属性中。

在这里插入图片描述
12. 创建[SDKManager]的子物体,命名为Simulator。
13. 将VRTK/Source/SDK/Simulatro/[VRSimulator_CameraRig](旧版本文件目录为VRTK/Prefabs/)拖拽到Simulator中。
在这里插入图片描述
至此,VRTK的基本配置就结束了。LegacyExampleFiles(或者Examples)文件夹中提供了大量的示例场景,可以打开多看看。

另外,[VRSimulator_CameraRig]是一个模拟器,用于在没有VR实体设备的情况下使用鼠标键盘进行调试。具体操作方式在程序运行后会有提示,操作的快捷键也是可以改的,查看[VRSimulator_CameraRig]的属性就能看到,具体如下图:
在这里插入图片描述

事件监听

给左右手的Controller(LeftController和RightController)加上VRTK_ControllerEvents组件,如下图:

在这里插入图片描述
事件监听代码示例:

/// <summary>
/// 枪的控制脚本
/// </summary>
public class SingleGunControl : MonoBehaviour
{
    private VRTK_ControllerEvents controller;

    private void Awake()
    {
        controller = GetComponent<VRTK_ControllerEvents>();
    }

    private void OnEnable()
    {
        controller.TriggerPressed += OnTriggerPressed;
    }

    private void OnDisable()
    {
        controller.TriggerPressed -= OnTriggerPressed;
    }

    private void OnTriggerPressed(object sender, ControllerInteractionEventArgs e)
    {
        Debug.LogFormat("{0} -- {1}", sender, e.touchpadAngle);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

将此脚本挂到LeftController和RightController即可,输出内容如下:
在这里插入图片描述

HTC VIVE按键图例

在这里插入图片描述

在此附上VRTK的文档链接:VRTK官方文档


更多内容请查看总目录【Unity】Unity学习笔记目录整理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/915174
推荐阅读
相关标签
  

闽ICP备14008679号