掌桥专利:专业的专利平台
掌桥专利
首页

增强现实场景的实现方法、装置及存储介质

文献发布时间:2023-06-19 09:35:27


增强现实场景的实现方法、装置及存储介质

技术领域

本发明涉及网络信息技术领域,具体涉及一种增强现实场景的实现方法、装置及存储介质。

背景技术

AR(Augmented Reality,增强现实)技术,是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动,从而将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。

虚拟换装是指利用计算机技术让虚拟角色试穿不同的服饰配件等,通过用户搭配来体现虚拟角色的个性化,并且利用AR技术可以将上述虚拟角色以及相应的服饰配件放置到现实场景当中,从而实现在现实场景中对虚拟角色进行换装,让增强现实模型有更多的玩法。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中,虽然有提供了多种服饰配件可供虚拟模型更换,但其实现的是对角色进行指定的服装替换,换装过程并没有明确的“穿戴交互”,用户的互动沉浸感不强,并且服装穿戴位置是固定的,自由度较低。

发明内容

本发明实施例提供一种增强现实场景的实现方法、装置及存储介质,旨在提升基于增强现实技术进行虚拟换装的交互性以及多样性。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种增强现实场景的实现方法,其特征在于,包括:

创建终端当前所在的现实场景对应的三维空间;

生成所述三维空间对应的虚拟场景,所述虚拟场景包括第一增强现实模型;

基于终端当前位于所述三维空间中的第一空间位置,在所述虚拟场景中生成与所述第一增强现实模型相关联的第二增强现实模型;

当检测到所述第一空间位置发生变化时,根据变化后的第一空间位置触发所述第二增强现实模型在所述虚拟场景中移动。

一种增强现实场景的实现装置,其特征在于,包括:

创建单元,用于创建终端当前所在的现实场景对应的三维空间;

第一生成单元,用于显示所述三维空间对应的虚拟场景,所述虚拟场景包括第一增强现实模型;

第二生成单元,用于基于终端当前位于所述三维空间中的第一空间位置,在所述虚拟场景中显示与所述第一增强现实模型相关联的第二增强现实模型;

移动单元,用于当检测到所述第一空间位置发生变化时,根据变化后的第一空间位置触发所述第二增强现实模型在所述虚拟场景中移动。

一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述增强现实场景的实现方法中的步骤。

本发明实施例通过创建终端当前所在的现实场景对应的三维空间,生成三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型,当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。本方案可以在对虚拟模型换装的过程中随着终端的移动实时更新服装模型的位置,相较于现有技术有效地提升了基于增强现实技术进行虚拟换装的交互性以及多样性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的增强现实场景的实现系统的场景示意图;

图2是本发明实施例提供的增强现实场景的实现方法的流程示意图;

图3是本发明实施例提供的增强现实场景的实现方法的另一流程示意图;

图4a是本发明实施例提供的增强现实场景的实现方法的场景示意图;

图4b是本发明实施例提供的增强现实场景的实现方法的另一场景示意图;

图4c是本发明实施例提供的增强现实场景的实现方法的又一场景示意图;

图5a是本发明实施例提供的增强现实场景的实现装置的结构示意图;

图5b是本发明实施例提供的增强现实场景的实现装置的另一结构示意图;

图5c是本发明实施例提供的增强现实场景的实现装置的又一结构示意图;

图6是本发明实施例的终端的另一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种增强现实场景的实现方法、装置、及存储介质。

请参阅图1,图1为本发明实施例所提供的增强现实场景的实现系统的场景示意图,该系统包括:终端10和服务器20,终端10与服务器20之间可以通过通信网络连接,该通信网络,包括无线网络以及有线网络,其中无线网络包括无线广域网、无线局域网、无线城域网、以及无线个人网中的一种或多种的组合。网络中包括路由器、网关等等网络实体,图中并未示意出。终端10可以通过通信网络与服务器20进行信息交互,比如可以从服务器20下载应用(如即时通讯应用)。

该增强现实场景的实现系统可以包括增强现实场景的实现装置,该增强现实场景的实现装置具体可以集成在平板电脑、手机、笔记本电脑、台式电脑等具备储存单元并安装有微处理器而具有运算能力的终端中,进一步的,为实现虚拟现实技术,上述终端还包括摄像头,用于对当前现实场景进行拍摄及取景,在图1中,该终端即为图1中的终端10,该终端10中可以安装有各种用户所需的应用,比如具备信息互动功能的即时通讯应用等。该终端10可以用于在需要加载增强现实模型时,生成请求信息送至服务器20,并接收服务器20根据请求信息返回的第一增强现实模型和第二增强现实模型等等。

该增强现实场景的实现系统还可以包括服务器20,主要用于接收终端10发送的请求信息,根据请求信息进行匹配,以得到与请求信息对应的第一增强现实模型或第二增强现实模型,并将上述匹配到的模型发送至终端10。该增强现实场景的实现系统还可以包括存储器,用于存储增强现实模型库,该增强现实模型库中包括多个第一增强现实模型和第二增强现实模型等,比如虚拟角色模型以及虚拟服饰模型,以使得服务器可以从存储器中获取对应的增强现实模型发送至终端10。

需要说明的是,图1所示的增强现实场景的实现系统的场景示意图仅仅是一个示例,本发明实施例描述的增强现实场景的实现系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着增强现实场景的实现系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

在本实施例中,将从增强现实场景的实现装置的角度进行描述,该增强现实场景的实现装置具体可以集成在具备储存单元并安装有处理器而具有运算能力的终端中。

一种增强现实场景的实现方法,包括:创建终端当前所在的现实场景对应的三维空间,生成三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型,当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。

请参阅图2,图2是本发明实施例提供的增强现实场景的实现方法的流程示意图。该增强现实场景的实现方法包括:

步骤101,创建终端当前所在的现实场景对应的三维空间。

在本申请实施例中,AR功能可以通过AR网页的形式发布和传播,在用户需要体验本申请当中基于AR的虚拟换装功能时,用户可以在终端中打开对应的AR网页。相应的,终端可以接收到打开AR网页的触发信号,在接收到该触发信号之后,终端中的浏览器即可获取到该AR网页的URL。其中,AR网页是指能够实现AR功能的Web页面。

其中,上述触发信号可以为在浏览器的地址栏中输入AR网页的网页地址的输入信号;或者终端扫描图形码的扫描信号;或者终端识别图形码的识别信号;又或者接收到的点击该网页链接的点击信号。其中,图形码可以为二维码或者条形码,图形码中可以携带有AR网页的URL。

