发明内容
鉴于以上内容,有必要提供一种可提供用户体验的多人交互系统及方法。
一种多人交互系统,包括:
一第一服务器,用于输出包含一第一场景的第一影像,其中该第一影像包含若干虚拟角色分别对应该第一场景中的第一坐标;
一第一存储设备,存储有若干对象模型;及
若干载体,与该第一服务器及第一存储设备进行通信,每一载体包括:
一摄像设备,用于获取一用户所在的一第二场景的第二影像;
一传感器,用于输出用户位置移动时的位置变化信息;及
一处理器,用于接收该摄像设备输出的第二影像,该处理器还用于获取该第二影像中包含的特征点,并根据获取得到特征点设置一对应于该第二场景的参考坐标,该处理器还将该参考坐标与用户对应的虚拟角色在第一场景中的第一坐标进行关联操作;该处理器接收该传感器输出的位置变化信息,并根据该位置变化信息计算出相对于该参考坐标的变化坐标,该处理器还将该变化坐标输出至该第一服务器;
该第一服务器接收各载体输出的变化坐标,该第一服务器根据该变化坐标对应改变该虚拟角色在该第一场景中的位置,该第一服务器还用于输出该第一场景中包含的各虚拟角色的第一影像至对应的载体。
一种多人交互方法,包括:
输出包含一第一场景的第一影像,其中该第一影像包含若干虚拟角色分别对应该第一场景中的第一坐标;
获取对应若干用户所在第二场景的第二影像;
获取一第二影像中包含的特征点,并根据获取得到特征点设置一对应于一用户所在第二场景的参考坐标;
将该参考坐标与对应该用户的虚拟角色在第一场景中的第一坐标进行关联操作;
接收一传感器输出的位置变化信息,并根据该位置变化信息计算出相对于该参考坐标的变化坐标;
将该变化坐标输出至一第一服务器;
根据该变化坐标改变该用户所对应虚拟角色在该第一场景中的位置;及
输出该第一场景中包含的各虚拟角色的第一影像至对应的载体。
上述多人交互系统及方法通过跟踪用户在第二场景中的位置变化来对应调整该虚拟角色在第一场景中的位置,如此可为用户提供更为丰富的体验效果,提高了用户的交互能力。
具体实施方式
请参阅图1,本发明多人交互系统的较佳实施方式包括一第一服务器20、一连接该第一服务器20的第一存储设备30及若干与该第一服务器20进行通信的载体10。本实施方式中,该第一服务器20可通过一网络与一第二服务器60进行数据交换,如通过一互联网40与该第二服务器60进行通信。本实施方式中,该第一服务器20可用于对若干用户正在进行的虚拟游戏的数据进行处理。
本实施方式中,该多人交互系统可包括但不限于三台第一服务器20,每一第一服务器20可接入用户的数量也可以不相同。当第一服务器20对虚拟游戏的数据进行处理时,该虚拟游戏中可包括一场景(如一第一场景),该场景中可包含若干虚拟角色,每一虚拟角色可以在同一场景中进行对战。该第一服务器20还用于输出对应第一场景的第一影像。不同的用户可通过登陆同一第一服务器20,以加入至第一场景。本实施方式中,每一虚拟角色均包含在该场景中的一坐标,如一第一角色在第一场景中的第一坐标。本实施方式中,该第二服务器60连接于一第二存储设备50,该第二服务器60可为远程服务器,可以将每一第一服务器20中存储的用户的属性信息备份及/或同步至该第二存储设备50内,如此使得当用户在其他服务器进行登陆时可以切换至最新的场景中。本实施方式中,当用户通过不同的第一服务器20加入至第一场景时,该第二服务器60还用于将该第一场景中各用户的属性信息同步至对应的第一服务器20,如此方便不同的用户在不同的地方加入相同场景的游戏中。
该第一存储设备30存储有若干对象模型,如用户的手的模型、刀的模型、枪的模型等。本实施方式中,该第一存储设备30内存储的对象模型可以是三维模型。本实施方式中,该第一存储设备30内还存储的若干特效模型,如刀的特效模型、枪的特效模型等。
请参阅图2,该载体10包括一摄像设备110、一显示设备130、一传感器140、一存储器120及一连接于该摄像设备110、显示设备130、传感器140及存储器120的处理器100。
本实施方式中,该摄像设备110用于获取用户所在的一第二场景的第二影像。该第二场景包含但不限于用户在线下的游戏厅或用户的家中进行游戏时所对应的场景。本实施方式中,该摄像设备110可为安装在用户头戴式显示器上的摄像头。该摄像设备110可采集可见光或红外光,该摄像设备110输出的该第二影像可为二维的图像,也可为三维的图像。该摄像设备110可以是基于结构光的三维摄像头或是基于双目图像的三维摄像头。在其他实施方式中,该摄像设备110可以不限于上述两种举例说明的三维摄像头。用户的佩戴位置可以但不限于在头顶前方处(架在头戴显示器的上方),也可以在胸前及肩部位置,其具体位置根据所选用的摄像头的视角大小来选定。
该显示设备130用于接收该第一服务器20输出的第一影像,并显示该第一影像的内容给用户,如虚拟游戏的第一场景中不同用户之间的对战内容。
该传感器140用于输出用户位置移动时的位置变化信息。本实施方式中,该传感器140可包括若干惯性传感器,惯性传感器亦可包括角速率陀螺、线加速度计等传感器,以根据用户位置变化时转动角度、移动距离等信息获取用户在第二场景中三维坐标的变化值。本实施方式中,该载体10可为一力反馈衣服,该传感器140可分开地安装在该载体10的不同位置,如在用户的两个胳膊部位装有该传感器140,以探测用户上臂的姿态及转动的信息。
请参阅图3,该存储器120用于存储若干可被该处理器100执行的代码,以使得该处理器100完成特定的功能。本实施方式中,该处理器100包括一模型识别单元102、一动作识别单元104、一控制处理单元106及一反馈检测单元108。
该控制处理单元106用于接收该摄像设备110输出的第二影像。该控制处理单元106还用于获取该第二影像中所包含的特征点,并根据相邻第二影像中特征点的位置的变化来识别用户于该第二场景的变化坐标。本实施方式中,当用户通过第一服务器20接入一虚拟游戏时,用户可将接入虚拟游戏时虚拟角色的第一坐标与当前用户所在的位置进行关联,并将用户当前所在该第二场景中的位置设置为对应于该第二场景的参考坐标(如设置为X、Y、Z坐标轴的原点),以根据用户的位置变化来改变虚拟角色在第一场景中的位置。本实施方式中,当用户在第二场景的位置发生变化时,如用户从一第一位置移动至第二位置,该控制处理单元106可获取第一位置对应的第二影像中包含特征点及第二位置对应的第二影像中包含的特征点,并根据第一及第二位置中相同特征点的位置变化及/或相同特征点的大小变化来识别用户相对于第一位置的第二位置的坐标。
本实施方式中,当接收到该传感器140输出的位置变化信息(用户相对于前一状态时在X、Y、Z坐标轴上变化的位置)时,该控制处理单元106根据该位置变化信息计算出相对于前一坐标的变化坐标,该控制处理单元106还将该变化坐标输出至该第一服务器20以使得该第一服务器20根据该变化坐标对应改变该虚拟角色在该第一场景中的位置,如此当第一服务器20存在多个用户时,每一用户可看到在同一虚拟游戏中其他用户的位置与移动方向,从而得以让多个用户在虚拟场景中进行互动。例如,进行射击游戏中进行对战,解谜游戏中进行协同,也避免在头戴显示器封闭视角环境中互相撞到。
该反馈检测单元108用于获取该传感器140输出的位置变化信息,并根据该控制处理单元106识别出来的变化坐标对该位置变化信息进行校验。本实施方式中,该传感器140通常用于输出一包含六个自由度的数据(三个轴平移及三个旋转轴)。该反馈检测单元108用于获取该控制处理单元106对该第二影像处理得到的特征点,并通过特征点追踪的算法追踪每帧第二影像包含的特征点之间的位置的变化,该反馈单元108根据各特征点位置的变化反推该传感器140的相对位置变化,即基于不同帧的图像特征点位置变化的信息获取该传感器140的六个自由度的数据。由于该传感器140可能基于MEMS等惯性传感器,如此可能会导致该传感器140输出的数据出现漂移的情况,导致获取的六个自由度的数据不准确。此时,该反馈检测单元108通过特征点追踪的算法来计算出该传感器140的六个自由度的数据,进而根据图像识别获取的自由度数据对传感器140输出的自由度的数据进行校准,以输出具有较高准确度的位置变化信息,进而避免了可能因传感器140出现漂移时的数据不准确的不足,如此提高该控制处理单元106获取用户在第二场景中的变化坐标的准确度。
该模型识别单元102用于该第二影像进行特征提取,以获取该第二影像中包含的特征点,并根据该第一存储设备30中存储的对象模型及该第二影像提取得到的特征点判断该第二影像中是否包含一触发对象,如判断该第二影像中是否包含一手的模型。当该第二影像中包含该触发对象时,该控制处理单元106将该第二影像中包含所该触发对象的影像与该第一影像进行处理,以得到一包含该触发对象的第二影像及该第一影像的第三影像,该控制处理单元106还将该第三影像输出至该显示设备130。本实施方式中,当用户使用头戴式显示器时,用户是无法看到自己的手,因此,当该模型识别单元102侦测到用户的手时,该控制处理单元106对该第二影像进行增强滤波、动态阈值等操作后去除背景干扰物,进而可将第二影像中对应于用户真实的手的影像叠加至虚拟游戏中(除了用户的手的影像外,其他部分的影像可以被去除),如此使得用户在游戏时可看到自己真实的手,进而有利于提高了游戏的交互效果。
本实施方式中,该第一存储设备30还存储了对象模型所对应的动作信息,该处控制处理单元106还用于根据该第二影像的特征点及该第一存储设备30中存储的对象模块的动作信息获取该触发对象所对应的动作信息,该控制处理单元106将该触发对象所对应的动作信息输出至该第一服务器20。该第一服务器20用于执行该动作信息所对应的操作。例如,当该对象模型中存储了手的模型时,该第一存储设备30可包含该手的各种手势的动作信息,如此,通过识别的手势可作为命令输入或当作按钮触发,实现多种交互。
本实施方式中,该模式识别单元102还根据该第一存储设备20中存储的对象模型及该第二影像提取得到的特征点判断该第二影像中是否包含一预设对象。当该第二影像中包含该预设对象时,该控制处理单元106将该预设对象传输至该第一服务器30,该第一服务器30根据该预设对应对该第一影像进行处理,以得到一第四影像,该第一服务器30还将该第四影像输出至该显示设备。例如,当用户欲拿刀时,该摄像设备110会拍摄到包含刀的第二影像,此时,该控制处理单元106可将刀所对应的预设对象输出至该第一服务器30,进而使得该第四影像中包含刀的影像。在其他实施方式中,该控制处理单元106可将该第二影像中对应为刀的影像输出至该第一服务器30,以将刀的实物影像显示给用户。
本实施方式中,该第一存储设备30还存储该预设对象所对应的特效模型,当该第一服务器接收到该预设对象时,该第一服务器还将该预设对象所对应的特效模型加入该第四影像内,以产生一第五影像,该第一服务器还将该第五影像输出至该显示设备。如将一特效加入至包含刀的第四影像中,以使用户产生更为真实的体验效果。
本实施方式中,该第一服务器20中用户的属性信息包括但不限于用户对应的角色在该第一场景中的位置、该用户的得分、奖励、装备、服装等数据。该第一服务器20将用户的属性信息备份至该第二服务器60内,当用户在其他服务器登陆时,该第二服务器60将该用户的属性信息与该第一服务器20进行同步操作。
请参阅图4,本发明多人交互方法的较佳实施方式包括如下步骤:
步骤S401,输出包含一第一场景的第一影像,其中该第一影像包含若干虚拟角色对应该第一场景中的第一坐标。
步骤S403,获取对应若干用户的第二场景的第二影像。
步骤S405,获取该第二影像中包含的特征点。
步骤S407,根据获取得到的特征点设置一用户所在第二场景的参考坐标。
步骤S409,将该参考坐标与该用户对应的虚拟角色在第一场景中的第一坐标进行关联操作。
步骤S411,接收一传感器输出的位置变化信息,并根据该位置变化信息计算出相对于该参考坐标的变化坐标。
步骤S413,将该变化坐标输出至一第一服务器,以使得该第一服务器根据该变化坐标对应改变该虚拟角色在该第一场景中的位置。
步骤S415,输出该第一场景中包含的各虚拟角色的第一影像至对应的载体。
请一并参阅图5,本发明多人交互方法的较佳实施方式还包括如下步骤:
步骤S501,对该第二影像进行特征提取。
步骤S503,根据一第一存储设备中存储的对象模型及提取得到的特征点判断该第二影像中是否包含一触发对象;当该第二影像中包含该触发对象时,执行步骤S505;当该第二影像中不包含该触发对象时,执行步骤S509。
步骤S505,将该第二影像中包含所该触发对象的影像与该第一影像进行处理,以得到一包含该触发对象的第二影像及该第一影像的第三影像。
步骤S507,根据该第二影像的特征点及该第一存储设备中存储的对象模块的动作信息获取该触发对象所对应的动作信息,本流程结束。
步骤S509,根据该第一存储设备中存储的对象模型及提取得到的特征点判断该第二影像中是否包含一预设对象;当该第二影像中包含该预设对象时,执行步骤S511,;当该第二影像中不包含该预设对应时,本流程结束。
步骤S511,将该预设对象传输至该第一服务器。
步骤S513,根据该预设对象对该第一影像进行处理,以得到一第四影像,该第一服务器还将该第四影像输出至一显示设备。
步骤S515,该第一服务器还将该预设对象所对应的特效模型加入该第四影像内,以产生一第五影像。
步骤S517,将该第五影像输出至该显示设备。
上述多人交互系统及方法通过跟踪用户在第二场景中的位置变化来对应调整该虚拟角色在第一场景中的位置,如此可为用户提供更为丰富的体验效果,提高了用户的交互能力。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。