2、集成手柄 创建游戏对象,分别为左右手,添加脚本: 1、SteamVR_ControllerManager ? 3、SteamVR_GameView 这个脚本主要负责将游戏画面绘制到窗口上去 ? 4、代码获取手柄对象: //1获取到某个按键的状态 var device = SteamVR_Controller.Input(uint); device.GetTouchDown(SteamVR_Controller.ButtonMask TriggerHapticPulse(); 6、SteamVR_Controller 控制器的相关信息都包含在SteamVR_Controller这个脚本之中 而这个脚本是被SteamVR_Render 7 3、手柄渲染 SteamVR_RenderModel:该组件用于渲染手柄的模型,并且跟踪手柄的位置 ? 4、活动空间(即玩家的活动空间) SteamVR_PlayArea 用于显示游玩区域 ?
新版的VRTK工具已经不支持瞬移功能的直接添加,需要添加VRTK控制器来进行相关的瞬移功能
1、工具集成方法: 1、GitHub远程仓库: git clone https://github.com/thestonefox/SteamVR_Unity_Toolkit 2、从Unity Store 框架工具: 因为SteamVR plugin含有令人困惑或不完善的代码,所以框架作者决定创建一个脚本/资源集合,我们用Unity3d创建VR很方便。 2、集成SteamVR插件: 由于框架工具是集成SteamVR,所以我们导入HTC Vive api ? 脚本所在位置: SteamVR_Unity_Toolkit/Examples/Resources/Scripts /VRTK_ControllerEvents_ListenerExample.cs脚本
通过跟踪头部运动,设置一个代表光标的准星,碰触物体后改变位置和朝向,贴近被凝视物体。物体a被凝视一定时间后消失,物体b被凝视一定时间后被击中
它们被命名为 SteamVR_Action_Boolean、SteamVR_Action_Single、SteamVR_Action_Vector2、SteamVR_Action_Vector3、SteamVR_Action_Pose 此系统已更新为使用 SteamVR 输入和新的 SteamVR 骨骼输入系统。 该系统可以作为如何使用这些新系统的示例。 6.1 The Basics(基本需求) SteamVR_Skeleton_Poser脚本旨在独立于SteamVR交互系统运行,并可添加到您自己的系统中,但 SteamVR 交互系统开箱即用,是快速试用的好方法 如前所述,SteamVR_Skeleton_Poser 脚本旨在独立于 SteamVR 交互系统运行。 调用 poser.GetBlendedPose,传递 SteamVR_Behaviour_Skeleton 或SteamVR_Action_Skeleton 和 SteamVR_Input_Sources
按钮,通过点击此按钮即可打开 SteamVR Input 界面 ? ,如跟踪 VR 控制器,对应 SteamVR_Action_Pose 类型 Skeleton 类型动作: 对应 SteamVR_Action_Skeleton 类型 switch (o) { case SteamVR_Action_Boolean _: break; case SteamVR_Action_Single _ : break; case SteamVR_Action_Vector2 _: break; case SteamVR_Action_Vector3 _: 默认的 SteamVR 会有默认的交互,通过 SteamVR Input 窗口的 Open Binding UI 按钮,即可打开对应的按键绑定功能 ?
Meta公司开发技术推广部的主管David Oh说:“如果你已经用OpenVR API做出了自己的SteamVR应用,那么在Meta 2里,你不需要重新编码,就能提升沉浸感了。 Meta旨在在SteamVR上建立繁荣的AR生态圈,而这次整合只是第一步,能让开发人员通过Meta 2快速传送内容,再转化为高质量的3D全息影像到头显里。” Meta说计划加上更多对SteamVR的支持到Meta 2软件开发包以后的版本里。 Meta还说用户最终会用双手作为控制手柄,类似于Vive的控制器,而且它将优化自己的SLAM实时跟踪,为SteamVR提供定位追踪。 Meta还说将会努力将Meta应用和Vive手柄结合。
的碰撞检测 c、获取按钮事件 d、抓取:Box作为手柄transform的子物体,失去rigibody相关属性 e、松开:Box的parent为空,重新获取自身rigibody相关属性 实现步骤 1、导入SteamVR SDK 2、删掉原Camera,拖入[CameraRig]、新建盒子、地面 可调整头部大小:[CameraRig]——SteamVR_PlayArea——Size 3、获取手柄引用 该脚本挂在右手上, 即Controller (right) private SteamVR_TrackedObject trackedObject; private SteamVR_Controller.Device >(); device = SteamVR_Controller.Input((int)trackedObject.index); } 4、手柄与Box的碰撞检测 给两个Controller trackedObject; SteamVR_Controller.Device device; //获取到的碰撞到的box GameObject interactBox;
本文来告诉大家如何在基于 SteamVR 的 Unity3D 里面在用户点击菜单的时候,切换到新的场景的方法 在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识 虚拟现实入门四:通过脚本控制手与控制器 Unity OpenVR 虚拟现实入门五:通过传送控制玩家移动 Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动 如系列博客的内容,咱通过加入 SteamVR var player = GameObject.Find("Player"); GameObject.Destroy(player); SteamVR_LoadLevel.Begin("Challenge1 -1"); 上面代码有两个细节部分,第一个是通过 SteamVR_loadLevel 的 Begin 方法切换场景,其次是删除在 MainMenuScene 里面的 Player 对象。 添加之后可以关闭此窗口,关闭窗口将会自动保存 接下来还需要在 Challenge1-1 关卡1场景里面,将 SteamVR 里面的 Player 加入,否则进入到 Challenge1-1 关卡1场景将会啥都看不见
我期望在玩家视觉前方常驻一点文本,用于做有趣的交互,实现方法很简单 在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识,请参阅如下博客 Unity OpenVR 虚拟现实入门四:通过脚本控制手与控制器 Unity OpenVR 虚拟现实入门五:通过传送控制玩家移动 Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动 如系列博客的内容,咱通过加入 SteamVR 这个做法有坑是,如果文本距离玩家不够远,看起来诡异 ---- 本文会经常更新,请阅读原文: https://blog.lindexi.com/post/Unity3D-OpenVR-SteamVR
近日,Valve宣布推出Steam VR Skeletal Input(骨骼输入)系统第一个beta版本,目的是更加精确地捕捉用户手部姿势。据悉,Valve曾于今年5月发布了一款全新的Steam VR输入系统,而 Skeletal Input则是Steam VR输入系统的延伸。
SteamVR奠基人离开Valve 继Oculus人事地震——创始人“帕胖”帕尔默·拉齐离职后,对头——SteamVR平台的缔造者Het Faliszek也离开了老东家Valve。
新的游戏引擎还包括对Mac上的原生SteamVR支持,使Mac上可以使用同样完善的PC界面,并增加了在两个平台之间轻松转移项目的能力。 Framework功能,其已经支持苹果的ARKit和谷歌的 ARCore,开发商已经可以调用iOS 11中的ARKit,对VR和macOS新版等多平台的支持:包括新的Oculus SDK 1.17、SteamVR 新的游戏引擎还包括对Mac上的原生SteamVR支持,使Mac上可以使用同样完善的PC界面,并增加了在两个平台之间轻松转移项目的能力。也就是说在更新后,Mac上的VR游戏数量将与PC平台几乎一致。
搜索“Steam VR”,找到“SteamVR Plugin”插件(https://assetstore.unity.com/packages/tools/integration/steamvr-plugin ▲ SteamVR Plugin 在 Unity 编辑器中,如果网络状况不太好,可能需要等待非常久的时间才能刷出 SteamVR 插件的导入界面。 ▲ 下载导入 SteamVR Plugin 当成功显示了 SteamVR 下载界面后,点击右下角的“下载”按钮。等待下载完成后,点击“导入”按钮。这样,你的项目中就有了 SteamVR 的插件了。 接下来,我们将利用 SteamVR 插件来开发我们的第一个虚拟现实应用。 第一个虚拟现实应用 因为我们刚刚安装了 SteamVR 插件,所以我们可以在界面的资产面板中看到“SteamVR”文件夹,定位到“SteamVR”-“InteractionSystem”->“Core”
打印结果 2-2 : 获取扳机按键 // 按下了扳机按钮调用 if (device.GetTouch(SteamVR_Controller.ButtonMask.Trigger // 按下手柄左右的对称按钮调用,而且调用频率跟刷新频率一致 if (device.GetTouch(SteamVR_Controller.ButtonMask.Grip)) (SteamVR_Controller.DeviceRelation.Leftmost); SteamVR_Controller.Input(device1).TriggerHapticPulse (2000); // 获取左右手柄的标志 var device2 = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Rightmost ); // 设置获取手柄的震动值 SteamVR_Controller.Input(device2).TriggerHapticPulse(100);
1、VRTK_SimplePointer:激光指针+2、BezierPointer:贝塞尔曲线激光指针
此外,关于Vive Pro的音频质量问题,SteamVR的beta版本则通过固件更新来“优化音频质量”,以解决用户在Vive Pro测评中发现的问题。
首个SteamVR输入系统发布,兼容所有主流手柄控制器 近日,Steam为全新的输入系统(SteamVR Input)发布了第一个测试版本。 据悉,SteamVR Inpu允许用户为自己喜欢的游戏构建绑定配置,此外,该系统还可以调整游戏的控制方案,以适配左撇子用户、残疾用户或其他个人偏好。
近日,SteamVR测试版提供了一项名为“Motion Smoothing”的新功能。该功能与OculusRift的异步空间扭曲(ASW)极为相似。 ?
对应 SteamVR_Action_Vector2 类型 Vector3 类型动作: 返回三维的数值,对应 SteamVR_Action_Vector3 类型 Pose 类型动作: 返回三维空间中的位置和旋转 ,如跟踪 VR 控制器,对应 SteamVR_Action_Pose 类型 Skeleton 类型动作: 对应 SteamVR_Action_Skeleton 类型 例如咱期望获取摇杆的动作,咱本质逻辑需要的是一个表示上下左右移动方向的值 如上文可以了解到对应的是 SteamVR_Action_Vector2 类型,此时的代码编写如下 public SteamVR_Action_Vector2 input; 将代码脚本附加到某个游戏对象上 窗口->SteamVR Input 打开 ? 在 SteamVR Input 窗口里面,点击 Open binding UI 按钮,打开 SteamVR 的 控制器按键设置 界面 ?