本发明专利技术公开了一种用于双手与虚拟手套外设交互的通用接口实现方法,包括以下步骤:S1,通过各VR手套厂家提供的API获取硬件抽象层中的动作指令,在VR手套通用接口中对所述动作指令进行解析判断,并根据对应关系将所述动作指令转换为通用接口中定义的数据对象;S2,构建虚拟手动作预定义库,在通用接口中对虚拟手的各种动作进行预定义封装,并将封装后的数据存入所述虚拟手动作预定义库;S3,当接收到VR手套的动作指令后,从所述虚拟手动作预定义库中匹配与所述动作指令对应的动作并执行。本发明专利技术通过将各VR手套厂家硬件抽象层的动作指令中的交互行为与厂家SDK剥离,大大降低了硬件与软件系统之间的耦合性,极大提升了基于VR手套的虚拟现实系统的开发效率。的虚拟现实系统的开发效率。的虚拟现实系统的开发效率。
【技术实现步骤摘要】
一种用于双手与虚拟手套外设交互的通用接口实现方法
[0001]本专利技术属于虚拟现实
,具体涉及一种用于双手与虚拟手套外设交互的通用接口实现方法。
技术介绍
[0002]VR手套是一种先进的VR外设产品,主要功能是提供现实与虚拟世界之间的交互,是目前市面上比较主流的一种设备。VR手套作为备受关注的一种VR外设产品,其带来的触觉反馈更加真实,在手指上的追踪也十分出色,相比一般的手柄更加能够提供高质量的沉浸感。
[0003]各大VR手套生产厂商的VR手套虽各有特色,但是都是以通用的交互功能为基础,如:拾取、放下等。各厂家VR手套的SDK中只给出了API接口,并没有详细阐述整个硬件抽象层的工作原理和实现方案,导致开发人员在理解标准以及具体开发的过程中会走很多“弯路”。各种VR手套没有一个统一的行业标准,以至于当前选用不同的VR手套进行开发时都需要遵循厂家供应商所提供的SDK,这意味着每次更换硬件设施时,都要更换新的SDK重新集成开发,所产生的高昂开发费用以及其他人为因素极大的限制了市场的增长、开发的便捷性。
[0004]公开号为CN108958479A的中国专利公开了一种基于数据手套的通用三维虚拟场景实时交互方法,利用数据手套中的传感器获取手指关节的弯曲度以及手指之间的张合度,利用与数据手套配合的定位装置获得手套的空间位置、方位角参数,根据三维虚拟场景软件交互配置定义,将所获得的手套的空间位置、方位角参数、传感器参数与三维虚拟场景中视点等参数结合,转化为模拟鼠标/键盘输入,调用操作系统应用程序编程接口,将模拟鼠标/键盘输入状态信息转化为真实交互设备信息,驱动三维虚拟场景的实时交互。以此实现基于数据手套控制三维可视化软件中的虚拟场景实时旋转、漫游等交互。基于该方法,可将数据手套与其它三维可视化软件相集成,提高软件的三维交互能力。该专利仅仅只是提供了一种基于数据手套的虚拟场景交互方法,当在实际应用中需要更换数据手套时,仍需要更换新的SDK重新集成开发,效率低且费用较高。
技术实现思路
[0005]本专利技术的目的是针对现有技术存在的问题,提供一种用于双手与虚拟手套外设交互的通用接口实现方法。
[0006]为实现上述目的,本专利技术采用的技术方案是:
[0007]一种用于双手与虚拟手套外设交互的通用接口实现方法,包括以下步骤:
[0008]S1,通过各VR手套厂家提供的API获取硬件抽象层中的动作指令,在VR手套通用接口中对所述动作指令进行解析,判断各动作指令对应的手套品牌,并根据各动作指令与手套品牌之间的对应关系,将所述动作指令转换为通用接口中定义的数据对象;
[0009]S2,构建虚拟手动作预定义库,在通用接口中对虚拟手的各种动作进行预定义封
装,并将封装后的数据存入所述虚拟手动作预定义库;
[0010]S3,当接收到VR手套的动作指令后,从所述虚拟手动作预定义库中匹配与所述动作指令对应的动作并执行。
[0011]具体地,步骤S1中,所述通用接口中定义的数据对象包括以下指令中的多种:移动指令(包括前移指令、后移指令、左移指令、右移指令、上移指令和下移指令)、抓取指令、握拳指令、张开指令、按压指令、停止指令。
[0012]具体地,步骤S2中,构建虚拟手动作预定义库的方法为:首先在3DsMAX中建立虚拟手的三维模型,并对虚拟手模型的各关节进行编号,再用Photoshop对模型进行贴图制作,即给模型添加色彩,最后为虚拟手模型创建骨骼和蒙皮,并对骨骼与蒙皮进行绑定,调整骨骼对蒙皮的影响权重,根据定义的手势动作进行手势骨骼动画的制作。
[0013]进一步地,所述虚拟手与人手的交互方法为:通过VR手套中的传感器实时获取人手各指段关节的运动信息,再根据人手各指段关节的运动信息设置虚拟手各指段的关节角度,最后将设置的虚拟手各指段的关节角度在虚拟环境中进行矩阵的平移与旋转运算,实现虚拟手的位置与方位变换。
[0014]进一步地,所述虚拟手在与人手进行交互的过程中,根据具体的应用场合对虚拟手进行了相应的约束,限制虚拟手的自由度。
[0015]具体地,步骤S3中,当接收到VR手套的动作指令为手指动作弯曲指令,且检测到虚拟手与虚拟物体之间发生碰撞时,判断此时虚拟手正在对虚拟物体进行抓取操作;通过矩阵运算将虚拟物体的节点置于虚拟手节点之下,并取消虚拟物体的重力效果,使虚拟物体成为虚拟手的一个子对象;此时,虚拟物体与虚拟手的相对坐标位置固化,虚拟物体跟随虚拟手一起平移、旋转;
[0016]当接收到VR手套的动作指令改变为张开指令时,判断此时虚拟手正在释放虚拟物体,此时虚拟手交互任务完成,将虚拟物体与虚拟手进行脱离,并恢复虚拟物体的重力效果。
[0017]与现有技术相比,本专利技术的有益效果是:本专利技术通过开发VR手套通用接口,获取各VR手套厂家硬件抽象层中的动作指令,将动作指令中的交互行为与厂家SDK剥离,大大降低了硬件与软件系统之间的耦合性;当需要和不同的VR手套设备对接时,无需针对每个SDK分别进行一次集成开发,极大提升了基于VR手套的虚拟现实系统的开发效率。
附图说明
[0018]图1为本专利技术一种用于双手与虚拟手套外设交互的通用接口实现方法的流程示意框图。
[0019]图2为本专利技术实施例中虚拟手交互操作的流程示意图。
[0020]图3为本专利技术实施例中虚拟手动作预定义库中定义的几种手势示意图。
[0021]图4为本专利技术实施例中人手与虚拟手的交互行为约束示意图。
具体实施方式
[0022]下面将结合本专利技术中的附图,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施
例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0023]如图1所示,本实施例提供了一种用于双手与虚拟手套外设交互的通用接口实现方法,本实施例建立了一套统一的VR手套交互标准和规范,该规范定义了统一的数据结构、输入及输出格式等,使所有基于VR手套的虚拟现实系统都可通过该通用接口集成,VR手套通用接口的应用极大提升了基于VR手套的虚拟现实系统的开发效率,同时也实现了对市面上VR手套通用业务功能的统一管理与维护,并形成了一套交互标准规范。具体包括以下步骤:
[0024]S1,基于面向对象的设计思想,对VR手套的交互系统进行合理的边界划分,将交互逻辑从厂商复杂的SDK中剥离出来,在通用数据接口中实现虚拟手与虚拟对象的交互;
[0025]S2,分析多种不同形态的交互行为,对常用的交互行为进行抽象并提取程序接口,通过该程序接口与具体交互行为进行解耦,尽量减小更换VR手套设备时对应用程序的影响;
[0026]S3,重新梳理交互、碰撞、状态转换等业务逻辑,结合所有现有VR手套的基础交互逻辑确定统一的交互接口,以实现VR手套通用接口能同时对接多种类别的VR手套。
[0027]具体地,步骤S本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种用于双手与虚拟手套外设交互的通用接口实现方法,其特征在于,包括以下步骤:S1,通过各VR手套厂家提供的API获取硬件抽象层中的动作指令,在VR手套通用接口中对所述动作指令进行解析,判断各动作指令对应的手套品牌,并根据各动作指令与手套品牌之间的对应关系,将所述动作指令转换为通用接口中定义的数据对象;S2,构建虚拟手动作预定义库,在通用接口中对虚拟手的各种动作进行预定义封装,并将封装后的数据存入所述虚拟手动作预定义库;S3,当接收到VR手套的动作指令后,从所述虚拟手动作预定义库中匹配与所述动作指令对应的动作并执行。2.根据权利要求1所述的一种用于双手与虚拟手套外设交互的通用接口实现方法,其特征在于,步骤S1中,所述通用接口中定义的数据对象包括以下指令中的多种:移动指令、抓取指令、握拳指令、张开指令、按压指令、停止指令。3.根据权利要求1所述的一种用于双手与虚拟手套外设交互的通用接口实现方法,其特征在于,步骤S2中,构建虚拟手动作预定义库的方法为:首先在3DsMAX中建立虚拟手的三维模型,并对虚拟手模型的各关节进行编号,再用Photoshop对模型进行贴图制作,即给模型添加色彩,最后为虚拟手模型创建骨骼和蒙皮,并对骨骼与蒙皮进行绑定,调整骨骼对蒙皮的影响权重,根据定义的手势动作进行手势骨...
【专利技术属性】
技术研发人员:吴超,王宇轩,何晓丹,孔吉宏,袁怀月,
申请(专利权)人:中冶智诚武汉工程技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。