网络虚拟角色合成系统及方法

文档序号:6482161阅读:169来源:国知局
专利名称:网络虚拟角色合成系统及方法
网络虚拟角色合成系统及方法
技术领域
本发明涉及网络动画技术领域,更具体地说,涉及一种网络虚拟角色合成 系统及方法。
背景技术
在互联网中,Avatar是网络虚拟角色的代名词,网络虚拟角色即网络用户在 以图像为主的虛拟世界中的虚拟形象。这类虚拟形象通常为卡通形象,可出现 在论坛、聊天室或网络游戏中。用户可根据自己的喜好,更换虚拟角色的造型, 如发型、服饰、表情、场景等。
要实现虚拟角色的动画效果,需要对虚拟角色的所有装备位进行合成处理。 所谓装备位,是指虚拟角色上的某一个部位,例如头、手、脚等。在对所有装 备位进行合成处理前,需获取虚拟角色的装备位资源。目前的合成算法采用逐 帧逐个装备位进行合成或按照方向逐个装备位进行合成。然而这些方法调用函 数次数较多,合成虚拟角色的效率低下,从而影响虚拟角色动作的平滑性,使 画面表现为卡或者停顿,影响了用户的体验需求。

发明内容
基于此,有必要提供一种能提高合成效率的网络虚拟角色合成系统。 此外,还有必要提供一种能提高合成效率的网络虚拟角色合成方法。 所述网络虚拟角色合成系统包括资源管理器,用于提供虛拟角色的装备
位资源;装备位加载器,与资源管理器相连,加载虚拟角色的装备位资源;合
成器,与装备位加栽器相连,逐个方向合成虚拟角色的装备位,并将合成结果
分割为帧数据;呈现器,与合成器相连,用于播放帧数据。
该合成器还可用于获取选定方向上的装备位,根据选定方向调整装备位的
层级值,并根据装备位的层级值将选定方向上的装备位进行叠加,以及在选定
方向上合成叠加后的装备位。
该系统还可包括合成队列管理器,与合成器相连,将虚拟角色的合成请
求加入合成队列中,当判断合成器空闲时,将合成队列中位于队列头部的合成请求送入合成器。
该系统还可包括合成角色緩存器,与合成器及呈现器相连,用于緩存合 成结果及帧数据。
另外,上述装备位资源采用位图实现,同一方向上的多帧装备位图像按次 序地排列在位图中的同 一行上。
所述网络虚拟角色合成方法包括加载虚拟角色的装备位资源;逐个方向 合成虚拟角色的装备位,将合成结果分割为帧数据;播放帧数据。
该逐个方向合成虚拟角色的所有装备位的步骤具体可以是获取选定方向 上的装备位;根据选定方向调整装备位的层级值;根据装备位的层级值将选定 方向上的装备位进行叠加;在选定方向上合成叠加后的装备位。
该方法还可包括将虚拟角色的合成请求加入合成队列中,在当前虚拟角 色合成结束时,取合成队列中位于队列头部的合成请求进行处理。
该方法还可包括緩存合成结果及帧数据。
另外,上述装备位资源采用位图实现,同一方向上的多帧装备位图像按次 序地排列在位图中的同 一行上。
上述网络虚拟角色合成系统及方法,在选定方向上合成虚拟角色的装备位 资源,将合成结果分割为帧数据,播放该帧数据即可得到虚拟角色的动画效果。 由于逐个方向地对同一方向上的所有装备位进行合成,其调用合成函数的次数 少,因此能有效提高合成效率,从而改善了虚拟角色动作的平滑性,使画面更 为流畅,满足了用户的体验需求。


