VR医学教学用引擎的开发方法与流程

文档序号:15046969发布日期:2018-07-27 22:53阅读:1360来源:国知局

本发明涉及vr技术领域,具体涉及到vr医学教学用引擎的开发方法。



背景技术:

目前,vr技术的开发主要有三种方式:原生开发、unityvr开发环境和unreal开发环境。原生开发需要开发者处理各个平台的硬件和环境差异,实际使用的场合非常稀少。目前绝大多数的开发者使用的平台都是基于unity和unreal。它们实现了对不同vr底层硬件的封装,提供了统一的开发接口,能够大幅提高vr开发的效率。但是,两者目前仅提供了vr底层和图像引擎的封装,在业务逻辑层面,还需要由开发者自行实现。由于vr医疗业务由于其特殊性,在实现业务逻辑的过程中,还要考虑晕眩的处理、平滑移动、模型的精确展示、教学流程的控制等等特殊需求。现有的系统,无论是unity还是unreal,都无法完全解决vr医疗中需要用到的这些需求。



技术实现要素:

为了解决上述不足的缺陷,本发明提供了vr医学教学用引擎的开发方法,本发明通过精确的控制摄像机的平移和旋转,在一定程度上减轻或避免了在vr体验过程中出现的晕眩状况。其次,实现了完整的基于行为树的控制方式,提供了灵活的流程控制机制。第三,提供所见即所得的开发方式,大幅度提高了课件开发的效率。

本发明提供了vr医学教学用引擎的开发方法,包括以下步骤:

步骤(1):对防晕眩过程的处理;

步骤(2):基于行为树的流程控制;

步骤(3):基于所见即所得的方式进行开发。

上述的vr医学教学用引擎的开发方法,其中,所述步骤(1)具体包括:

引擎会控制vr世界中的摄像头运动,对于高于设定阈值的移动或者旋转,通过二次插值的方式,让原本剧烈的镜头运动趋于平滑;

引擎实时统计当前硬件系统需要处理的定点数量和实际消耗的gpu资源,通过实时调整移动方式,在出现高gpu资源消耗的场景中,减缓移动的频率和速率,避免过于激烈的运动,以及引擎会根据实际情况对模型进行处理,通过lod的方式,减少模型的计算强度和密度,保证vr课件运行的帧数。

上述的vr医学教学用引擎的开发方法,其中,所述步骤(2)具体包括:

行为树是一个包含逻辑节点和行为节点的树结构,每次需要找出一个行为的时候,会从树的根节点出发,遍历各个节点,找出第一个和当前数据相符合的行为,基于行为树的方式,提供了灵活的扩展方式,能够很容易的和其他的ai框架结合。

上述的vr医学教学用引擎的开发方法,其中,具体步骤包括:

硬件环境的建立;

软件环境的建立;

开发前的准备;

开始开发。

上述的vr医学教学用引擎的开发方法,其中,所述硬件环境的建立具体包括:

medicvr需要的pc硬件环境,如下所示:

cpu:inteli7或以上

内存:16g

显示卡:nvidiageforce1070或以上

硬盘:256gssd或以上

medicvr兼容以下型号的vr头显示:

oculuscv1

htcvive

大朋e3。

上述的vr医学教学用引擎的开发方法,其中,所述软件环境的建立的步骤包括:

64位windows10系统

steamvr环境

根据vr头显的型号,需要安装相应的头显驱动和管理软件。

上述的vr医学教学用引擎的开发方法,其中,所述开发前的准备具体包括:安装unity开发环境,以及导入medicvr开发库,检查库环境是否存在报错或者异常。

本发明提供了vr医学教学用引擎的开发方法具有以下有益有效:1、通过精确的控制摄像机的平移和旋转,在一定程度上减轻或避免了在vr体验过程中出现的晕眩状况。2、实现了完整的基于行为树的控制方式,提供了灵活的流程控制机制。3、提供所见即所得的开发方式,大幅度提高了课件开发的效率。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。

图1为本发明中软硬件环境的示意图;

图2为本发明中行为树的组织方式的示意图。

图3为本发明中引擎基本流程的示意图。

具体实施方式

在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。

为了彻底理解本发明,将在下列的描述中提出详细的步骤以及详细的结构,以便阐释本发明的技术方案。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。

