3D视角交互方法及装置与流程

文档序号:15491924发布日期:2018-09-21 20:46阅读:170来源:国知局

本申请涉及图像交互处理技术领域,具体而言,涉及一种3d视角交互方法及装置。



背景技术:

随着数据处理和图像处理技术的不断发展,3d显示被应用在各个领域。在3d显示场景中,用户可以通过视角或视点控制操作控制视角或视点,以多方位地观察3d显示场景中的构筑物。在一些3d显示场景中,用户作为操作者,可能需要用户与某一个或多个3d构筑物互动,在现有技术中,常通过站在操作者的角度,通过鼠标点击选取的方式选择需要交互的目标来触发交互事件。这种操作模式使得视角或视点的操作模式与选择交互目标的操作模式是分离的,用户需要频繁进行操作模式的切换,导致交互流程不流畅,使用十分不便。



技术实现要素:

为了克服现有技术中的上述不足,本申请的目的在于提供一种3d视角交互方法,应用于浏览器,所述方法包括:

响应触发视角改变的请求;

获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的相应的视角事件;

根据在所述目标构筑物上触发视角事件,与该目标构筑物进行相应的交互动作。

可选地,在上述方法中,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否出现在所述视角范围内;获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的视角事件的步骤,包括:

检测所述执行视角改变动作后所述目标构筑物是否出现在所述视角范围内,并检测所述执行视角改变动作前所述目标构筑物是否出现在所述视角范围内;

若所述执行视角改变动作后所述目标构筑物出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物没有出现在所述视角范围内,则触发针对该目标构筑物的视角进入事件;

若所述执行视角改变动作后所述目标构筑物没有出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物出现在所述视角范围内,则触发针对该目标构筑物的视角离开事件。

可选地,在上述方法中,所述视角范围具有一个或多个视角焦点,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否与所述视角范围的视角焦点重合;获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的视角事件的步骤,包括:

检测所述执行视角改变动作后所述目标构筑物是否与所述视角焦点重合,并检测所述执行视角改变动作前所述目标构筑物是否与所述视角焦点重合;

若所述执行视角改变动作后所述目标构筑物与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物没有与所述视角焦点重合,则触发针对该目标构筑物的视角聚焦事件;

若所述执行视角改变动作后所述目标构筑物没有与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物与所述视角焦点重合,则触发针对该目标构筑物的视角失焦事件。

可选地,在上述方法中,所述响应触发视角改变的请求的步骤包括:

监听鼠标、键盘、重力感应装置或加速度感应装置中的一个或多个的状态变化;

响应因所述状态变化触发的视角改变的请求,执行视角改变动作,重新渲染当前视角范围内的图像。

可选地,在上述方法中,所述根据在所述目标构筑物上触发视角事件,与该目标构筑物进行相应的交互动作的步骤,包括:

在触发所述目标构筑物的视角事件时,根据触发的所述视角事件的类型调用交互动作函数,以与该目标构筑物进行相应的交互动作。

本申请的另一目的在于提供一种3d视角交互装置,应用于浏览器,所述装置包括:

请求接收模块,用于响应触发视角改变的请求;

事件触发模块,用于获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的相应的视角事件;

执行模块,用于根据在所述目标构筑物上触发视角事件,与该目标构筑物进行相应的交互动作。

可选地,在上述装置中,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否出现在所述视角范围内;所述事件触发模块包括:

第一检测子模块,用于检测所述执行视角改变动作后所述目标构筑物是否出现在所述视角范围内,并检测所述执行视角改变动作前所述目标构筑物是否出现在所述视角范围内;

第一触发子模块,用于在所述执行视角改变动作后所述目标构筑物出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物没有出现在所述视角范围内时,触发针对该目标构筑物的视角进入事件;

第二触发子模块,用于在所述执行视角改变动作后所述目标构筑物没有出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物出现在所述视角范围内时,触发针对该目标构筑物的视角离开事件。

可选地,在上述装置中,所述视角范围具有一个或多个视角焦点,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否与所述视角范围的视角焦点重合;所述事件触发模块包括:

第二检测子模块,用于检测所述执行视角改变动作后所述目标构筑物是否与所述视角焦点重合,并检测所述执行视角改变动作前所述目标构筑物是否与所述视角焦点重合;

第三触发子模块,用于在所述执行视角改变动作后所述目标构筑物与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物没有与所述视角焦点重合时,触发针对该目标构筑物的视角聚焦事件;

第四触发子模块,用于在所述执行视角改变动作后所述目标构筑物没有与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物与所述视角焦点重合时,触发针对该目标构筑物的视角失焦事件。

可选地,在上述装置中,所述请求接收模块具体用于监听鼠标、键盘、重力感应装置或加速度感应装置中的一个或多个的状态变化;响应因所述状态变化触发的视角改变的请求,执行视角改变动作,重新渲染当前视角范围内的图像。

可选地,在上述装置中,所述执行模块具体用于在触发所述目标构筑物的视角事件时,根据触发的所述视角事件的类型调用交互动作函数,以与该目标构筑物进行相应的交互动作。