图1是一个实施例中网络虚拟角色合成系统的结构示意图; 图2是一个实施例中虚拟角色的 一个装备位资源的示意图; 图3是一个实施例中虚拟角色的另一个装备位资源的示意图; 图4是另 一个实施例中网络虚拟角色合成系统的结构示意图; 图5是一个实施例中网络虚拟角色合成方法的流程图; 图6是一个实施例中合成虚拟角色的装备位的方法流程图。
具体实施方式
图1示出了一个实施例中的虚拟角色合成系统,该系统包括资源管理器10、 装备位加载器20、合成器30和呈现器40。其中
资源管理器IO用于提供虚拟角色的装备位资源。所谓装备位资源,是指虚 拟角色的装备位的表现形式。在一个实施方式中,装备位资源采用位图实现, 虚拟角色的同一个装备位资源则采用同一张位图来实现,如图2和图3所示, 虚拟角色的头部资源釆用图2所示的位图实现,而帽子资源采用图3所示的位 图实现。在位图上,同一方向上的多帧装备位图像按次序地排列在位图的同一 行上,虚拟角色的一个装备位资源的方向数在位图上则表现为装备位图像的行 数,有多少个方向(例如装备位向左、向右、向前等)则位图上有多少行装备 位图像,而位图上的装备位图像列数则是该装备位在某一方向上的运动帧数。 如图2所示,装备位头部超前的图像位于位图中的第一行,而头部朝右的图像 位于位图中的第二行,每行的头部图像的个数表示该头部在该方向上的运行帧 数。
装备位加载器20与资源管理器10相连,用于加载虚拟角色的装备位资源。 由于一个虚拟角色可能有多个装备位,可采用多个装备位加载器20对应加载不 同的多个装备位资源。
合成器30与多个装备位加载器20相连,用于逐个方向合成虚拟角色的装 备位,并将合成结果分割为帧数据。在一个实施方式中,合成器30逐个方向合 成虚拟角色的装备位的具体过程是合成器30获取选定方向上的装备位,根据 选定方向调整装备位的层级值。由于在同一方向上,装备位之间的层级关系是 不变的。在某一个选定方向上,根据该方向即可调整装备位的层级值,并根据 所述装备位的层级值将所述选定方向上的装备位进行叠加,在选定方向上合成 叠加后的装备位。
在一个实施例中,合成器30根据选定方向调整装备位的层级值,可将该方 向上的所有装备位按照层级值的大小由高到低进行叠加,并放入合成容器中, 然后对该合成容器中叠加后的该方向上的所有装备位进行合成。例如,虚拟角 色正面朝前时,其背包的层级值则为负值;虚拟角色的正面朝向左边时,其左 手的层级值则应大于右手的层级值。另外,还应调整装备位的层级值的绝对值。例如腰带的层级值的绝对值应大于衣服的层级值的绝对值,而背包的层级值的 绝对值应大于腰带的层级值的绝对值等。合成该方向上的所有装备位后,将合 成结果分割成帧数据。
呈现器40与合成器30相连,用于播放帧数据。将合成结果分割得到的帧 数据进行播放,即可得到虚拟角色的动画效果。
图4示出了另一个实施例中的网络虚拟角色合成系统,该系统除了包括上 述资源管理器IO、多个装备位加载器20、合成器30和呈现器40外,还包括合 成队列管理器50和合成角色緩存器60。其中
合成队列管理器50与合成器30相连,用于将虚拟角色的合成请求加入合 成队列中,当判断合成器30空闲时,则将合成队列中位于队列头部的合成请求 送入合成器30中。在需要合成多个虚拟角色时,合成队列管理器50则用于管 理多个虚拟角色的合成请求,可按照请求的先后次序将多个合成请求放入合成 队列中,并优先取队列头部的合成请求送入合成器30进行处理。
合成角色緩存器60与合成器30及呈现器40相连,用于緩存合成器30得 到的合成结果及帧数据。当多个虚拟角色采用同样的装备位资源时,仅需合成 一次并将合成结果分割后的帧数据緩存至合成角色緩存器60中,则可直接播放 合成角色緩存器60中存储的帧数据。另外,由于合成角色緩存器60还緩存了 合成结果,在删除某一个虚拟角色后的预设时间内,若需再次使用该虚拟角色 的装备位资源时,则可直接调用緩存的合成结果,而无需再次进行合成操作。
图5示出了一个实施例中的网路虚拟角色合成方法流程,具体过程如下 在步骤S10中,加载虚拟角色的装备位资源。如上所述, 一个虚拟角色包 含多个装备位,每一个装备位资源对应一张位图,位图上排列的装备位图像中, 每行图像表示装备位位于同一方向(例如向前、向左、向右等),而在每个方向 上装备位图像个数表示该装备位在该方向上的运动帧数。
在步骤S12中,逐个方向合成所述虚拟角色的装备位,并将合成结果分割 为帧数据。在同一个方向上,各装备位之间的层级关系是不变的,而在不同的 方向上,各装备位之间的层级关系会有所变化。选择同一方向上的装备位进行 合成,即选择各位图上的同一行的装备位图像进行合成。在步骤S14中,播;改所述帧数据。播放合成结果分割得到的帧数据,即可 得到虚拟角色的动画效果。
图6示出了一个实施例中合成虚拟角色的装备位的方法流程,具体过程如