参照图1-图3所示,本发明提供了vr医学教学用引擎的开发方法,包括以下步骤:

步骤(1):对防晕眩过程的处理,其中具体的步骤为:引擎会控制vr世界中的摄像头运动,对于高于设定阈值的移动或者旋转,通过二次插值的方式,让原本剧烈的镜头运动趋于平滑;

引擎实时统计当前硬件系统需要处理的定点数量和实际消耗的gpu资源,通过实时调整移动方式,在出现高gpu资源消耗的场景中,减缓移动的频率和速率,避免过于激烈的运动,以及引擎会根据实际情况对模型进行处理,通过lod的方式,减少模型的计算强度和密度,保证vr课件运行的帧数;

步骤(2):基于行为树的流程控制,其中具体的步骤为行为树是一个包含逻辑节点和行为节点的树结构,每次需要找出一个行为的时候,会从树的根节点出发,遍历各个节点,找出第一个和当前数据相符合的行为,基于行为树的方式,提供了灵活的扩展方式,能够很容易的和其他的ai框架结合;行为树的机制提供了完备的流程控制机制,在vr医学教学课件拥有极为复杂逻辑流程,如果使用常规开发的方式,将会带来极大的工作量,通过使用行为树,明晰了流程,避免了潜在的bug和问题。同时也能大幅度降低开发的难度和工作量。

步骤(3):基于所见即所得的方式进行开发。其中引擎提供所见即所得的开发方式。vr医学教学课件面向的目标客户是医学的专业人士,因此对于场景和模型的呈现具有极高的要求。模型和场景的角度、大小和相对位置等都需要通过专家认证。需要尽量还原真实人体结构和形态。因此,通过所见即所得的方式,能够保证软件中最终上线的场景和专家认证过的场景的一致性。本发明vr医学教学课件的用户使用过程中,晕眩的情况大幅度减少。原本百分之十左右的用例会出现晕眩状况,在使用了medicvr引擎之后,得益于引擎对相机的移动和旋转的控制,出现晕眩情况的用户比例下降到了百分之二左右。结合行为树和所见即所得的开发,提高了开发的工作效率,开发周期从原本的两个月缩减到了两周。

参照图1-图3所示,下面以unity开发环境为例,具体讨论medicvr引擎的实施和开发方式,具体包括以下步骤;

1、硬件环境的建立

medicvr需要的pc硬件环境,推荐如下配置:

cpu:inteli7或以上

内存:16g

显示卡:nvidiageforce1070或以上

硬盘:256gssd或以上

medicvr兼容以下型号的vr头显示:

oculuscv1

htcvive

大朋e3

2、软件环境的建立

64位windows10系统

steamvr环境

根据vr头显的型号,需要安装相应的头显驱动和管理软件。

3、开发前的准备

安装unity开发环境。推荐unity5.6.4或以上版本均可。导入medicvr开发库,检查库环境是否存在报错或者异常。

4、开始开发

使用行为树:所有行为树相关代码在zh.tasks命名空间下,系统提供了几十个常用和基础的行为树节点,可以直接使用。

可以在开发环境中直接操作需要展示和控制的物体、场景、节点等等。

5、开发过程中的注意事项

开发过程中,需要vr头显处于连接状态,具体操作可以参考各个头显的使用说明。

medicvr的开发基于steamvr实现,因此需要首先安装steamvr的底层库。

如果开发过程中遇到头显无法正常显示的情况,请检查连线。

本发明提供了vr医学教学用引擎的开发方法具有以下有益有效:1、通过精确的控制摄像机的平移和旋转,在一定程度上减轻或避免了在vr体验过程中出现的晕眩状况。2、实现了完整的基于行为树的控制方式,提供了灵活的流程控制机制。3、提供所见即所得的开发方式,大幅度提高了课件开发的效率。4、在vr医学教学课件的用户使用过程中,晕眩的情况大幅度减少。原本百分之十左右的用例会出现晕眩状况,在使用了medicvr引擎之后,得益于引擎对相机的移动和旋转的控制,出现晕眩情况的用户比例下降到了百分之二左右。结合行为树和所见即所得的开发,提高了开发的工作效率,开发周期从原本的两个月缩减到了两周。

以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1