在一实施例中,当扫描或者识别图形码时,终端可以通过浏览器或者互联网应用的应用程序编程接口(Application Programming Interface,API)调用浏览器,调用的浏览器或互联网应用可以根据扫描或者识别得到的图形码中的内容得到AR网页的URL,其中,上述互联网应用可以为即时通讯类应用程序等。可选的,终端可以通过系统中的浏览器的API调用系统中的浏览器,或者在扫描或者识别图形码时使用的应用程序中有内置浏览器时,终端还可以通过该内置浏览器的API调用该内置浏览器,本实施例对此并不做限定。比如,用户可以打开终端的摄像头并通过摄像头使用即时通讯应用程序中的扫一扫功能,扫描AR网页所对应的二维码,终端即可通过即时通信应用程序的内置浏览器的API调用该内置浏览器。再比如,用户还可以在接收到AR网页所对应的二维码后,通过长按操作以对该二维码进行识别,其中,长按是指按压二维码的时间达到预设时间阈值的操作,然后终端即可通过即时通信应用程序的内置浏览器的API调用该内置浏览器。

在一实施例中,当接收到的点击AR网页链接的点击信号时,终端可以通过浏览器的API调用该浏览器,该浏览器可以接收网页链接所在应用程序上报的AR网页的URL。其中,上述网页链接不为在浏览器中显示的网页链接。实际应用时,终端可以通过系统中的浏览器的API调用系统中的浏览器,可选地,当网页链接为在社交应用程序中传播的链接时,若该社交应用程序有内置浏览器,则终端还可以通过内置浏览器的API调用该内置浏览器。当然,需要说明的是,在社交应用程序中有内置浏览器时,终端仍然可以通过系统中的浏览器的API调用系统中的浏览器,本实施例对调用的浏览器并不做限定。

浏览器获取到URL之后,打开AR网页,并在网页当中创建3D场景。在一实施例中,可以基于Threejs在网页中搭建web3D环境。其中,Three表示3D,js表示javascript,openGL是一个跨平台3D/2D的绘图标准,WebGL则是openGL在浏览器上的一个实现。web前端开发人员可以直接用WebGL接口进行编程,但WebGL只是非常基础的绘图API,Threejs对WebGL进行了封装,因此使用Threejs在网页中搭建web3D具有更高的效率,进一步的Threejs的基本要素包括以下几个方面:场景、相机、光、物体。

在一实施例中,在网页页面创建3D场景之前,可以先判断当前浏览器是否支持3D场景渲染功能,其中,如果判断出当前浏览器支持3D场景渲染功能,则在网页页面创建3D场景。浏览器是当前网页页面所使用的浏览器,如果当前网页页面所使用的浏览器支持3D场景渲染功能,则可以在网页页面中创建3D场景,如果当前网页页面所使用的浏览器不支持3D场景渲染功能,则更换浏览器,比如将当前使用的系统内置浏览器更换为应用程序内置的浏览器。

在一实施例中,在创建终端当前所在的现实场景对应的三维空间包括:载入预设的3D引擎组件库,对所述3D场景进行渲染,初始化3D场景相机并将初始化之后的所述3D场景相机添加入所述3D场景中,渲染所述3D场景相机中可见区域的场景,以得到所述3D场景,将3D场景与终端当前所在的现实场景进行合成,以得到现实场景的三维空间。其中,上述预设的3D引擎组件库可以是threejs库及相关组件库,通过预设的3D引擎组件库对3D场景进行渲染,然后对3D场景相机初始化,最后对3D场景中的相机可见区域的场景进行渲染。

在一实施例中,在网页页面创建3D场景具体包括以下步骤:

(1)载入threejs库及相关组件库,渲染场景,代码包括:

scene=new THREE.Scene();

(2)初始化3d场景相机,代码包括:

camera=new THREE.PerspectiveCamera(90,camera_w/camera_h,1,1000);

(3)渲染相机中可见区域的场景,代码包括:

renderer=new THREE.WebGLRenderer({antialias:true,alpha:true});renderer.render(scene,camera);

进一步的,在网页中创建3D场景之后,终端可以将所述三维场景与当前所在的现实场景进行合成,以得到所述现实场景的三维空间,其中上述三维空间由于加入了3D场景,可以理解为在现实场景当中加入了空间坐标系,从而可以计算现实场景当中每个位置的空间坐标。

步骤102,生成三维空间对应的虚拟场景,所述虚拟场景包括第一增强现实模型。

其中,上述虚拟场景即为终端屏幕当中所显示的虚拟图像,进一步的,可以先确定三维空间中的第二空间位置,然后基于第二空间位置在虚拟场景中显示第一增强现实模型。

在一实施例中,终端可以通过摄像头获取当前所在的现实场景图像,然后根据该图像进行场景识别以获取地面平面,基于三维空间即可计算该平面当中某个位置的坐标也即第二空间位置。具体可以通过场景理解的方法判断你当前摄像头里拍摄的画面哪些地方是墙壁,哪些是地面,并且感知画面里的光照强度。

在一实施例中,可以先对现实场景进行场景分割,以得到多个平面,然后在多个平面当中确定地面,并在地面当中确定第二空间位置。也即,所述虚拟场景包括第一增强现实模型的步骤,包括:

对所述现实场景进行场景分割,以得到多个平面;

在所述多个平面当中选取满足预设条件的目标平面,并基于所述目标平面确定所述三维空间中的第二空间位置;

基于所述第二空间位置在所述虚拟场景中显示第一增强现实模型。

具体而言,上述场景分割可以有多种方法,比如:

(1)基于对象的场景分割。这种分割方法以对象为识别单位,根据场景中出现的特定对象来区分不同的场景;基于视觉的场景分割方法大部分都是以对象为单位的,也就是说,通过识别一些有代表性的对象来确定自然界的位置。典型的基于对象的场景分割方法有以下的中间步骤:特征提取、重组和对象识别。

(2)基于区域的场景分割。这种分割方法首先通过目标候选区域选择算法,生成一系列候选目标区域。

(3)基于上下文的场景分割。这种分割方法将输入图片作为一个特征,并提取可以概括图像统计或语义的低维特征。该类方法的目的即为提高场景分类的鲁棒性。

在本申请实施例中,对现实场景进行场景分割后,可以得到多个平面,包括平行于重力方向的平面和垂直于重力方向的平面,然后可以确定其中垂直于重力方向的平面为地面,从而可以在该地面平面当中确定第二空间位置的坐标。

在一实施例中,在确定当前三维空间中的第二空间位置后,可以从预设的增强现实模型库当中选取第一增强现实模型,并根据第二空间位置的坐标信息将该第一增强现实模型进行定位。