在步骤S120中,获取选定方向上的装备位。选定方向上的装备位即各位图 上表示同 一方向的某一行上的所有装备位图像。
在步骤S122中,才艮据选定方向调整装备位的层级值。由于在同一方向上, 装备位之间的层级关系是不变的。在某一个选定方向上,根据该方向即可调整 装备位的层级值。例如,虚拟角色正面朝前时,其背包的层级值则为负值;虚 拟角色的正面朝向左边时,其左手的层级值则应大于右手的层级值。另外,还 应调整装备位的层级值的绝对值。例如腰带的层级值的绝对值应大于衣服的层 级值的绝对值,而背包的层级值的绝对值应大于腰带的层级值的绝对值等。在 一个实施例中,虚拟角色的装备位资源如图2和图3所示,则应调整帽子的层 级值大于头部的层级值。在一个实施例中,对于一些特定的装备位,例如腰带, 衣服等,还需要按照虚拟角色模型对这些装备位进行镂空处理。
在步骤S124中,根据装备位的层级值将所述选定方向上的装备位进行叠加。 在一个实施方式中,合成器30根据选定方向调整装备位的层级值后,可将该方 向上的所有装备位按照层级值的大小由高到低进行叠加,并放入合成容器。
在步骤S126中,在选定方向上合成叠加后的装备位。在一个实施方式中, 可直接对合成容器中的装备位进行合成操作。由于对同 一方向上的所有装备位 进行合成,调用合成函数的次数即为虚拟角色的方向数(即位图中装备位图像 排列的行数),这样能有效提高合成效率,从而能改善虚拟角色动作的平滑性, 使画面更为流畅,充分满足了用户的体验需求。
在一个实施例中,按照上述合成装备位的方法逐个方向合成虚拟角色的装 备位,并每合成一个方向上的装备位则将合成结果分割为帧数据,直到将所有 方向上的装备位合成完。
在一个实施方式中,当有多个虚拟角色需要合成时,可通过合成队列管理 器50管理多个虚拟角色的合成请求,按照合成请求的先后次序将多个合成请求加入合成队列中,并优先处理合成队列中位于队列头部的合成请求。在当前合 成流程结束时,则取合成队列中等待合成的下一个合成请求进行处理。在处理 多个虚拟角色合成请求时,通过这种队列管理方式,能緩解多个虚拟角色合成 请求给合成系统带来的压力。
在另 一个实施方式中,可将合成器20得到的合成结果和帧数据进行緩存。 当多个虚拟角色采用同样的装备位资源时,则可直接播放合成角色緩存器60中 存储的帧数据。而在删除某一个虚拟角色后的预设时间内,若需要再次使用该 虚拟角色的装备位资源,则可直接调用緩存的合成结果,无需在此进行合成操 作。这样,能进一步提高合成效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种网络虚拟角色合成系统,其特征在于,所述系统包括资源管理器,用于提供虚拟角色的装备位资源;装备位加载器,与所述资源管理器相连,加载虚拟角色的装备位资源;合成器,与所述装备位加载器相连,逐个方向合成所述虚拟角色的装备位,并将所述合成结果分割为帧数据;呈现器,与所述合成器相连,用于播放所述帧数据。
2、 根据权利要求1所述的网络虚拟角色合成系统,其特征在于,所述合成 器还用于获取选定方向上的装备位,根据选定方向调整装备位的层级值,并根 据所述装备位的层级值将所述选定方向上的装备位进行叠加,以及在所述选定 方向上合成叠加后的装备位。
3、 根据权利要求l所述的网络虛拟角色合成系统,其特征在于,所述系统 还包括合成队列管理器,与所述合成器相连,将虚拟角色的合成请求加入合成队 列中,当判断所述合成器空闲时,将所述合成队列中位于队列头部的合成请求 送入所述合成器。
4、 根据权利要求1所述的网络虚拟角色合成系统,其特征在于,所述系统 还包括合成角色緩存器,与所述合成器及呈现器相连,用于緩存所述合成结果及 帧数据。
5、 根据权利要求1所述的网络虚拟角色合成系统,其特征在于,所述装备 位资源采用位图实现,同一方向上的多帧装备位图《象按次序地排列在位图中的 同一行上。
6、 一种网络虚拟角色合成方法,其特征在于,所述方法包括 加载虚拟角色的装备位资源;逐个方向合成所述虚拟角色的装备位,将合成结果分割为帧数据; 播放所述帧数据。
7、 根据权利要求6所述的网络虚拟角色合成方法,其特征在于,所述逐个 方向合成虚拟角色的所有装备位的步骤具体是获取选定方向上的装备位;根据选定方向调整装备位的层级值;根据所述装备位的层级值将所述选定方向上的装备位进行叠加; 在所述选定方向上合成叠加后的装备位。
8、 根据权利要求6所述的网络虚拟角色合成方法,其特征在于,所述方法 还包括将虚拟角色的合成请求加入合成队列中,在当前虚拟角色合成结束时,取 所述合成队列中位于队列头部的合成请求进行处理。
9、 根据权利要求6所述的网络虚拟角色合成方法,其特征在于,所述方法 还包括緩存所述合成结果及帧数据。
10、 根据权利要求6所述的网络虚拟角色合成方法,其特征在于,所述装 备位资源采用位图实现,同 一方向上的多帧装备位图像按次序地排列在位图中 的同一行上。
全文摘要
本发明提供了一种网络虚拟角色合成系统及方法。所述系统包括资源管理器,用于提供虚拟角色的装备位资源;装备位加载器,与资源管理器相连,加载虚拟角色的装备位资源;合成器,与装备位加载器相连,在选定方向上合成虚拟角色的装备位,并将合成结果分割为帧数据;呈现器,与合成器相连,用于播放所述帧数据。所述方法包括加载虚拟角色的装备位资源;在选定方向上合成虚拟角色的装备位,将合成结果分割为帧数据;播放所述帧数据。采用本发明提供的网络虚拟角色合成系统及方法,能提高合成效率,使虚拟角色动画表现得更流畅,满足了用户的体验需求。
文档编号G06T15/70GK101645175SQ20091004216
公开日2010年2月10日 申请日期2009年8月25日 优先权日2009年8月25日
发明者波 崔, 李建峰, 捷 罗, 黄朝兴 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1