相对于现有技术而言,本申请具有以下有益效果:

本申请提供的3d视角交互方法及装置,通过根据执行视角改变动作后视角范围与目标构筑物的第一相互关系与执行视角改变操作前视角范围与目标构筑物的第二相互关系,触发针对目标构筑物的视角事件,在根据不同的视角事件与该目标构筑物进行相应的交互动作。如此,可以在视角改变时自动地触发与目标构筑物的交互,使得用户不需要频繁进行操作模式的切换,提高了交互流程的流畅度,方便用户使用。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的电子设备的示意图;

图2为本申请实施例提供的3d视角交互方法的流程示意图;

图3为本申请实施例提供的3d视角交互装置的功能模块示意图之一;

图4为本申请实施例提供的3d视角交互装置的功能模块示意图之二。

图标:100-电子设备;110-3d视角交互装置;111-请求接收模块;112-事件触发模块;1121-第一检测子模块;1122-第一触发子模块;1123-第二触发子模块;1124-第二检测子模块;1125-第三触发子模块;1126-第四触发子模块;113-执行模块;120-存储器;130-处理器;140-显示单元;150-操作接收单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

本实施例提供一种电子设备100,所述电子设备100可以为智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。所述电子设备100包括3d视角交互装置110、存储器120、处理器130、显示单元140及操作接收单元150。

所述存储器120、处理器130、显示单元140以及操作接收单元150各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述3d视角交互装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述3d视角交互装置110所包括的软件功能模块及计算机程序等。

其中,所述存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。

所述显示单元140用于在所述处理器130的控制下输出图像,例如,输入3d场景的图像。

所述操作接收单元150用于接收用户操作或外部触发,例如,接收可能导致所述3d场景中视角变化的用户的操作或外部触发。在本实施例中,所述操作接收单元150可以是,但不仅限于,鼠标、键盘、重力感应装置或加速度感应装置等。

在本实施例中,所述电子设备可以基于浏览器为用户提供一个3d显示场景,在该3d场景中包括至少一个3d的构筑物。各构筑物上预先定义了一些不同的视野时间。

请参照图2,图2为应用于图1所示的电子设备100的一种应用信息获取方法的流程图,以下将对所述方法包括各个步骤进行详细阐述。

步骤s110,响应触发视角改变的请求。

具体地,在本实施例中,所述电子设备100可以监听鼠标、键盘、重力感应装置或加速度感应装置中的一个或多个的状态变化。

在监听到所述状态变化时,响应因所述状态变化触发的视角改变的请求,执行视角改变动作,重新渲染当前视角范围内的图像。

步骤s120,获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的相应的视角事件。

可选地,在本实施例中,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否出现在所述视角范围内。

所述电子设备100检可以测所述执行视角改变动作后所述目标构筑物是否出现在所述视角范围内,并检测所述执行视角改变动作前所述目标构筑物是否出现在所述视角范围内。

若所述执行视角改变动作后所述目标构筑物出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物没有出现在所述视角范围内,则触发针对该目标构筑物的视角进入事件。

例如,某一个目标构筑物可能原本不在所述视角范围内,但是在进行视角移动或视角范围放大/缩小的操作后,该目标构筑物可能出现在所述视角范围内。当所述电子设备100检测到这种情况时,则产生针对该目标构筑物的视角进入事件。

若所述执行视角改变动作后所述目标构筑物没有出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物出现在所述视角范围内,则触发针对该目标构筑物的视角离开事件。

例如,某一个目标构筑物可能原本在所述视角范围内,但是在进行视角移动或视角范围放大/缩小的操作后,该目标构筑物可能不在所述视角范围内了。当所述电子设备100检测到这种情况时,则产生针对该目标构筑物的视角离开事件。

可选地,在本实施例中,所述视角范围具有一个或多个视角焦点,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否与所述视角范围的视角焦点重合。例如,所述视角焦点可以为所述视角范围的中心点。

所述电子设备100可以检测所述执行视角改变动作后所述目标构筑物是否与所述视角焦点重合,并检测所述执行视角改变动作前所述目标构筑物是否与所述视角焦点重合。

若所述执行视角改变动作后所述目标构筑物与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物没有与所述视角焦点重合,则触发针对该目标构筑物的视角聚焦事件。

例如,某一个目标构筑物可能原本不与所述视角焦点重合,但是在进行视角移动或视角范围放大/缩小的操作后,该目标构筑物可能与所述视角焦点重合了。当所述电子设备100检测到这种情况时,则产生针对该目标构筑物的视角聚焦事件。

若所述执行视角改变动作后所述目标构筑物没有与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物与所述视角焦点重合,则触发针对该目标构筑物的视角失焦事件。

例如,某一个目标构筑物可能原本与所述视角焦点重合,但是在进行视角移动或视角范围放大/缩小的操作后,该目标构筑物可能不与所述视角焦点重合了。当所述电子设备100检测到这种情况时,则产生针对该目标构筑物的视角失焦事件。