其中,在上述从预设的增强现实模型库当中选取第一增强现实模型时,为进一步提升该第一增强现实模型与当前现实场景的关联度,可以先对当前现实场景进行分析,然后根据分析结果选取第一增强现实模型,比如可以先获取当前现实场景的环境属性,该环境属性可以包括娱乐场所、工作场所、休息场所、自然风景等等。举例来说,若当前拍摄的现实场景当中包括草地、树木等植物,可以确定当前的环境属性为自然风景,因此可以从模型库当中选取虚拟动物模型,并将该动物模型设置在第二空间位置的坐标处;若当前拍摄的现实场景当中包括沙发、床等家具,可以确定当前的环境属性为休息场所,因此可以从模型库当中选取虚拟人物模型(比如卡通人物),并将该虚拟人物模型设置在第二空间位置的坐标处。

在一实施例中,在上述从预设的增强现实模型库当中选取第一增强现实模型时,还可以先识别当前现实场景当中的目标对象,然后在模型库中选取与目标对象关联的第一增强现实模型。具体的,可以在现实场景对应的图像当中提取特征信息,其中,上述特征信息可以包括图像当中所包含对象的轮廓,然后根据上述轮廓确定图像当中的目标对象。上述目标对象还可以根据用户指令进行获取,其中,用户指令可以包括第一图像的按压区域,例如,用户用一个手指按压图像中的某个区域,则终端可检测到手指接触到触摸屏上的接触到的按压区域可作为目标区域,然后在该区域当中获取目标对象。

在一实施例当中,上述用户指令还可为由对图像中进行触控操作生成的滑动轨迹所构成的闭合轨迹。例如,用户针对图像在触摸屏上进行触控操作,可形成一个滑动的闭合轨迹,可将所述闭合轨迹作所包含的图像作为目标区域,并在目标区域当中选取目标对象。

在确定当前现实场景当中的目标对象之后,在模型库中选取与目标对象关联的第一增强现实模型,比如可以选取与目标对象具备相同属性的增强现实模型,进一步的,还可以在模型库中匹配多个与目标对象具备相同属性信息的增强现实模型,然后由用户进行挑选以得到第一增强现实模型,然后将该第一增强现实模型设置在第二空间位置的坐标处。

在一实施例中,在得到第一增强现实模型后,将该第一增强现实模型设置在现实场景中之前,还可以对增强现实模型进行图像渲染,通过图像渲染最终使图像符合3D场景的阶段。渲染有多种软件,如:各CG软件自带渲染引擎,还有诸如RenderMan等。得到增强现实模型的虚拟3D图像,然后将该虚拟3D图像添加至现实场景当中的第二空间位置处。

在根据第二空间位置的坐标信息将该第一增强现实模型进行定位时,由于该第二空间位置是地面平面当中的一个点,而上述增强现实模型则具有一定的体积,在定位时可能出现因定位不准确而使得模型错位的情况。因此在一实施例中,还可以先确定上述第一增强现实模型当中的特征点,然后通过上述特征点与第二空间位置的坐标信息相匹配,从而将该第一增强现实模型定位到现实场景当中。举例来说,若确定上述第一增强现实模型为卡通人物,则可以将该卡通人物的脚设置为特征点,通过该特征点与第二空间位置的坐标信息相匹配,即可实现该卡通人物站在现实场景中上述第二空间位置的效果。

在一实施例中,可以通过ARkit或者ARcore来在第二空间位置处加载第一增强现实模型。其中,上述ARkit为iOS平台的AR开发框架,ARcore为安卓平台的AR开发框架,其中通过ARkit或者ARcore来加载第一增强现实模型可以参考现有技术,本申请在此不做进一步赘述。

步骤103,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型。

在一实施例中,终端可以通过世界追踪功能获取当前的空间坐标,即当前位于现实场景当中的第一空间位置,然后获取与上述第一增强现实模型相关联的第二增强现实模型,并将该第二增强现实模型设置在第一空间位置对应的空间坐标处。

在一实施例中,第二增强现实模型可以为服装配饰模型,可以用来装饰第一增强现实模型,其中上述获取与上述第一增强现实模型相关联的第二增强现实模型的方法可以有多种,可选的,可以在加载出第一增强现实模型之后,提取该第一增强现实模型的属性信息,然后确定同样具备上述属性信息的第二增强现实模型。比如上述属性信息可以为性别信息,若第一增强现实模型为男性卡通人物模型,则第二增强现实模型可以为男性常用的服饰配件模型,比如西装、领带、运动鞋、胡子等虚拟模型;若第一增强现实模型为女性卡通人物模型,则第二增强现实模型可以为女性常用的服饰配件模型,比如裙子、耳环、手链、项链等虚拟模型。

可选的,在加载出第一增强现实模型之后,还可以根据用户的喜好来确定第二增强现实模型。比如,获取用户的历史换装信息,该历史换装信息包括用户在预设时间段内所使用过的多个服饰配件模型以及上述多个服饰配件模型的使用频率,然后根据该历史换装信息智能预测用户使用的服饰配件模型即为第二增强现实模型。

在一实施例中,上述与第一增强现实模型相关联的第二增强现实模型可以包括有多个,比如上衣、裤子、帽子、鞋子等等。进一步的,在生成上述多个第二增强现实模型后,还可以对多个第二增强现实模型分别创建对应的按钮,并显示在终端的屏幕当中,然后接收针对上述多个按钮的用户操作以从多个第二增强现实模型当中选取目标模型并添加至现实场景当中。

比如,在屏幕中显示的当前现实场景并加载第一增强现实模型之后,根据与所述第一增强现实模型关联的多个第二增强现实模型,在屏幕的指定区域显示多个按钮,分别为“上衣”、“裤子”、“帽子”、“鞋子”、“围巾”等,然后当用户点击屏幕中的“帽子”按钮时,在现实场景当中加载该帽子模型,且将该帽子模型的位置设置在终端当前位于现实场景当中的第一空间位置对应的空间坐标处。需要说明的是,上述加载的第二增强现实模型可以显示在终端的屏幕中心,且随着终端的移动,该第二增强现实模型在屏幕中位置一直处于屏幕中心。

在一实施例中,若用户选取服饰配件模型后对当前造型不满意还可以进一步对其进行更换调整。具体的,在上述多个第二增强现实模型当中选取并显示目标模型后,还可以继续接收针对上述多个按钮的用户操作,以从多个第二增强现实模型当中重新选取新的目标模型以替换掉现实场景当中的原目标模型。举例来说,当用户再次点击不同于上次点击的按钮时,确定该按钮对应的第二增强现实模型为新的目标模型,然后删除当前现实场景当中的原目标模型,并且将上述新的目标模型设置在第一空间位置对应的空间坐标处。

在一实施例当中,在第一空间位置处加载与第一增强现实模型相关联的第二增强现实模型之后,还可以进一步对上述第二增强现实模型进行调整,以增加本申请当中的换装方法的趣味性。具体的,终端可以接收用户针对屏幕触发的调整指令,该调整指令可以包括第一调整指令和第二调整指令,该第一调整指令用于调整第二增强现实模型的颜色,比如用户点击屏幕当中的调色按钮后,屏幕中显示多个可供选择的预设颜色,用户再次点击其中的一个颜色,以完成对上述第二增强现实模型颜色的替换。上述第二调整指令用于调整第二增强现实模型的大小,比如用户可以通过双指拖动的方式放大或缩小第二增强现实模型,以完成对上述第二增强现实模型大小的调整。

