基于APP客户端及Web端的VR应用渲染制作方法及装置与流程

文档序号:12906888阅读:303来源:国知局
基于APP客户端及Web端的VR应用渲染制作方法及装置与流程

本发明涉及通信领域,尤其涉及一种基于app客户端及web端的vr应用渲染制作方法。本发明同时还涉及一种装置。



背景技术:

vr(虚拟现实virtualreality)是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。主要包括模拟环境、感知、自然技能和传感设备等方面。模拟环境是由计算机生成的、实时动态的三维立体逼真图像。

web技术是指开发互联网应用的技术总称,包括web服务端技术和web客户端技术。web客户端的主要任务是展现信息内容。web客户端设计技术主要包括:html语言、javaapplets、脚本程序、css、dhtml、插件技术以及vrml技术。web服务器技术主要包括服务器、cgi、php、asp、asp.net、servlet、jsp技术和node.js、go语言等技术。

目前vr的实现方式主要分c/s和b/s这两类应用架构实现,其中c/s的技术主要有unity3d、unreal、streamvr等引擎框架实现,b/s的技术主要利用了webgl的技术实现。c/s的实现技术在用户体验和交互效果存在着明显的优势,与此同时,c/s实现技术存在制作时间长、制作成本高、不易进行推广等缺点,而b/s技术在制作时间、制作成本、易于推广等方面存在着明显的优势,但是b/s实现技术存在着用户体验较差、交互效果较为单一等缺点。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种基于app客户端及web端的vr应用渲染制作方法,用以解决现有技术中vr应用制作时间成本高、用户体验差、交互效果差、不易推广的问题。

本发明的目的采用以下技术方案实现:

接收渲染制作vr应用的指令;

解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令;

根据所述动作命令,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示。

优选的,所述接收渲染制作vr应用的指令,具体包括:

所述web端加载页面时,在所述web端注入一个交互的javascript对象,所述javascript对象提供通讯接口供所述web端使用,根据所述通讯接口接收所述渲染制作vr应用的指令。

优选的,解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令,具体包括:

接收渲染制作vr应用的指令后,对该指令进行分析,解析出不同的动作类型,包括如下至少一种动作:

在app客户端或者web端进行切换、加载、打开、播放vr应用等。

优选的,将所述vr应用在所述app客户端进行渲染展示,具体包括:

将所述web端的vr应用展示切换到后台,将所述vr应用在所述app客户端进行渲染展示,完成所述web端与所述app客户端的切换动作;

将所述vr应用在所述web端进行渲染展示,具体包括:将所述app客户端的vr应用展示切换到后台,将所述vr应用在所述web端进行渲染展示,完成所述web端与所述app客户端的切换动作。

优选的,在根据所述切换到app客户端的指令之后,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示之前,还包括:

判断所述vr应用版本是否符合要求,若符合要求,则将所述vr应用在所述app客户端或者web端进行渲染展示;若不符合要求,则更新版本后,在所述app客户端或者web端进行渲染展示更新版本后的vr应用。

同时本发明还提供了一种装置,包括存储器和处理器:

存储器,用于存储程序指令;

处理器,用于执行所述程序指令,以执行以下步骤:

接收渲染制作vr应用的指令;

解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令;

根据所述动作命令,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示。

优选的,所述接收渲染制作vr应用的指令,具体包括:

所述web端加载页面时,在所述web端注入一个交互的javascript对象,所述javascript对象提供通讯接口供所述web端使用,根据所述通讯接口接收所述渲染制作vr应用的指令。

优选的,解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令,具体包括:

接收渲染制作vr应用的指令后,对该指令进行分析,解析出不同的动作类型,包括如下至少一种动作:

在app客户端或者web端进行切换、加载、打开、播放vr应用等。

优选的,将所述vr应用在所述app客户端进行渲染展示,具体包括:

将所述web端的vr应用展示切换到后台,将所述vr应用在所述app客户端进行渲染展示,完成所述web端与所述app客户端的切换动作;

