VR开发--SteamVR框架工具(1):VRTK

作者: 元宇宙协会 | 来源:发表于2016-08-23 22:07 被阅读5362次

    1、工具集成方法:

    1、GitHub远程仓库:
    git clone https://github.com/thestonefox/SteamVR_Unity_Toolkit
    2、从Unity Store商店导入:

    1.png

    框架工具:
    因为SteamVR plugin含有令人困惑或不完善的代码,所以框架作者决定创建一个脚本/资源集合,我们用Unity3d创建VR很方便。

    2、集成SteamVR插件:

    由于框架工具是集成SteamVR,所以我们导入HTC Vive api

    2.png

    3、控件基础

    1、【CameraRig】:就是头盔视角模型,拖入场景即可触发头盔显示
    它内部包含了控制器上模型的子物体(头盔与左右手柄控制器)

    3.png

    2、【FramesPerSecondCanvas】`
    这个画布添加一个表示帧率的文本元素到头盔上。使用这个预制必须把它放到场景中,然后头盔的相机需要被添加到画布上。

    选择场景中的FremesPerSecondCanvas对象
    2.1找到Canvas组件
    2.2设置Render Camera参数为 [CameraRig]预制里的Camera(eye)

    4.png

    预制上有很多可以被设置的参数。展开层级视图中的FramesPerSecondCanvas对象,显示子对象 FramesPerSecondText并点击显示额外参数,这些参数可以通过FramesPerSecondViewer脚本来设置。

    所在脚本控件:详细参阅018场景
    5.png

    4.脚本Scripts

      包含所有添加到Unity的VR功能工具脚本
    
    4.1: ****VRTK_ControllerActions - 控制器行为 :****

    处理常见控制器行为的帮助方法
    动给定时长的能力

    //如果控制器模型是可见的返回真,否则返回假。
    IsControllerVisible(): 
    
    //根据所给布尔值状态设置控制器模型的可见性。如果传入true,控制器模型就被显示出来,如果传入false,控制器就被隐藏了。
    ToggleControllerModel(bool on):
    
    // 启动控制器开始震动,根据给定的持续计时(第一个参数)和震动强度(第二个strength参数)。最大强度可以是3999,超过就限制为3999。
    TriggerHapticPulse(int duration, ushort strength):
    
    6.png
    016脚本展示隐藏控制器和让控制器在给定强度下震
    4.2: ****VRTK_ControllerEvents:****控制器事件

    控制器事件脚本被添加到 [CameraRig]预制里的控制器对象上,为控制器上的每个按钮按下提供事件监听(除了系统菜单按钮,因为这个按钮不能被重载,只能由Steam使用)。

    7.png

    内部事件发出属性


    9.png

    脚本所在位置:
    SteamVR_Unity_Toolkit/Examples/Resources/Scripts /VRTK_ControllerEvents_ListenerExample.cs脚本

    8.png
    脚本02场景看VRTK_ControllerEvents例子

    参考文档:
    1、http://www.jianshu.com/p/8f731eac95db
    2、http://www.manew.com/thread-91035-1-1.html
    3、http://www.cnblogs.com/czaoth/p/5610573.html

    一个人的路需要更多人的陪伴:欢迎加群: 134688909 一起交流,分享心得,获取项目资源。

    相关文章

      网友评论

        本文标题:VR开发--SteamVR框架工具(1):VRTK

        本文链接:https://www.haomeiwen.com/subject/qwynsttx.html