进一步的,上述调整指令还可以包括第三调整指令,该第三调整指令用于对第二增强现实模型进行旋转,以调整所述第二增强现实模型的朝向,比如用户通过手指滑动屏幕,然后根据手指滑动的方向对第二增强现实模型旋转。通过上述调整指令,可以实现用户对第二增强现实模型的颜色、大小以及朝向的调节,使得换装更具多样性。

步骤104,当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在所述虚拟场景中移动。

其中,由于在终端移动时,上述第二增强现实模型的位置也会随着终端的第一空间位置而移动,因此在终端的屏幕中显示的结果是,随着终端的移动,该第二增强现实模型始终位于屏幕中央。而在终端移动的过程中,由于第一增强现实模型的第二空间位置是固定不变的,所以该第一增强现实模型在屏幕中显示的虚拟图像会随着终端的移动而改变。

在一实施例中,在终端移动的过程中,可以通过运动追踪技术来实时显示第一增强现实模型在终端屏幕中的图像。具体来说,iOS平台的ARkit以及安卓平台的ARcore都能够实现运动追踪功能。以ARcore为例,ARcore当中使用视觉惯性测距系统(VisualInertial Odometry,简称VIO)的算法来实现运动跟踪。VIO将从设备的摄像机中识别图像特征与内部运动传感器结合起来,以跟踪设备的相对位置和方向。通过跟踪方位和位置,我们即可以获取到终端在6自由度(six Degrees of Freedom,简称6DoF)范围内的位置,也就是我们通常所说的终端的姿态。从而根据终端的位置调整上述第一增强现实模型在终端屏幕中显示的虚拟图像。需要说明的是,上述终端在使用上述VIO算法是,在硬件上需要传感器的融合,因此该终端包括相机以及陀螺仪,其中相机用于产生图片,陀螺仪用于产生加速度和角速度。

比如,当移动终端靠近位于第二空间位置处的第一增强现实模型时,实时更新所述终端的第一空间位置,计算可知当前的第一空间位置与上述第二空间位置之间的距离越来越近,因此可以根据上述第一空间位置与第二空间位置之间的距离调整第一增强现实模型的大小,还可以根据第一空间位置与第二空间位置之间的相对方位调整上述第一增强现实模型的朝向。

在一实施例中,为提升用户通过移动终端来移动上述第二增强现实模型位置的自由度,还可以在移动终端之前接收用户针对终端屏幕的第二操作,该第二操作区别于上述步骤103当中的用户操作,在接收到第二操作后,当移动终端时,实时更新终端的第一空间位置,并将第二增强现实模型移动至更新后的第一空间位置。

进一步的,在移动终端且实时更新第二增强现实模型位置的过程中,还可以进一步接收用户针对终端屏幕的第三操作,该第三操作区别于上述第二操作,在接收到用户的第三操作后,确定当前第二增强现实模型所在的位置为最终位置并固定,不在移动,也不再继续获取终端当前在现实场景当中的位置。可以理解的是,当终端接收到第三操作并将第二增强现实模型的位置固定之后,若继续移动终端,则上述第二增强现实模型在屏幕中显示的虚拟图像位置便会随之改变,不在固定在终端的屏幕中心。

比如,上述第二操作可以为长按,当终端屏幕被按住时,随着终端的移动,实时更新终端当前在现实场景当中的第一空间位置,第二增强现实模型的位置也会随着终端的移动而移动。在这个过程中接收用户的第三操作,该第三操作可以为松开屏幕,也即结束长按屏幕的操作,此时可以确定当前第二增强现实模型所在的位置为最终位置并固定,不在移动。

由上述可知,本发明实施例通过创建终端当前所在的现实场景对应的三维空间,显示三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中显示与第一增强现实模型相关联的第二增强现实模型,当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。本方案可以在对虚拟模型换装的过程中随着终端的移动实时更新服装模型的位置,有效地提升了基于增强现实技术进行虚拟换装的交互性以及多样性。

根据上一实施例中所描述的增强现实场景的实现方法,以下将举例作进一步详细说明。

在本实施例中,将以该增强现实场景的实现装置具体集成在终端中为例进行说明。

请参阅图3,图3为本发明实施例提供的增强现实场景的实现方法的另一流程示意图。该方法流程可以包括:

步骤201,创建终端当前所在的现实场景对应的三维空间。

在本申请实施例中,AR功能可以通过AR网页的形式发布和传播,在用户需要体验本申请当中基于AR的虚拟换装功能时,用户可以在终端中打开对应的AR网页。相应的,终端可以接收到打开AR网页的触发信号,在接收到该触发信号之后,终端中的浏览器即可获取到该AR网页的URL。其中,AR网页是指能够实现AR功能的Web页面。浏览器获取到URL之后,打开AR网页,并在网页当中创建3D场景。

在其他实施例当中,上述AR功能还可以内置在应用程序当中,在用户需要体验本申请当中基于AR的虚拟换装功能时,用户可以在终端中打开对应的应用程序,并使用该应用程序中内置的对应功能。比如当终端接收到用于打开AR功能的触发信号时,该应用程序即可创建3D场景。

在一实施例中,可以基于Threejs在网页中搭建web3D环境。具体的,在网页页面创建3D场景包括:载入预设的3D引擎组件库,对所述3D场景进行渲染,初始化3D场景相机并将初始化之后的所述3D场景相机添加入所述3D场景中,渲染所述3D场景相机中可见区域的场景。其中,上述预设的3D引擎组件库可以是threejs库及相关组件库,通过预设的3D引擎组件库对3D场景进行渲染,然后对3D场景相机初始化,最后对3D场景中的相机可见区域的场景进行渲染。

进一步的,在网页中创建3D场景之后,终端可以将所述三维场景与当前所在的现实场景进行合成,以得到所述现实场景的三维空间,其中上述三维空间由于加入了3D场景,可以理解为在现实场景当中加入了空间坐标系,从而可以计算现实场景当中每个位置的空间坐标。

步骤202,基于三维空间中的第二空间位置,在虚拟场景中生成第一增强现实模型。

终端当前所在的现实场景进行识别,以得到所述现实场景当中的第二空间位置。在一实施例中,终端可以通过摄像头获取当前所在的现实场景图像,然后根据该图像进行场景识别以获取地面平面中的坐标也即第二空间位置。具体可以通过场景理解的方法判断你当前摄像头里拍摄的画面哪些地方是墙壁,哪些是地面,并且感知画面里的光照强度。比如,终端可以先对现实场景进行场景分割,以得到多个平面,然后在多个平面当中确定地面,并在地面当中确定第二空间位置。

