HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列
Posted 行秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列相关的知识,希望对你有一定的参考价值。
相关文档与SDK下载地址:Hi5 2.0 插件下载 - Powered By Noitom Internet Team
一、 Unity VR 基础环境配置
请使用 Unity 2019.x/2020.x/2021.x LTS 版本新建工程,Unity 2022 版本正在适配中。1. 插件下载
到 Steam 官网 https://github.com/ValveSoftware/steamvr_unity_plugin 下载最新版本 Steam VR Unity 插件。 硬件请确保应用的是 Steam VR Lighthouse 方案 2.0,并安装 steam 和 steamvr 软件。 定位基站:SteamVR Base Station 2.0追踪器:HTC Vive Tracker 2.0/3.0
2. 插件安装
1) 新建或打开 Unity 工程 2) 打开插件文件夹,将 Assets 文件夹中 SteamVR 目录拷贝到 Unity 工程中的 Assets文件夹中 。(当然这还有很多插件导入的方式,比如下载Steam VR plunge,然后导入工程。或再Unity 商店中下载插件进行导入。) 3) 然后等待插件导入 4) SteamVR 插件导入成功后,弹窗中点击 UnityXR 按钮,然后点击 Accept All 按钮, 5) 安装完成后会弹出 Project Settings,显是 OpenVR Loader 插件处于应用状态,表示 插件安装成功,(弹框选择点击 Accept All 按钮)如图所示: 完成以上配置后即可在窗口中找到 SteamVR Input 按钮,点击 Windows ->SteamVR Input 若弹出 Copy Examples 弹窗,点击 Yes 按钮,然后等待导入和编译。二、 Hi5_2 交互 SDK 安装
Unity VR 环境配置完成后,先安装 Hi5-2 SDK ,再安装交互 SDK 。 1) 先导入 Hi5-2 SDK : Hi5_2_Package_Vive.unitypackage 2) 再导入交互 SDK: Hi5_2_Interaction_Vive.unitypackage 备注:导入SDK方法:点击->Assets->Importing Package->Custom Package…找到SDK文件,进行确认。三、 Hi5_2 交互 SDK 应用
1. 工程设置
点击 Edit ->Project Settings 打开工程设置窗口,如图所示: 1.1 设置 Tags and Layers Layer 8 Hi5OtherFingerTail Layer 9 Hi5OtherFingerOther Layer 10 Hi5Palm Layer 11 Hi5ObjectGrasp Layer 12 Hi5Plane Layer 13 Hi5ObjectTrigger Layer 14 Hi5IndexFingerTail 1.2 设置 Physics2. 场景设置
打开示例场景 TableScene_Vive,参考其设置,如图所示 场景中必须包含以下内容: 1) Hi5 Interaction Manager 2) Hi5_Interaction_Objects3) Hi5_Interaction_Simple_Objects
4) Hi5_Left_Hand_C ,Hi5_Right_Hand_C ,Hi5_Left_Hand_V ,Hi5_Right_Hand_V
3. 物体设置
3.1 普通交互物体设置 物体设置分为父级物体和子级物体设置,父级物体 Layer 要设置为 Hi5ObjectGrasp,子 级物体 Layer 要设置为 Hi5ObjectTrigger,例如 Interaction_Object_4 ->Cube,设置如 图所示:3.2 组合物体设置
组合物体分为三层, 组合物体的最外层物体 Layer 设置为 Default,组合物体中的外层物体 的 Layer 设 置 为 Hi5ObjectGrasp , 组 合 物 体 中 的 内 层 物 体 的 Layer 设 置 为 Hi5ObjectTrigger,例如 Interaction_Compound_Object_10,设置如图所示:3.3 简单物体设置
简单物体只有抓握等功能,自身不会产生运动,当抓住释放后会停留在原位置,其 Layer 要设置为 Hi5ObjectGrasp,例如 Interaction_Simple_Object_2,设置如图所示:3.4 桌面物体
桌面放置物体的 Layer 要设置为 Hi5_Plane,例如 Box001,设置如图所示:
4. 按钮设置
例如 Button_Interaction_3,设置如图所示:
之后就可以点击运行啦
四、 相关接口
1. 手相关接口
Hi5_Interface_Hand 脚本
一、手状态
enum E_Interface_Hand_State
ERelease = -1,
EPinch = 2,
ELift = 4,
E_Interface_Hand_State GetHandState(out int interactionObjectId) E_Interface_Hand_State 返回手部状态,interactionObjectId 返回交互物体 Id 索引
二、手姿态识别状态
enum Hi5_Glove_Gesture_Recognition_State
ENone = 0,
EOk,
EFist,
EIndexPoint,
EHandPlane
Hi5_Glove_Gesture_Recognition_State GetRecognitionState() Hi5_Glove_Gesture_Recognition_State 返回手当前状态
2. 手事件接口
public void MessageFun(string messageKey, object param1, object param2)
if (messageKey.CompareTo(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageHandEvent) == 0)
Hi5_Glove_Interaction_Hand_Event_Data data = param1 as Hi5_Glove_Interaction_Hand_Event_Data;
switch (data.mEventType)
case EEventHandType.EClap:
//拍击事件
break;
case EEventHandType.EPoke:
//戳事件
break;
case EEventHandType.EPinch:
//抓取事件
break;
case EEventHandType.EThrow:
//抛出事件
break;
case EEventHandType.ELift:
//托举事件
break;
case EEventHandType.ERelease:
//释放事件
break;
3. 交互物体接口
Hi5_Interface_Object交互物体状态
enum E_Object_State
ENone = -1,
EStatic = 1,
EPinch = 3,
EMove = 2,
EClap = 4,
EFlyLift = 5,
EPoke = 6,
E_Object_State GetObjectItemState();获取交互物体状态 int GetObjectId();返回交互物体 Id
交互物体事件
public void MessageFun(string messageKey, object param1, object param2)
if (messageKey.CompareTo(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent) == 0)
Hi5_Glove_Interaction_Object_Event_Data data = param1 as Hi5_Glove_Interaction_Object_Event_Data;
if (data.mObjectId == ObjectItem.idObject)
switch (data.mEventType)
case EEventObjectType.EClap:
break;
case EEventObjectType.EPoke:
break;
case EEventObjectType.EPinch:
break;
case EEventObjectType.EMove:
break;
case EEventObjectType.ELift:
break;
case EEventObjectType.EStatic:
if (mItem != null)
mItem.ResetCorlor();
break;
4. 按钮接口
Hi5_Interface_Button virtual public void MessageFun(string messageKey, object param1, object param2)
if (messageKey.CompareTo(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent) == 0)
Hi5_Glove_Interaction_Object_Event_Data data = param1 as Hi5_Glove_Interaction_Object_Event_Data;
if (data.mObjectId == ObjectItem.idObject)
if (data.mEventType == EEventObjectType.EClap)
else if (data.mEventType == EEventObjectType.EPoke)
else if (data.mEventType == EEventObjectType.EStatic)
备注:
运行时,电脑防火墙要关闭。
声网Agora 实时音视频服务正式上线 HTC VIVE Sync App,支持非 VR 用户
全球实时互动云服务开创者和引领者声网Agora(纳斯达克股票代码:API)宣布其视频 SDK 现已集成到领先的 VR/XR 远程协作及会议应用 HTC VIVE Sync App 中。
通过集成声网Agora 的视频 SDK,HTC VIVE Sync App 可以支持 HTC VIVE 用户和非 VR 用户在同一虚拟环境中进行更紧密无缝的远程协作,用户在不需要穿戴 VR 设备的情况下也能够与其他 VR 用户共享沉浸式体验。此外,用户也可以在协同环境中实现屏幕及文档共享,让所有参与者都可以更方便、快捷地感受沉浸式体验,提高沟通效率和生产力 。HTC VIVE Sync App 搭载声网Agora 实时音视频技术,将虚拟和现实世界无缝相连,打造完美的远程协同工具。
声网Agora 创始人兼 CEO 赵斌表示:
“扩展现实与实时互动的结合,将推动下一代工作协同方式的创新与变革 。同时,与 HTC VIVE 的紧密合作及 XR 直播的发展,让我们感到无比振奋。我们看到,通过声网Agora,人类在现实世界与 Metaverse 元宇宙间的实时互动、互连将变得触手可及。”
上个月,声网Agora 加入了HTC VIVE 的 ISV 合作伙伴计划。继上次合作落地,此次 HTC VIVE Sync App 对于声网 SDK 的集成和应用,标志着声网Agora 在帮助全球开发者创建更易于访问、更具创新性和功能更强大的实时互动应用方面迈出了重要的一步。随着市场对实时互动相关场景的需求不断增加,越来越多的人在尝试通过更加创新及丰富的形式保持互连、互动。因能够提供沉浸式的体验,扩展现实已逐渐成为大众间流行的一种互动方式。
HTC 首席执行官王雪红表示:
“声网Agora 的实时互动解决方案是连接现实和虚拟世界的桥梁,它能够为每位用户带来关于虚拟世界的独特视角并赋予其与之互动的能力。此外,声网Agora 实时互动解决方案简单易用,也是我们创建人与人间的连接与交互中重要的一环。”
HTC VIVE 打造了全球首个虚拟现实平台与生态,为企业和消费者带去无与伦比的 VR 沉浸体验。VIVE 生态系统基于高端 VR 硬件、软件及优质内容构建而成。VIVE生态系统涵盖了领先的扩展现实(XR)系列硬件产品、VIVEPORT VR 应用商店、面向企业客户提供解决方案的 VIVE Enterprise、拥有 1 亿美金创投基金支持的VR/AR加速器 VIVE X 以及专注于开发及发行娱乐、游戏及商用内容的工作室 VIVE STUDIOS,和倡导文化艺术推广的 VIVE ARTS。
声网Agora(纳斯达克股票代码:API)成立于 2014 年 4 月,是全球实时互动云服务开创者与引领者。开发者只需简单调用 API,30 分钟即可在应用内构建多种实时音视频互动场景。声网Agora API 已经赋能社交直播、在线教育、游戏电竞、IoT、AR/VR、金融、保险、医疗、企业协作等 10 余行业,共计 100 多种场景。2021年Q1,声网月均实时音视频用量分钟数首次超过500亿分钟。截至2021年3月31日,声网全球注册应用已超30.6万。此外,声网创造了全球首个、迄今为止规模最大的实时音视频网络——软件定义实时网SD-RTN™;全球首个、迄今为止数据处理能力最强、分析维度最广的实时音视频质量诊断分析产品——水晶球 Agora Analytics;以及全球首个实时互动体验质量标准——XLA。
以上是关于HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列的主要内容,如果未能解决你的问题,请参考以下文章
Unity的HTC VIVE SDK研究(手柄按键功能的研究,比较详细)
RTC月度小报5月 |教育aPaaS灵动课堂升级抢先体验VUE版 Agora Web SDK声网Agora与HTC达成合作