将所述vr应用在所述web端进行渲染展示,具体包括:将所述app客户端的vr应用展示切换到后台,将所述vr应用在所述web端进行渲染展示,完成所述web端与所述app客户端的切换动作。

优选的,在根据所述切换到app客户端的指令之后,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示之前,还包括:

判断所述vr应用版本是否符合要求,若符合要求,则将所述vr应用在所述app客户端或者web端进行渲染展示;若不符合要求,则更新版本后,在所述app客户端或者web端进行渲染展示更新版本后的vr应用。

相比现有技术,本发明的有益效果在于:根据需求决定在app端或者web端进行渲染制作vr应用,减少制作时间、提高用户体验和交互效果,提高vr应用的推广性。

附图说明

图1为本发明提出一种基于app客户端及web端的vr应用渲染制作方法流程示意图;

图2为本发明提出一种基于app客户端及web端的vr应用渲染制作的装置结构图;

图3为本发明提出一种优选的基于app客户端及web端的vr应用渲染制作的装置结构图;

图4为本发明优选实施例的应用表层模块结构图;

图5为本发明优选实施例的应用交互层模块结构图;

图6为本发明优选实施例的应用引擎处理层模块结构图;

图7为本发明优选实施例的引擎切换流程示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

如图1所示,为本申请提出的一种基于app客户端及web端的vr应用渲染制作方法流程示意图,具体地,本申请技术方案包括如下步骤:

s101,接收渲染制作vr应用的指令。

在本发明实施例中,所述web端加载页面时,在所述web端注入一个交互的javascript对象,所述javascript对象提供通讯接口供所述web端使用,根据所述通讯接口接收所述渲染制作vr应用的指令。

s102,解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令。

在本发明实施例中,接收渲染制作vr应用的指令后,对该指令进行分析,解析出不同的动作类型,包括如下至少一种动作:

在app客户端或者web端进行切换、加载、打开、播放vr应用等。

s103,根据所述动作命令,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示。

在本发明实施例中,将所述vr应用在所述app客户端进行渲染展示,具体包括:将所述web端的vr应用展示切换到后台,将所述vr应用在所述app客户端进行渲染展示,完成所述web端与所述app客户端的切换动作;

将所述vr应用在所述web端进行渲染展示,具体包括:将所述app客户端的vr应用展示切换到后台,将所述vr应用在所述web端进行渲染展示,完成所述web端与所述app客户端的切换动作。

并且在本发明实施例中,在根据所述切换到app客户端的指令之后,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示之前,还包括:

判断所述vr应用版本是否符合要求,若符合要求,则将所述vr应用在所述app客户端或者web端进行渲染展示;若不符合要求,则更新版本后,在所述app客户端或者web端进行渲染展示更新版本后的vr应用。

图2为本发明提出一种基于app客户端及web端的vr应用渲染制作的装置结构图,如图2所示,同时本发明还提供了一种装置,包括存储器和处理器:

存储器,用于存储程序指令;

处理器,用于执行所述程序指令,以执行以下步骤:

接收渲染制作vr应用的指令;

解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令;

根据所述动作命令,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示。

其中,所述接收渲染制作vr应用的指令,具体包括:

所述web端加载页面时,在所述web端注入一个交互的javascript对象,所述javascript对象提供通讯接口供所述web端使用,根据所述通讯接口接收所述渲染制作vr应用的指令。

其中,解析所述指令,得到需要将所述vr应用在app客户端渲染或者将所述vr应用在web端渲染的动作命令,具体包括:

接收渲染制作vr应用的指令后,对该指令进行分析,解析出不同的动作类型,包括如下至少一种动作:

在app客户端或者web端进行切换、加载、打开、播放vr应用等。

其中,将所述vr应用在所述app客户端进行渲染展示,具体包括:

将所述web端的vr应用展示切换到后台,将所述vr应用在所述app客户端进行渲染展示,完成所述web端与所述app客户端的切换动作;

将所述vr应用在所述web端进行渲染展示,具体包括:将所述app客户端的vr应用展示切换到后台,将所述vr应用在所述web端进行渲染展示,完成所述web端与所述app客户端的切换动作。

其中,在根据所述切换到app客户端的指令之后,将所述vr应用在所述app客户端进行渲染展示,或者将所述vr应用在所述web端进行渲染展示之前,还包括:

判断所述vr应用版本是否符合要求,若符合要求,则将所述vr应用在所述app客户端或者web端进行渲染展示;若不符合要求,则更新版本后,在所述app客户端或者web端进行渲染展示更新版本后的vr应用。

图3为本发明提出一种优选的基于app客户端及web端的vr应用渲染制作的装置结构图,如图3所示,该装置包括:应用表现层模块、应用交互层模块、应用引擎处理层模块。其中:图4为本发明优选实施例的应用表层模块结构图,如图4所示,该模块包括浏览模块、功能清单模块、展现模块、ui组件模块、跨端模块和app功能模块。

应用表现层模块主要是实现了pc端、ios端及android端的vr效果展示载体,其中在pc端上通过支持webgl的浏览器进行应用效果展示,在ios端及android端上通过vr展示模块进行效果展示,实现了跨端跨平台的效果。当用户运行应用,进入应用展示模块。用户操作可以通过操作浏览模块,获取应用功能清单。用户通过选择对应的功能模块,进入展现模块,应用根据运行的载体(pc、android、ios)加载vr模式下对应的ui组件。应用通过跨端模块,实现支持android、ios等常规的客户端vr应用,还支持以web形式运行的vr应用。

图5为本发明优选实施例的应用交互层模块结构图,如图5所示,该应用交互层包括内部通讯模块和交互应用模块,其中内部通讯模块包括自定义通讯协议处理模块、通讯接口处理模块、通讯处理子模块;交互应用模块包括:app与引擎交互模块、b/s与c/s交互模块、服务器交互模块、交互处理子模块。

本模块主要是处理应用交互的实现模块,解决应用的交互问题,屏蔽不同终端、不同平台的差异。包括了内部通讯模块和应用交互模块。其中,内部交互模块主要是处理app应用交互与引擎、服务器间的交互信息以及应用与外接设备间交互信息。包括了处理自定义app客户端内部模块间的通讯协议,通讯接口的处理模块以及通讯处理子模块。

现有技术中以web形式展现vr应用,存在着无法进行表单录入的问题。

在本发明优选实施例中,该方案支持web形式展现vr应用,在需要进行表单录入的情况下,通过内部交互协议进行通讯,调用应用引擎处理模块,切换到unity3d引擎进行展示交互。

当应用展示模块由于用户的操作,产生了与其他功能模块进行交互的行为,展现层和引擎层的交互就是由应用交互层处理。

内部通讯模块使用了自定义协议报文,并且以注入的技术手段实现了对web形式的技术扩展增强,使得web展示层可以与应用引擎进行交互。通讯接口模块是用于内部通讯间的接口协议,主要是处理参数、结果传递,通讯子模块主要是提供一些交互通讯处理的工具类实现。交互应用模块,提供了app与引擎、app与web,app与服务器这三种类型的交互实现,应用可以根据需要进行切换。

图6为本发明优选实施例的应用引擎处理层模块结构图。如图6所示,应用引擎处理层模块包括外部接口处理模块、资源管理模块、c/s、b/s引擎切换模块、c/s、b/s引擎渲染模块。其中外部接口处理模块包括资源调用接口模块、交互接口模块、渲染接口模块;资源管理模块包括:资源加载模块、资源更新模块;c/s、b/s引擎切换模块包括c/s渲染引擎模块、b/s渲染引擎模块;c/s、b/s引擎渲染模块包括c/s渲染模块、b/s渲染模块。