在本申请实施例中,对现实场景进行场景分割后,可以得到多个平面,包括平行于重力方向的平面和垂直于重力方向的平面,然后可以确定其中垂直于重力方向的平面为地面,从而可以在该地面平面当中确定第二空间位置的坐标。

在一实施例中,在确定上述第二空间位置的坐标信息后,可以加载第一增强现实模型并根据第二空间位置的坐标信息将第一增强现实模型进行定位。在一实施例中,在加载第一增强现实模型之前,为进一步提升该第一增强现实模型与当前现实场景的关联度,可以先对当前现实场景进行分析,然后根据分析结果确定第一增强现实模型,比如可以先获取当前现实场景的环境属性,该环境属性可以包括娱乐场所、工作场所、休息场所、自然风景等等。举例来说,若当前拍摄的现实场景当中包括草地、树木等植物,可以确定当前的环境属性为自然风景,因此可以确定上述第一增强现实模型为虚拟动物模型,并将该动物模型设置在第二空间位置的坐标处;若当前拍摄的现实场景当中包括沙发、床等家具,可以确定当前的环境属性为休息场所,因此可以确定上述第一增强现实模型为虚拟人物模型(比如卡通人物),并将该虚拟人物模型设置在第二空间位置的坐标处。

在一实施例中,在确定上述第一增强现实模型时,还可以先识别当前现实场景当中的目标对象,然后在模型库中选取与目标对象关联的第一增强现实模型。具体的,可以在现实场景对应的图像当中提取特征信息,其中,上述特征信息可以包括图像当中所包含对象的轮廓,然后根据上述轮廓确定图像当中的目标对象。上述目标对象还可以根据用户指令进行获取,其中,用户指令可以包括第一图像的按压区域,例如,用户用一个手指按压图像中的某个区域,则终端可检测到手指接触到触摸屏上的接触到的按压区域可作为目标区域,然后在该区域当中获取目标对象。在其他实施例中,上述用户指令还可为由对图像中进行触控操作生成的滑动轨迹所构成的闭合轨迹。例如,用户针对图像在触摸屏上进行触控操作,可形成一个滑动的闭合轨迹,可将所述闭合轨迹作所包含的图像作为目标区域,并在目标区域当中选取目标对象。

在确定当前现实场景当中的目标对象之后,可以确定与上述目标对象关联的第一增强现实模型,比如可以确定与目标对象具备相同属性的增强现实模型,进一步的,还可以生成多个与目标对象具备相同属性信息的增强现实模型,比如虚拟模型A、虚拟模型B以及虚拟模型C,然后由用户进行挑选以得到第一增强现实模型,比如用户点击虚拟模型A,然后将该虚拟模型A设置在第二空间位置的坐标处。

在本申请实施例中,可以通过ARkit或者ARcore来在第二空间位置处加载第一增强现实模型。其中,上述ARkit为iOS平台的AR开发框架,ARcore为安卓平台的AR开发框架。

步骤203,在预设的增强现实模型库当中选取与第一增强现实模型相关联的多个增强现实模型样本,并在虚拟场景创建多个增强现实模型样本对应的控件。

在一实施例中,上述增强现实模型样本可以为服装配饰模型,可以用来装饰第一增强现实模型,其中上述选取与上述第一增强现实模型相关联的多个增强现实模型样本的方法可以有多种,可选的,可以在加载出第一增强现实模型之后,提取该第一增强现实模型的属性信息,然后在预设的增强现实模型库中确定同样具备上述属性信息的多个增强现实模型样本。比如上述属性信息可以为性别信息,若第一增强现实模型为男性卡通人物模型,则该多个增强现实模型样本可以为男性常用的服饰配件模型,比如西装、领带、运动鞋、胡子等虚拟模型;若第一增强现实模型为女性卡通人物模型,则该多个增强现实模型样本可以为女性常用的服饰配件模型,比如裙子、耳环、手链、项链等虚拟模型。

可选的,在加载出第一增强现实模型之后,还可以根据用户的喜好来确定多个增强现实模型样本。比如,获取用户的历史换装信息,该历史换装信息包括用户在预设时间段内所使用过的多个服饰配件模型以及上述多个服饰配件模型的使用频率,然后根据该历史换装信息智能预测用户使用的多个服饰配件模型,然后从增强现实模型库当中挑选上述服饰配件模型作为增强现实模型样本。

在一实施例中,上述与第一增强现实模型相关联的增强现实模型样本包括多个,比如上衣、裤子、帽子、鞋子等等。进一步的,在得到上述多个增强现实模型样本后,还可以对多个增强现实模型样本分别创建对应的按钮,并显示在终端的屏幕当中,以供用户选取。

举例来说,请参阅图4a,图4a是本发明实施例提供的增强现实场景的实现方法的场景示意图。在屏幕中显示的当前现实场景并加载第一增强现实模型之后,根据所述第一增强现实模型的属性在预设的模型数据库当中挑选多个增强现实模型样本,并针对上述每个样本创建按钮,分别为“上衣”、“裤子”、“鞋子”、“外套”、“配饰”以及“帽子”,上述多个按钮可以显示在终端屏幕当中的预设位置,比如屏幕右侧,以供用户选择。

步骤204,接收用户针对控件触发的第一操作,根据第一操作从多个增强现实模型样本中选取第二增强现实模型。

在本申请实施例中,上述第一操作可以为用户针对终端屏幕的操作,比如点击操作,终端可以绑定点击事件,当用户点击屏幕当中的多个按钮的其中一个时,确定该按钮对应的增强现实模型,即为第二增强现实模型。如图4a所示,若用户点击屏幕右侧的“帽子”按钮,则可以确定第二增强现实模型为帽子模型;若用户点击屏幕右侧的“鞋子”按钮,则确定第二增强现实模型为鞋子模型。

进一步的,上述多个增强现实模型样本中可能存在相同属性的样本,比如跑步鞋、皮鞋、篮球鞋都属于鞋子,太阳帽、钓鱼帽、厨师帽都属于帽子。因此,在用户点击屏幕当中的一个按钮后,判断该按钮所对应的增强现实模型样本是否为多个,若为多个,则可以根据上述多个样本的标签信息分别继续创建按钮,以供用户进一步挑选。

比如,在用户点击“鞋子”的按钮后,若鞋子对应的增强现实模型样本为多个,则可以在终端屏幕右侧继续显示上述多个增强现实模型样本对应的按钮,可以包括“足球鞋”、“篮球鞋”、“滑板鞋”、“皮鞋”等等,然后继续接收用户的点击操作,并根据点击操作确定其中的第二增强现实模型。若用户点击屏幕右侧的“篮球鞋”按钮,则可以确定第二增强现实模型为篮球鞋模型;若用户点击屏幕右侧的“皮鞋”按钮,则确定第二增强现实模型为皮鞋模型。