步骤s130,根据在所述目标构筑物上触发视角事件,与该目标构筑物进行相应的交互动作。

在本实施例中,在触发所述目标构筑物的视角事件时,根据触发的所述视角事件的类型调用交互动作函数,以与该目标构筑物进行相应的交互动作。

例如,当触发了针对某一目标构筑物的视角进入事件时,调用相应的互动函数,向操作者提示将该目标构筑物的出现提示。当触发了针对某一目标构筑物的视角离开事件时,调用相应的互动函数,向操作者提示将该目标构筑物的消失提示。

再例如,当触发了针对某一目标构筑物的视角聚焦事件时,调用相应的互动函数,使操作者开始与该目标构筑物进行交互。当触发了针对某一目标构筑物的视角失焦事件时,调用相应的互动函数,使操作者结束与该目标构筑物进行交互。

基于上述设计,本实施例提供的3d视角交互方法,在目标构筑物的角度来触发视角事件,可以在视角改变的过程中自动的触发与目标构筑物的交互,而不需要用户进行其他的操作,可以提高交互流程的流畅度。

请参照图3,本实施例还提供一种应用于图1所示电子设备100的3d视角交互装置110,该装置包括请求接收模块111、事件触发模块112及执行模块113。

所述请求接收模块111,用于响应触发视角改变的请求。

本实施例中,所述请求接收模块111可用于执行图2所示的步骤s110,关于所述请求接收模块111的具体描述可参对所述步骤s110的描述。

所述事件触发模块112,用于获得执行视角改变动作后的视角范围与目标构筑物的第一相互关系,获得执行所述视角改变动作前的所述视角范围与所述目标构筑物的第二相互关系,并根据所述第一相互关系及所述第二相互关系触发针对该目标构筑物的相应的视角事件。

本实施例中,所述事件触发模块112可用于执行图2所示的步骤s120,关于所述事件触发模块112的具体描述可参对所述步骤s120的描述。

所述执行模块113,用于根据在所述目标构筑物上触发视角事件,与该目标构筑物进行相应的交互动作。

本实施例中,所述执行模块113可用于执行图2所示的步骤s130,关于所述执行模块113的具体描述可参对所述步骤s130的描述。

可选地,在本实施例中,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否出现在所述视角范围内。所述事件触发模块112包括第一检测子模块1121、第一触发子模块1122及第二触发子模块1123。

所述第一检测子模块1121,用于检测所述执行视角改变动作后所述目标构筑物是否出现在所述视角范围内,并检测所述执行视角改变动作前所述目标构筑物是否出现在所述视角范围内。

所述第一触发子模块1122,用于在所述执行视角改变动作后所述目标构筑物出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物没有出现在所述视角范围内时,触发针对该目标构筑物的视角进入事件。

所述第二触发子模块1123,用于在所述执行视角改变动作后所述目标构筑物没有出现在所述视角范围内,且执行所述视角改变动作前所述目标构筑物出现在所述视角范围内时,触发针对该目标构筑物的视角离开事件。

可选地,在本实施例中,所述视角范围具有一个或多个视角焦点,所述视角范围与目标构筑物的相互关系包括所述目标构筑物是否与所述视角范围的视角焦点重合。所述事件触发模块112包括第二检测子模块1124、第三触发子模块1125及第四触发子模块1126。

所述第二检测子模块1124,用于检测所述执行视角改变动作后所述目标构筑物是否与所述视角焦点重合,并检测所述执行视角改变动作前所述目标构筑物是否与所述视角焦点重合。

所述第三触发子模块1125,用于在所述执行视角改变动作后所述目标构筑物与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物没有与所述视角焦点重合时,触发针对该目标构筑物的视角聚焦事件。

所述第四触发子模块1126,用于在所述执行视角改变动作后所述目标构筑物没有与所述视角焦点重合,且执行所述视角改变动作前所述目标构筑物与所述视角焦点重合时,触发针对该目标构筑物的视角失焦事件。

可选地,在本实施例中,所述请求接收模块111具体用于监听鼠标、键盘、重力感应装置或加速度感应装置中的一个或多个的状态变化。响应因所述状态变化触发的视角改变的请求,执行视角改变动作,重新渲染当前视角范围内的图像。

可选地,在本实施例中,所述执行模块113具体用于在触发所述目标构筑物的视角事件时,根据触发的所述视角事件的类型调用交互动作函数,以与该目标构筑物进行相应的交互动作。

综上所述,本申请提供的3d视角交互方法及装置,通过根据执行视角改变动作后视角范围与目标构筑物的第一相互关系与执行视角改变操作前视角范围与目标构筑物的第二相互关系,触发针对目标构筑物的视角事件,在根据不同的视角事件与该目标构筑物进行相应的交互动作。如此,可以在视角改变时自动地触发与目标构筑物的交互,使得用户不需要频繁进行操作模式的切换,提高了交互流程的流畅度,方便用户使用。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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