本模块主要解决的是vr应用在不同的应用场景下的渲染问题。通过引擎实现根据应用接入场景动态切换渲染机制,根据场景需要,在使用web技术进行vr渲染的时候,引擎自动切换到b/s结构模式的渲染和交互;在使用app进行vr渲染的时候,引擎自动切换到c/s结构模式进行渲染和交互。同时,引擎也提供了vr应用相关的静态资源管理模块,用于实现静态资源的管理及更新功能。

应用引擎处理层提供了底层服务,根据应用交互层的调用请求,提供对应的服务。应用交互层通过访问引擎处理层的外部接口处理模块获取服务。应用交互层请求资源调用接口服务,会进入到引擎处理层的资源管理模块。通过根据请求的资源版本号进行比对,如果发现版本不一致,则强制更新本地资源。如果一致,则返回。

当请求资源调用接口服务完成后,开始调用渲染接口模块,进行资源渲染。在进行资源渲染的时候,根据应用交互层传递的应用载体参数,引擎层决定使用c/s还是b/s引擎进行渲染。图7为本发明优选实施例的引擎切换流程示意图,如图7所示,c/s和b/s引擎切换逻辑流程为:

(1)app运行的时候,会创建一个应用引擎,用于处理b/s(或称为web)及c/s(或称为app)客户端之间的交互以及场景切换。

(2)引擎创建的时候,会先创建引擎桥接层,负责接收web和app客户端之间的调用请求指令。在加载web页面时,桥接层全动态往web页面注入一个交互的javascript对象,这个javascript对象提供一些接口供web端调用,负责web与app客户端之间的交互通讯,这个javascript对象一直保存在内存中,直到web页面关闭或者刷新。

(3)桥接层提供的交互协议为自定义的通讯协议,传递的内容为封装好的动作指令。

(4)在引擎创建完桥接层之后,会接着创建逻辑处理层,逻辑处理层负责处理桥接层接收到app端的请求指令,将指令进行解析,根据不同请求指令的动作类型,调用指令调度层。例如有切换、加载、打开、播放等指令。

(5)创建完成逻辑处理层之后,引擎会创建指令调度层,指令调度层负责实现指令动作,根据引擎编写好的指令动作,例如切换、加载、打开、播放等指令动作,执行对应的调度动作。

例如当前app界面前台显示web端内容,需要由web端切换到app端的时候,由web端发起请求,将切换指令传递给引擎,引擎桥接层接收到请求,调用逻辑处理层。引擎逻辑处理层解析请求指令,得到需要切换到app端的指令,调用引擎指令调度层。引擎调度层接收到切换app端请求的指令,根据接收到的指令,将web端的展示切换到后台,将app端切换到前台,完成web端与app端的切换动作。同理,由app端往web端切换的逻辑流程也是如此。

本发明优选实施例是结合web及vr技术的app客户端及应用方法是基于windows、android、ios的操作系统,客户端app使用unity3d引擎和web技术实现的,支持通过标准https协议接入后台服务器。

采用本发明优选实施例的的技术方案,能够降低开发成本,使用者可以利用该发明进行vr相关应用的开发,根据实际的应用场景,选择最优的解决方案,例如在一些弱交互的场景,可以借助web技术实现vr全景渲染效果,达到快速交付的目的,降低了开发成本。

达到良好的用户体验及交互效果。借助unity3d的渲染技术,提供细腻度高的展示效果,保持良好的用户体验。同时,可以通过unity3d进行外接设备连接,实现例如语音、动作捕获、遥控控制等交互体验。相比使用纯web技术实现的应用,具有良好的用户体验及交互效果。

易于推广。将vr应用借助web技术实现,利用移动互联网进行传播,可以利用通用的传播渠道,例如微信、微博、朋友圈、公众号等渠道,相比于纯app的推广渠道更加的丰富及便捷,有利于vr应用的推广,增加用户粘性及获客渠道。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

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