步骤205,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成第二增强现实模型。

在一实施例中,终端在确定第二增强现实模型之后,可以通过世界追踪功能获取当前的空间坐标,即当前位于现实场景当中的第一空间位置,并将该第二增强现实模型设置在第一空间位置对应的空间坐标处。

在一实施例中,在第一空间位置处加载第二增强现实模型之后,用户即可在屏幕当中看到上述第二增强现实模型的虚拟图像,若用户在看到后对当前的第二增强现实模型不满意还可以对其进行更换。比如,在第一空间位置处加载第二增强现实模型之后,还可以继续接收针对上述多个按钮的点击操作,以从多个第二增强现实模型当中重新选取新的目标模型以替换掉现实场景当中的原目标模型。举例来说,当屏幕中显示上衣模型的虚拟图像后,若用户不喜欢,还可以继续点击屏幕中不同于上次点击的按钮的其他按钮,比如“裤子”按钮,然后终端该“裤子”按钮对应的裤子模型确定为新的目标模型,并删除当前现实场景当中的原上衣模型,并且将上述新的裤子模型设置在第一空间位置对应的空间坐标处,以完成替换。

在一实施例中,在第一空间位置处加载第二增强现实模型之后,还可以进一步对上述第二增强现实模型进行调整,以增加本申请当中的换装方法的多样性和趣味性。具体的,终端可以接收用户针对屏幕触发的调整指令,该调整指令可以包括第一调整指令和第二调整指令,该第一调整指令用于调整第二增强现实模型的颜色,比如用户点击屏幕当中的调色按钮后,屏幕中显示多个可供选择的预设颜色,用户再次点击其中的一个颜色,以完成对上述第二增强现实模型颜色的替换。上述第二调整指令用于调整第二增强现实模型的大小,比如用户可以通过双指拖动的方式放大或缩小第二增强现实模型,以完成对上述第二增强现实模型大小的调整。

步骤206,接收用户针对虚拟场景的第二操作,当第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。

在一实施例中,该第二操作区别于上述步骤204当中的第一操作,比如可以为针对终端屏幕的长按操作,终端绑定长按事件,在用户长按屏幕并且控制移动终端时,实时获取终端的第一空间位置对应的空间坐标,并将第二增强现实模型移动至更新后的空间坐标处。

举例来说,请参阅图4b,在生成第二增强现实模型之后,用户可以长按屏幕并在长按屏幕期间移动终端,以调整第二增强现实模型与第一增强现实模型的位置关系,也即通过移动终端可以将帽子模型放置在人物模型的特定位置,比如人物模型的头部。其中,上述针对屏幕的长按操作的位置可以为上述多个增强现实模型样本对应的按钮之外的其他屏幕区域。

近一步的,为区别第一操作与第二操作,避免误触,还可以在确定用户针对终端屏幕的操作为第二操作之前加入判断机制,也即接收用户针对所述终端的第二操作,可以包括:

接收用户针对所述终端屏幕的触摸操作,并获取所述触摸操作的持续时长;

判断所述持续时长是否大于预设时长;

若大于,则确定所述触摸操作为所述第二操作。

需要说明的是,由于在长按屏幕并移动终端时,上述第二增强现实模型的位置也会随着终端的第一空间位置而移动,因此在终端的屏幕中显示的结果是,随着终端的移动,该第二增强现实模型始终位于屏幕中央。而在终端移动的过程中,由于第一增强现实模型的第二空间位置是固定不变的,所以该第一增强现实模型在屏幕中显示的虚拟图像会随着终端的移动而改变。具体的,在终端移动的过程中,可以通过运动追踪技术来实时显示第一增强现实模型在终端屏幕中的图像。

在一实施例中,在现实场景中生成第二增强现实模型之后,以及在根据终端的移动更新第二增强现实模型的位置的过程中,终端的屏幕当中可以同时显示第一增强现实模型的第一虚拟图像以及第二增强现实模型的第二虚拟图像,当上述两个图像在屏幕当中重叠时,可以将第二虚拟图像覆盖在第一虚拟图像之上,如图4b所示。

步骤207,在第一空间位置变化的过程中,判断第二操作是否结束,若是则执行步骤208。

在本申请实施例中,上述第二操作为长按屏幕,因此终端可以绑定松开事件,在长按屏幕的过程中,若触发上述松开事件,则确定用户长按屏幕的第二操作结束,此时可以继续执行步骤208,若未检测到松开事件,也即当前终端还在持续接收用户长按屏幕的第二操作,则可以继续执行步骤206,在移动终端的过程中,继续更新终端的第一空间位置,并将第二增强现实模型移动至更新后的第一空间位置。

步骤208,将第二增强现实模型在虚拟场景中移动至当前的第一空间位置后,停止获取变化后的第一空间位置。

比如,在结束长按终端屏幕的第二操作之后,可以将第二增强现实模型固定至终端当前的第一空间位置后不在移动,并停止更新终端在当前在现实场景当中的第一空间位置。可以理解的是,若此时继续移动终端,则上述第二增强现实模型在屏幕中显示的虚拟图像位置便会随之改变,不在固定在终端的屏幕中心。

步骤209,计算第一增强现实模型和第二增强现实模型之间的距离。

在本申请实施例当中,在第二增强现实模型的位置固定之后,可以根据第一增强现实模型的空间坐标以及第二增强现实模型的空间坐标计算两个模型之间的距离。

步骤210,当上述距离小于预设距离时,确定现实场景当中的第三空间位置,将第二增强现实模型移动至第三空间位置。

在本申请实施例当中,当第一增强现实模型和第二增强现实模型之间的距离小与预设距离时,可以修改第二增强现实模型的坐标到指定位置,直接将第二增强现实模型移动至第一增强现实模型的合适位置,从而实现吸附功能,提升用户体验。具体的,可以在获取到第一增强现实模型和第二增强现实模型之间的距离后,判断所述距离是否小于预设距离,若小于,则确定所述现实场景当中的第三空间位置,将所述第二增强现实模型移动至所述第三空间位置。其中上述第三空间位置可以根据第二增强现实模型的属性信息确定,比如上述确定所述现实场景当中的第三空间位置的步骤可以包括:

获取所述第二增强现实模型的属性信息,根据所述属性信息确定所述第一增强现实模型所包含的部位;

获取所述部位位于所述现实场景当中的位置,并确定为所述第三空间位置。

比如,上述第一增强现实模型可以为人物模型,第二增强现实模型可以为帽子模型,通过上述方法,即可直接将帽子模型移动到人物模型的头上,或者当上述第二增强现实模型为鞋子模型时,可以直接移动到人物模型的脚上。相较于用户手动移动,该方法使得换装更加快速和精确。

在实际应用当中,本申请实施例提供的换装方法还可以用于用户的在线试衣,比如,创建3D场景并对终端当前所在的现实场景进行识别,以得到现实场景当中的第二空间位置,在第二空间位置处加载当前用户的人体模型,获取终端当前位于现实场景当中的第一空间位置,并在第一空间位置处加载衣服模型,当移动终端时,实时更新终端的第一空间位置,并将衣服模型移动至更新后的第一空间位置。其中,上述人体模型可以为终端根据用户的图像建模得到的,衣服模型可以为用户在网络商城当中获取的,也可以为根据网络商城中的衣服图像建模得到的。

进一步的,当上述衣服模型与人体模型之间的距离小与预设距离时,该衣服模型可以直接穿戴到用户模型上的合适位置。在一实施例当中,由于衣服穿在人身上之后与人体的位置是一一对应的,例如衣服的领口对应人体的脖子,衣服的袖子对应人体的手臂,因此可以先获取上述衣服模型对应与人体模型当中的特征点,然后根据该特征点的坐标确定衣服模型的准确位置。其中上述特征点可以为一个,比如帽子模型对应人体模型头部当中的一个特征点;上述特征点也可以为多个,比如裤子模型对应人体模型腰部以及两条腿部中的三个特征点等等。请参阅图4c,即为将本申请方案用于用户试衣的一种场景示意图,其中,用户可以选取不同的衣服模型(图中的21-26),并通过移动终端放置在合适的位置,结合人物模型10使用户能够直观地看到试穿效果,大大增强用户体验。

由上述可知,本发明实施例通过创建终端当前所在的现实场景对应的三维空间,基于三维空间中的第二空间位置,在虚拟场景中生成第一增强现实模型,在预设的增强现实模型库当中选取与第一增强现实模型相关联的多个增强现实模型样本,并在虚拟场景创建多个增强现实模型样本对应的控件,接收用户针对控件触发的第一操作,根据第一操作从多个增强现实模型样本中选取第二增强现实模型,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成第二增强现实模型,接收用户针对虚拟场景的第二操作,当第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动,在第一空间位置变化的过程中,判断第二操作是否结束,若是则将第二增强现实模型在虚拟场景中移动至当前的第一空间位置后,停止获取变化后的第一空间位置,计算第一增强现实模型和第二增强现实模型之间的距离,当上述距离小于预设距离时,确定现实场景当中的第三空间位置,将第二增强现实模型移动至第三空间位置。本方案可以在对虚拟模型换装的过程中随着终端的移动实时更新服装模型的位置,有效地提升了基于增强现实技术进行虚拟换装的交互性以及多样性。

为便于更好的实施本发明实施例提供的增强现实场景的实现方法,本发明实施例还提供一种基于上述增强现实场景的实现方法的装置。其中名词的含义与上述增强现实场景的实现方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图5a,图5a为本发明实施例提供的增强现实场景的实现装置的结构示意图,其中该增强现实场景的实现装置可以包括:

创建单元301,用于创建终端当前所在的现实场景对应的三维空间。

在本申请实施例中,AR功能可以通过AR网页的形式发布和传播,在用户需要体验本申请当中基于AR的虚拟换装功能时,用户可以在终端中打开对应的AR网页。相应的,终端可以接收到打开AR网页的触发信号,在接收到该触发信号之后,终端中的浏览器即可获取到该AR网页的URL。其中,AR网页是指能够实现AR功能的Web页面。

浏览器获取到URL之后,打开AR网页,并在网页当中创建3D场景。在一实施例中,可以基于Threejs在网页中搭建web3D环境。

进一步的,在网页中创建3D场景之后,终端可以将所述三维场景与当前所在的现实场景进行合成,以得到所述现实场景的三维空间,其中上述三维空间由于加入了3D场景,可以理解为在现实场景当中加入了空间坐标系,从而可以计算现实场景当中每个位置的空间坐标

第一生成单元302,用于生成三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型。

在一实施例中,在网页中创建3D场景之后,可以对当前所在的现实场景进行识别,以得到三维空间当中的第二空间位置。在一实施例中,终端可以通过摄像头获取当前所在的现实场景图像,然后根据该图像进行场景识别以获取地面平面中的坐标也即第二空间位置。具体可以通过场景理解的方法判断你当前摄像头里拍摄的画面哪些地方是墙壁,哪些是地面,并且感知画面里的光照强度。

在一实施例中,在确定三维空间中的第二空间位置后,第一生成单元302可以从预设的增强现实模型库当中选取第一增强现实模型,并根据第二空间位置的坐标信息将该第一增强现实模型进行定位。在其他实施例中,第一生成单元302也可以通过ARkit或者ARcore来在第二空间位置处加载第一增强现实模型。

其中,第一生成单元302在上述从预设的增强现实模型库当中选取第一增强现实模型时,为进一步提升该第一增强现实模型与当前现实场景的关联度,可以先对当前现实场景进行分析,然后根据分析结果选取第一增强现实模型,比如可以先获取当前现实场景的环境属性,该环境属性可以包括娱乐场所、工作场所、休息场所、自然风景等等。举例来说,若当前拍摄的现实场景当中包括草地、树木等植物,可以确定当前的环境属性为自然风景,因此可以从模型库当中选取虚拟动物模型,并将该动物模型设置在第二空间位置的坐标处;若当前拍摄的现实场景当中包括沙发、床等家具,可以确定当前的环境属性为休息场所,因此可以从模型库当中选取虚拟人物模型(比如卡通人物),并将该虚拟人物模型设置在第二空间位置的坐标处。

在根据第二空间位置的坐标信息将该第一增强现实模型进行定位时,由于该第二空间位置是地面平面当中的一个点,而上述增强现实模型则具有一定的体积,在定位时可能出现因定位不准确而使得模型错位的情况。因此在一实施例中,还可以先确定上述第一增强现实模型当中的特征点,然后通过上述特征点与第二空间位置的坐标信息相匹配,从而将该第一增强现实模型定位到现实场景当中。举例来说,若确定上述第一增强现实模型为卡通人物,则可以将该卡通人物的脚设置为特征点,通过该特征点与第二空间位置的坐标信息相匹配,即可实现该卡通人物站在现实场景中上述第二空间位置的效果。

第二生成单元303,用于基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型。

在一实施例中,第二生成单元303可以通过世界追踪功能获取当前的空间坐标,即当前位于现实场景当中的第一空间位置,然后获取与上述第一增强现实模型相关联的第二增强现实模型,并将该第二增强现实模型设置在第一空间位置对应的空间坐标处。

比如,上述第二生成单元303加载的第二增强现实模型可以为服装配饰模型,可以用来装饰第一增强现实模型,其中上述获取与上述第一增强现实模型相关联的第二增强现实模型的方法可以有多种,可选的,可以在加载出第一增强现实模型之后,可以提取该第一增强现实模型的属性信息,然后确定同样具备上述属性信息的第二增强现实模型。比如上述属性信息可以为性别信息,若第一增强现实模型为男性卡通人物模型,则第二增强现实模型可以为男性常用的服饰配件模型,比如西装、领带、运动鞋、胡子等虚拟模型;若第一增强现实模型为女性卡通人物模型,则第二增强现实模型可以为女性常用的服饰配件模型,比如裙子、耳环、手链、项链等虚拟模型。

在一实施例中,上述与第一增强现实模型相关联的第二增强现实模型可以包括有多个,比如上衣、裤子、帽子、鞋子等等。进一步的,在生成上述多个第二增强现实模型后,还可以对多个第二增强现实模型分别创建对应的按钮,并显示在终端的屏幕当中,然后接收针对上述多个按钮的用户操作以从多个第二增强现实模型当中选取目标模型并添加至现实场景当中。

比如,上述用户操作可以为用的针对终端屏幕的点击操作,在屏幕中显示的当前现实场景并加载第一增强现实模型之后,根据与所述第一增强现实模型关联的多个第二增强现实模型,在屏幕的指定区域显示多个按钮,分别为“上衣”、“裤子”、“帽子”、“鞋子”、“围巾”等,然后当用户点击屏幕中的“帽子”按钮时,在现实场景当中加载该帽子模型,且将该帽子模型的位置设置在终端当前位于现实场景当中的第一空间位置对应的空间坐标处。

需要说明的是,上述加载的第二增强现实模型可以显示在终端的屏幕中心,且随着终端的移动,该第二增强现实模型在屏幕中位置一直处于屏幕中心。

移动单元304,用于当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发所述第二增强现实模型在虚拟场景中移动。

其中,由于在终端移动时,上述第二增强现实模型的位置也会随着终端的第一空间位置而移动,因此在终端的屏幕中显示的结果是,随着终端的移动,该第二增强现实模型始终位于屏幕中央。而在终端移动的过程中,由于第一增强现实模型的第二空间位置是固定不变的,所以该第一增强现实模型在屏幕中显示的虚拟图像会随着终端的移动而改变。在一实施例中,在终端移动的过程中,可以通过运动追踪技术来实时显示第一增强现实模型在终端屏幕中的图像。

在一实施例中,为提升用户通过移动终端来移动上述第二增强现实模型位置的自由度,还可以在移动终端之前接收用户针对终端屏幕的第二操作,比如长按屏幕,在用户通过手指长按屏幕并移动终端时,移动单元304实时更新终端的第一空间位置,并将第二增强现实模型移动至更新后的第一空间位置。

进一步的,在接收到第二操作并移动终端且实时更新第二增强现实模型位置的过程中,还可以进一步接收用户针对终端屏幕的第三操作,比如松开屏幕,此时确定当前第二增强现实模型所在的位置为最终位置并固定,不在移动,也不再继续获取终端当前在现实场景当中的位置。

在一实施例中,继续参阅图5b,所述第二生成单元303包括:

选取子单元3031,用于在预设的增强现实模型库当中选取与所述第一增强现实模型相关联的多个增强现实模型样本;

第一接收子单元3032,用于接收用户针对所述终端的第一操作,根据所述第一操作从所述多个增强现实模型样本中选取第二增强现实模型;

加载子单元3033,用于获取所述终端当前位于所述现实场景当中的第一空间位置,并在所述第一空间位置处加载所述第二增强现实模型。

在一实施例中,请参阅图5c,所述移动单元304包括:

第二接收子单元3041,用于接收用户针对所述终端的第二操作;

更新子单元3042,用于当移动所述终端时,根据所述第二操作实时更新所述终端的第一空间位置,并将所述第二增强现实模型移动至所述更新后的第一空间位置。

进一步的,上述第二接收子单元3041,具体用于接收用户针对所述终端屏幕的触摸操作,并获取所述触摸操作的持续时长,判断所述持续时长是否大于预设时长,若大于,则确定所述触摸操作为所述第二操作。

在一实施例中,所述虚拟换装装置30还可以包括:

判断单元305,用于在移动所述终端的过程中,判断所述第二操作是否结束;

处理单元306,用于当所述判断单元305判断为是时,将所述第二增强现实模型移动至所述终端当前的第一空间位置后,停止更新所述终端的第一空间位置。

由上述可知,本发明实施例通过创建单元301创建终端当前所在的现实场景对应的三维空间,第一生成单元302生成三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型,第二生成单元303基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型,移动单元304当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。本方案可以在对虚拟模型换装的过程中随着终端的移动实时更新服装模型的位置,有效地提升了基于增强现实技术进行虚拟换装的交互性以及多样性。

本发明实施例还提供一种终端,如图6所示,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:

该终端可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

终端还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该终端还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,终端还可以包括显示单元等,在此不再赘述。具体在本实施例中,终端中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

创建终端当前所在的现实场景对应的三维空间;

生成所述三维空间对应的虚拟场景,所述虚拟场景包括第一增强现实模型;

基于终端当前位于所述三维空间中的第一空间位置,在所述虚拟场景中生成与所述第一增强现实模型相关联的第二增强现实模型;

当检测到所述第一空间位置发生变化时,根据变化后的第一空间位置触发所述第二增强现实模型在所述虚拟场景中移动。

由上述可知,本发明实施例的终端可以通过创建终端当前所在的现实场景对应的三维空间,生成三维空间对应的虚拟场景,虚拟场景包括第一增强现实模型,基于终端当前位于三维空间中的第一空间位置,在虚拟场景中生成与第一增强现实模型相关联的第二增强现实模型,当检测到第一空间位置发生变化时,根据变化后的第一空间位置触发第二增强现实模型在虚拟场景中移动。本方案可以在对虚拟模型换装的过程中随着终端的移动实时更新服装模型的位置,有效地提升了基于增强现实技术进行虚拟换装的交互性以及多样性。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种增强现实场景的实现方法中的步骤。例如,该指令可以执行如下步骤:

创建终端当前所在的现实场景对应的三维空间;

生成所述三维空间对应的虚拟场景,所述虚拟场景包括第一增强现实模型;

基于终端当前位于所述三维空间中的第一空间位置,在所述虚拟场景中生成与所述第一增强现实模型相关联的第二增强现实模型;

当检测到所述第一空间位置发生变化时,根据变化后的第一空间位置触发所述第二增强现实模型在所述虚拟场景中移动。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种增强现实场景的实现方法中的步骤,因此,可以实现本发明实施例所提供的任一种增强现实场景的实现方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种增强现实场景的实现方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 增强现实场景的实现方法、装置及存储介质
  • 基于增强现实的场景识别方法、装置、存储介质和设备
技术分类

06120112228662