1.本技术涉及动画技术领域,尤其涉及虚拟角色的信息处理方法及系统。
背景技术:
2.近年来,随着虚拟现实(virtual reality,vr),增强现实(augmented reality,ar),混合现实(mixed reality,mr)和xr(x reality,x表示一个未知变量)等技术的迅速发展,游戏动画领域可以实现虚拟现实(vr)、增强现实(ar)、混合现实(mr)、xr等不同场景。目前,随着虚拟现实、人机交互、网络通信等技术高速发展,基于动作捕捉技术,多领域积极推进虚实结合模式,加速探索贴近真实的动画解决方案,努力打造环境逼真、沉浸感强、操作直观的沉浸式虚拟仿真游戏系统。
3.现有的游戏动画直接采用确定的整体运动动画,无法改变动画参数等,因而导致不甚理想的动画效果,例如,动画角色入水后如若撞到石头等物体,即可能无法播放对应的动画,游戏展示效果不佳;又或者,如果判断全路径,系统将无法播放角色的部分动作动画等。
4.因此,期望提供一种虚拟角色的信息处理方法及系统,通过分解动画片段,根据力场贴图更新动画参数权重,融合预设轨迹,丰富动画效果,增加动画的真实度,提高用户体验。
技术实现要素:
5.根据本技术的一些实施例的第一方面,提供了一种虚拟角色的信息处理方法,应用于终端(例如,电子设备等)中,所述方法可以包括:获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作;根据所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离;于当前环境处于第一状态中,所述虚拟角色根据第一轨迹进入过程动作;根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离;于当前环境处于第一状态中,所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作;根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离;于当前环境处于第一状态中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作,所述第三轨迹包括所述出离动作的出离方向;其中,在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。
6.在一些实施例中,所述预设区域包括所述虚拟角色的预设距离范围,所述力场贴图包括所述虚拟角色周围的所有力,所述根据更新后的轨迹信息显示所述虚拟角色的动画具体包括:检测所述虚拟角色的预设距离范围内是否存在第一物体;于当前环境处于第一状态中,获取预设区域内的环境力场信息并绘制第一力场贴图,根据所述第一力场贴图产生的数据,更新轨迹信息,所述轨迹信息包括第一轨迹、第二轨迹、第三轨迹;于当前环境处于第二状态中,计算所述虚拟角色与所述第一物体之间的第一距离、第二距离和/或第三距
离;所述第一距离包括所述虚拟角色在所述第一位置与第一物体之间的距离,所述第二距离包括所述虚拟角色在所述第二位置与第一物体之间的距离,所述第三距离包括所述虚拟角色在所述第三位置与第一物体之间的距离;当存在至少两个第一物体时,对比所述至少两个距离信息,根据预设条件更新轨迹信息;获取第一物体的力场信息及环境力场信息并绘制第二力场贴图,根据所述第二力场贴图产生的数据,更新轨迹信息;通过状态机根据更新后的轨迹信息显示所述虚拟角色的动画。
7.在一些实施例中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括:若所述虚拟角色的预设距离范围内不存在第一物体,随机输出所述出离方向;若所述虚拟角色的预设距离范围内存在第一物体,根据距离信息输出相应的所述出离方向;若所述虚拟角色的预设距离范围内存在至少两个第一物体,根据距离的对比信息及所述预设条件输出相应的所述出离方向,所述预设条件包括用户的输入信息,所述虚拟角色的关联信息。
8.在一些实施例中,所述虚拟角色的信息处理方法具体包括获取第二介质环境的空间坐标区间和所述虚拟角色的实时位置坐标;判断所述虚拟角色的实时位置坐标是否属于所述空间坐标区间;当所述虚拟角色的实时位置坐标属于所述空间坐标区间时,确定所述虚拟角色进入所述第二介质环境。
9.在一些实施例中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括获取所述虚拟角色的内因信息,根据所述内因信息输出相应的所述出离方向,所述虚拟角色的内因信息包括所述触发动作的初速度,根据所述触发动作的初速度输出相应的所述出离方向。
10.在一些实施例中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括:获取所述虚拟角色的外因信息,根据所述外因信息输出相应的所述出离方向。
11.在一些实施例中,所述虚拟角色的外因信息包括用户的输入信息、环境信息、干预信息,根据所述用户的输入信息、环境信息、干预信息输出相应的所述出离方向。
12.在一些实施例中,所述虚拟角色的信息处理方法具体包括:将所述虚拟角色的动画分解为至少两个动画片段,第一动画片段包括所述第一介质环境中的触发动作、过程动作,第二动画片段包括所述第二介质环境中的介入动作、出离动作;通过状态机预设所述虚拟角色在不同动作的轨迹信息;获取所述虚拟角色的关联信息,所述关联信息包括位置信息、第一物体信息、内因信息、外因信息,所述外因信息包括力场;根据所述关联信息融合预设的轨迹信息,更新所述虚拟角色的动画参数。
13.在一些实施例中,所述更新所述虚拟角色的动画参数具体包括:通过无限状态机获取动作捕捉的动作库;根据所述虚拟角色的关联信息,匹配动作捕捉数据;根据所述动作捕捉数据,更新所述虚拟角色的动画参数。
14.根据本技术的一些实施例的第二方面,提供了一个系统,所述系统包括:一个存储器,被配置为存储数据及指令;一个与存储器建立通信的处理器,其中,当执行存储器中的指令时,所述处理器被配置为:获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作;根据所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离;于当前环境处于第一状态中,所述虚拟角色根据第一轨迹进入过程动作;根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离;于当前环境处于第
一状态中,所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作;根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离;于当前环境处于第一状态中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作,所述第三轨迹包括所述出离动作的出离方向;其中,在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。
15.因此,根据本技术的一些实施例的一种虚拟角色的信息处理方法及系统,通过分解动画片段,根据力场贴图更新动画参数权重,融合预设轨迹,丰富动画效果,增加动画的真实度,提高用户体验。
附图说明
16.为更好地理解并阐述本技术的一些实施例,以下将结合附图参考实施例的描述,在这些附图中,同样的数字编号在附图中指示相应的部分。
17.图1是根据本技术的一些实施例提供的虚拟角色的信息处理系统的示例性示意图。
18.图2是根据本技术的一些实施例提供的虚拟角色的信息处理方法的示例性流程图。
19.图3是根据本技术的一些实施例提供的虚拟角色的信息处理方法计算距离的水平示意图。
20.图4是根据本技术的一些实施例提供的虚拟角色的信息处理方法计算距离的顶视示意图。
具体实施方式
21.以下参考附图的描述为便于综合理解由权利要求及其等效内容所定义的本技术的各种实施例。这些实施例包括各种特定细节以便于理解,但这些仅被视为示例性的。因此,本领域技术人员可以理解对在此描述的各种实施例进行各种变化和修改而不会脱离本技术的范围和精神。另外,为简要并清楚地描述本技术,本技术将省略对公知功能和结构的描述。
22.在以下说明书和权利要求书中使用的术语和短语不限于字面含义,而是仅为能够清楚和一致地理解本技术。因此,对于本领域技术人员,可以理解,提供对本技术各种实施例的描述仅仅是为说明的目的,而不是限制所附权利要求及其等效定义的本技术。
23.下面将结合本技术一些实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.需要说明的是,在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一”、“一个”、“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个相绑定的列出项目的任何
或所有可能组合。表达“第一”、“第二”、“所述第一”和“所述第二”是用于修饰相应元件而不考虑顺序或者重要性,仅仅被用于区分一种元件与另一元件,而不限制相应元件。
25.根据本技术一些实施例的终端可以是电子设备,该电子设备可以包括个人电脑(pc,例如平板电脑、台式电脑、笔记本、上网本、掌上电脑pda)、客户端设备、虚拟现实设备(vr)、增强现实设备(ar)、混合现实设备(mr)、xr设备、渲染机、智能手机、移动电话、电子书阅读器、便携式多媒体播放器(pmp)、音频/视频播放器(mp3/mp4)、摄像机和可穿戴设备等中的一种或几种的组合。根据本技术的一些实施例,所述可穿戴设备可以包括附件类型(例如手表、戒指、手环、眼镜、或头戴式装置(hmd))、集成类型(例如电子服装)、装饰类型(例如皮肤垫、纹身或内置电子装置)等,或几种的组合。在本技术的一些实施例中,所述电子设备可以是灵活的,不限于上述设备,或者可以是上述各种设备中的一种或几种的组合。在本技术中,术语“用户”可以指示使用电子设备的人或使用电子设备的设备(例如人工智能电子设备)。
26.本技术实施例提供了一种虚拟角色的信息处理方法及系统。为了便于理解本技术实施例,以下将参考附图对本技术实施例进行详细描述。
27.图1是根据本技术的一些实施例提供的虚拟角色的信息处理系统的示例性示意图。如图1所述,虚拟角色的信息处理系统100可以包括网络110、控制端120、用户端130和服务器140等。具体的,控制端120与用户端130在通过网络建立通信,例如,控制端120与用户端130可以在同一个局域网(比如,同一个路由器的网络环境等)中通信。进一步,控制端120可以通过有线(例如,网线等)或无线(例如,云端服务器等)等方式与网络110连接,用户端130可以通过有线或无线(例如,wifi等)等方式与网络110建立通信连接。在一些实施例中,用户端130可以向控制端120、服务器140发送虚拟角色的动画参数等。进一步地,控制端120、服务器140可以在用户端130播放虚拟角色的动画片段等信息。进一步地,控制端120、服务器140可以获取通过网络110、用户端130等获取动作捕捉技术的动作库信息等。
28.根据本技术的一些实施例,控制端120、用户端130可以为相同或不同的终端设备等。所述终端设备可以包括但不限于智能终端,移动终端,计算机,渲染机等。在游戏场景中,控制端120可以包括计算机等,用户端130可以包括游戏装置等。在一些实施例中,控制端120和用户端130可以集成在一个设备中,例如,一体机、智能终端(例如,平板、手机)等。在一些实施例中,服务器140是计算机的一种,具有比普通计算机运行更快、负载更高等优势,而相对应的价格更高昂。在网络环境中,服务器可以为其它客户机(例如,pc机、智能手机、atm等终端,以及交通系统等大型设备)提供计算或者应用服务。服务器具有高速的cpu运算能力、长时间的可靠运行、强大的i/o外部数据吞吐能力以及更好的扩展性。所述服务器可以提供的服务包括但不限于承担响应服务请求、承担服务、保障服务的能力等。所述服务器作为电子设备,具有极其复杂的内部结构,包括与普通计算机相近的内部结构等,作为示例,所述服务器的内部结构可以包括中央处理器(central processing unit,cpu)、硬盘、内存,系统、系统总线等。
29.在本技术的一些实施例中,虚拟角色的信息处理系统100可以省略一个或多个元件,或者可以进一步包括一个或多个其它元件。作为示例,虚拟角色的信息处理系统100可以包括多个用户端130,如多个游戏装置或多个游戏用户端等。又例如,虚拟角色的信息处理系统100可以包括多个控制端120。再例如,虚拟角色的信息处理系统100可以包括多个服
务器140等。网络110可以为任意类型的通信网络,所述通信网络可以包括计算机网络(例如,局域网(lan,local area network)或广域网(wan,wide area network))、互联网和/或电话网络等,或几种的组合。在一些实施例中,网络110可以为其他类型的无线通信网络。所述无线通信可以包括微波通信和/或卫星通信等。所述无线通信可以包括蜂窝通信,例如,全球移动通信(gsm,global system for mobile communications)、码分多址(cdma,code division multiple access)、第三代移动通信(3g,the 3rd generation telecommunication)、第四代移动通信(4g)、第五代移动通信(5g)、第六代移动通信(6g)、长期演进技术(lte,long term evolution)、长期演进技术升级版(lte-a,lte-advanced)、宽带码分多址(wcdma,wideband code division multiple access)、通用移动通信系统(umts,universal mobile telecommunications system)、无线宽带(wibro,wireless broadband)等,或几种的组合。在一些实施例中,用户端130可以为其他具备同等功能模块的电子设备,该电子设备可以包括虚拟现实设备(vr)、渲染机、个人电脑(pc,例如平板电脑、台式电脑、笔记本、上网本、掌上电脑pda)、智能手机、移动电话、电子书阅读器、便携式多媒体播放器(pmp)、音频/视频播放器(mp3/mp4)、摄像机和可穿戴设备等中的一种或几种的组合。
30.在一些实施例中,所述wifi可以为其他类型的无线通信技术。根据本技术的一些实施例,所述无线通信可以包括无线局域网(wifi,wireless fidelity)、蓝牙、低功耗蓝牙(ble,bluetooth low energy)、紫蜂协议(zigbee)、近场通讯(nfc,near field communication)、磁安全传输、射频和体域网(ban,body area network)等,或几种的组合。根据本技术的一些实施例,所述有线通信可以包括全球导航卫星系统(glonass/gnss,global navigation satellite system)、全球定位系统(gps,global position system)、北斗导航卫星系统或伽利略(欧洲全球卫星导航系统)等。所述有线通信可以包括通用串行总线(usb,universal serial bus)、高清多媒体接口(hdmi,high-definition multimedia interface)、推荐标准232(rs-232,recommend standard 232)、和/或简易老式电话服务(pots,plain old telephone service)等,或几种的组合。
31.需要说明的是,以上对于虚拟角色的信息处理系统100的描述,仅为描述方便,并不能把本技术限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个元件进行任意组合,或者构成子系统与其他元件连接,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。例如,控制端120和用户端130可以集成在一个设备中等。诸如此类的变形,均在本技术的保护范围之内。
32.图2是根据本技术的一些实施例提供的虚拟角色的信息处理方法的示例性流程图。如图2所述,流程200可以通过虚拟角色的信息处理系统100实现。在一些实施例中,所述虚拟角色的信息处理方法200可以自动启动或通过指令启动。所述指令可以包括系统指令、设备指令、用户指令、动作指令等,或几种的组合。
33.在201,获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作。操作201可以通过虚拟角色的信息处理系统100的控制端120、用户端130、服务器140实现。在一些实施例中,控制端120和/或服务器140可以获取虚拟角色的第一介质环境,并通过用户端130获取在所述虚拟角色在第一介质环境的触发动作和过程动作。在一些实
施例中,用户端130可以根据用户输入使所述虚拟角色进入所述触发动作、所述过程动作等。作为示例,所述虚拟角色可以包括但不限于动画角色、游戏角色、用户在虚拟世界的代表角色等。又例如,在虚拟现实游戏场景中,用户本身可以作为所述虚拟角色在现实世界的代表角色等。在一些实施例中,所述介质环境可以包括介质属性不同的环境,所述介质属性可以包括有无介质、介质成分、介质密度等。作为示例,所述介质环境可以包括但不限于真空介质环境、大气介质环境、土地介质环境、水介质环境、湿地介质环境、沙漠介质环境等。在一些实施例中,所述第一介质环境可以为大气介质环境等。所述触发动作可以包括所述虚拟角色离开所述第一介质环境的初始动作。所述过程动作可以包括所述虚拟角色在所述第一介质环境中的过程动作。
34.根据本技术的一些实施例,当虚拟角色处于大气介质环境时,可以在所述大气介质环境和土地介质环境的交界面行动。在一些实施例中,所述虚拟角色可以通过触发动作离开所述大气介质环境,所述触发动作可以包括起跳动作,所述起跳动作可以借助土地介质环境实现。在一些实施例中,所述虚拟角色可以借助土地介质环境执行起跳动作后,在所述大气介质环境执行过程动作,所述过程动作可以包括下落动作。又例如,当第一介质环境为真空时,所述虚拟角色的过程动作可以包括漂浮动作等。所述虚拟角色在所述第一介质环境中的过程动作可以基于所述介质环境的介质属性作出相应的变化效果。
35.在202,根据所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离。操作202可以通过虚拟角色的信息处理系统100的控制端120、用户端130、服务器140实现。在一些实施例中,控制端120和/或服务器140可以通过用户端130输入的所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离。作为示例,所述第一位置可以包括所述虚拟角色执行触发动作时所在的位置信息等,例如,位置空间坐标值x1y1z1。在一些实施例中,所述预设区域可以包括所述虚拟角色的预设距离范围,例如,所述预设距离范围包括与所述虚拟角色(位置空间坐标值x1y1z1)之间距离为0至a(预设距离)的区间范围,所述预设区域可以包括位置空间坐标区域(x1
±
a)(y1
±
a)(z1
±
a)。所述第一物体可以包括其他虚拟角色、npc(non-player character)、静物(例如,石头)、非静物(例如,小鸟)等实物,所述实物可以包括能够与所述虚拟角色产生碰撞效果的物体(例如,阻挡物)。所述第一距离可以包括所述第一物体与所述虚拟角色的第一位置之间的距离信息。当所述第一物体为静物时,所述第一距离信息可以根据第一位置与静物之间的距离确定。当所述第一物体为非静物、其他虚拟角色或npc时,所述第一距离信息可以根据第一位置与第一物体变化的坐标位置信息实时更新。
36.根据本技术的一些实施例,所述检测预设区域内的第一物体并计算第一距离具体包括:检测所述虚拟角色的预设距离范围内是否存在第一物体;于当前环境处于第二状态中(第二状态即为当前环境中存在第一物体,第一状态即为当前环境中不存在第一物体),计算所述虚拟角色与所述第一物体之间的第一距离;所述第一距离可以包括所述虚拟角色在所述第一位置与第一物体之间的距离;当存在至少两个第一物体时,对比所述至少两个距离信息,根据预设条件更新轨迹信息,所述轨迹信息包括第一轨迹、第二轨迹、第三轨迹。
37.根据本技术的一些实施例,当虚拟角色执行起跳动作时,控制端120可以获取虚拟角色的起跳位置信息,并检测虚拟角色周围2米的预设区域内是否存在阻挡物,若存在阻挡物(例如,石头、小鸟等),分别计算该虚拟角色的起跳位置与所述石头的距离,以及与所述
小鸟的距离等。进一步,根据距离对比信息和预设条件,更新所述起跳动作的起跳轨迹。
38.在203,于当前环境处于第一状态中,所述虚拟角色根据第一轨迹进入过程动作。操作203可以通过虚拟角色的信息处理系统100的控制端120、服务器140实现。在一些实施例中,根据检测结果,于当前环境处于第一状态中时,控制端120和/或服务器140可以控制所述虚拟角色根据第一轨迹进入过程动作。作为示例,所述第一轨迹可以包括对应所述触发动作的轨迹信息。
39.根据本技术的一些实施例,在起跳动作中,当虚拟角色在预设区域内不存在阻挡物时,所述虚拟角色可以根据预设的起跳轨迹进入过程动作。例如,在大气介质环境中,所述虚拟角色根据起跳轨迹进入下落动作。
40.在204,根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离。操作204可以通过虚拟角色的信息处理系统100的服务器140和/或控制端120实现。在一些实施例中,服务器140和/或控制端120可以根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离。作为示例,所述第二位置可以包括所述虚拟角色执行过程动作时所在的位置信息等,例如,位置空间坐标值x2y2z2。在一些实施例中,所述过程动作可以包括一定时间区间的过程动作,所述过程动作对应的位置信息是随时间变化的位置信息,例如,位置空间坐标值x2y2z2(ti)。所述第二距离可以包括所述第一物体与所述虚拟角色的第二位置之间的距离信息。所述第二距离信息可以根据第二位置随时间变化的坐标位置信息与第一物体变化的坐标位置信息实时更新。
41.根据本技术的一些实施例,所述检测预设区域内的第一物体并计算第二距离具体包括:检测所述虚拟角色的预设距离范围内是否存在第一物体;于当前环境处于第二状态中,计算所述虚拟角色与所述第一物体之间的第二距离;所述第二距离可以包括所述虚拟角色在所述第二位置与第一物体之间的距离;当存在至少两个第一物体时,对比所述至少两个距离信息,根据预设条件更新轨迹信息,所述轨迹信息包括第二轨迹、第三轨迹。
42.根据本技术的一些实施例,当虚拟角色执行下落动作时,控制端120可以获取虚拟角色随时间变化的下落位置信息,并检测虚拟角色周围2米的预设区域内是否存在阻挡物,若存在阻挡物(例如,石头、小鸟等),分别计算该虚拟角色的实时下落位置与所述石头的距离,以及与所述小鸟的距离等。进一步,根据距离对比信息和预设条件,更新所述下落动作的下落轨迹。
43.在205,于当前环境处于第一状态中,所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作。操作205可以通过虚拟角色的信息处理系统100的控制端120、用户端130、服务器140实现。在一些实施例中,根据检测结果,于当前环境处于第一状态中时,控制端120和/或服务器140可以控制所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作。作为示例,所述第二轨迹可以包括对应所述过程动作的轨迹信息。在一些实施例中,所述第二介质环境可以包括与所述第一介质环境的介质属性不同的介质环境,例如,水介质环境等。
44.根据本技术的一些实施例,在下落动作中,当虚拟角色在预设区域内不存在阻挡物时,所述虚拟角色可以根据预设的下落轨迹进入第二介质环境的介入动作。例如,在大气介质环境中,所述虚拟角色根据下落轨迹进入第二介质环境(例如,水介质环境)的入水动作。在一些实施例中,根据介质环境的温度参数,更新所述虚拟角色的介入动作。作为示例,
当第二介质环境为水介质环境时,判断当前介质环境的温度参数是否小于等于结冰点,若温度参数小于等于结冰点,第二介质环境当前为结冰状态,可以根据温度参数模拟第二介质环境的结冰状态包括冰层厚度、冰层硬度、冰层承重等,并根据所述结冰状态,更新所述入水动作的入水轨迹等。所述结冰点为晶体由液态转变为固态的温度。作为示例,当冰层厚度大于15厘米时,和/或每10平方米至少能够承重50公斤时,所述虚拟角色不能执行进入第二介质环境的入水轨迹。又例如,当获取玩家的输入信息,在所述结冰状态打开一个冰窟窿时,所述虚拟角色可以融合预设入水轨迹和所述冰窟窿方向轨迹等信息,根据更新的入水轨迹执行入水动作等。
45.在206,根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离。操作206可以通过虚拟角色的信息处理系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离。作为示例,所述第三位置可以包括所述虚拟角色执行介入动作时所在的位置信息等,例如,位置空间坐标值x3y3z3。当所述第一物体为静物时,所述第三距离信息可以根据第三位置与静物之间的距离确定。当所述第一物体为非静物、其他虚拟角色或npc时,所述第三距离信息可以根据第三位置与第一物体变化的坐标位置信息实时更新。
46.根据本技术的一些实施例,所述检测预设区域内的第一物体并计算第三距离具体包括:检测所述虚拟角色的预设距离范围内是否存在第一物体;于当前环境处于第二状态中,计算所述虚拟角色与所述第一物体之间的第三距离;所述第三距离可以包括所述虚拟角色在所述第三位置与第一物体之间的距离;当存在至少两个第一物体时,对比所述至少两个距离信息,根据预设条件更新轨迹信息,所述轨迹信息包括第三轨迹。
47.根据本技术的一些实施例,当虚拟角色执行入水动作时,控制端120可以获取虚拟角色的入水位置信息,并检测虚拟角色周围2米的预设区域内是否存在阻挡物,若存在阻挡物(例如,石头、小鸟等),分别计算该虚拟角色的入水位置与所述石头的距离,以及与所述小鸟的距离等。进一步,根据距离对比信息和预设条件,更新所述入水动作的入水轨迹。
48.在207,于当前环境处于第一状态中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作,所述第三轨迹包括所述出离动作的出离方向。操作207可以通过虚拟角色的信息处理系统100的控制端120、服务器140实现。在一些实施例中,根据检测结果,于当前环境处于第一状态中时,控制端120和/或服务器140可以控制所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作,所述第三轨迹包括所述出离动作的出离方向。所述第三轨迹可以包括对应所述出离动作的轨迹信息。在一些实施例中,所述第二介质环境可以包括与所述第一介质环境的介质属性不同的介质环境,例如,水介质环境等。
49.根据本技术的一些实施例,若所述虚拟角色的预设距离范围内不存在第一物体,随机输出所述出离方向;若所述虚拟角色的预设距离范围内存在第一物体,根据距离信息输出相应的所述出离方向;若所述虚拟角色的预设距离范围内存在至少两个第一物体,根据距离的对比信息及所述预设条件输出相应的所述出离方向,所述预设条件可以包括用户的输入信息,所述虚拟角色的关联信息等。作为示例,如图3所示,当所述虚拟角色的预设条件为时间限制(例如,出离水介质环境的耗时最短等),所述虚拟角色根据距离oa小于距离ob的对比结果,更新出水方向为o
→
a。又例如,当所述虚拟角色的预设条件为目标限制(例
如,出离水介质环境的目标为拖延出水进程等),所述虚拟角色根据距离ob大于距离oa的对比结果,更新出水方向为o
→
b。
50.在一些实施例中,控制端120和/或服务器140可以获取所述虚拟角色的内因信息,根据所述内因信息输出相应的所述出离方向。所述虚拟角色的内因信息可以包括所述触发动作的初速度,根据所述触发动作的初速度输出相应的所述出离方向。
51.在一些实施例中,控制端120和/或服务器140可以获取所述虚拟角色的外因信息,根据所述外因信息输出相应的所述出离方向。所述虚拟角色的外因信息可以包括用户的输入信息、环境信息、干预信息,根据所述用户的输入信息、环境信息、干预信息输出相应的所述出离方向。所述干预信息可以包括但不限于撞击属性等,所述撞击属性可以包括但不限于撞击物质量、撞击速度、撞击方向等信息。
52.根据本技术的一些实施例,控制端120和/或服务器140可以根据获取的第二介质环境空间坐标的区间xijyijzij,判断虚拟角色的实时位置坐标xtytzt是否属于空间坐标区间xijyijzij,当虚拟角色的实时位置坐标xtytzt属于空间坐标区间xijyijzij时,确定所述虚拟角色进入所述第二介质环境。
53.根据本技术的一些实施例,在介入动作至出离动作的过程中,当虚拟角色在预设区域内不存在阻挡物时,所述虚拟角色可以根据预设的出离轨迹执行离开第二介质环境的出离动作。例如,在水介质环境中,所述虚拟角色根据出水轨迹执行离开第二介质环境(例如,水介质环境)的出水动作。所述出水轨迹包括所述出水动作的出水方向。作为示例,当确定虚拟角色进入第二介质环境时,可以进一步判断所述虚拟角色进入第二介质环境的介入点,判断所述介入点与所述第二介质环境边界在各个方向的距离,根据距离对比信息和预设条件,更新出离动作的出水轨迹。
54.在208,在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。操作208可以通过虚拟角色的信息处理系统100的控制端120、服务器140实现。在一些实施例中,控制端120和/或服务器140可以在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。在一些实施例中,所述力场信息可以包括力的强度、力的方向等,所述力场信息的类型可以包括环境力场信息、第一物体力场信息等,控制端120和/或服务器140可以根据所述力场信息绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。所述环境力场信息可以包括但不限于风、雨、雷、电、雪等的力场信等;所述第一物体力场信息可以包括但不限于其他虚拟角色、npc、非静物等的力场信等。所述一个或多个动作可以包括触发动作、过程动作、介入动作、出离动作等中的一种或几种的组合。
55.在一些实施例中,于当前环境处于第一状态中,控制端120和/或服务器140可以根据环境力场信息绘制第一力场贴图,将第一力场贴图产生的数据传输至状态机,通过状态机根据更新后的轨迹信息显示所述虚拟角色的动画。又例如,于当前环境处于第二状态中,控制端120和/或服务器140可以根据第一物体力场信息及环境力场信息绘制第二力场贴图,将第二力场贴图产生的数据传输至状态机,通过状态机根据更新后的轨迹信息显示所述虚拟角色的动画。
56.根据本技术的一些实施例,流程200可以在所述触发动作、过程动作、介入动作、出离动作中获取用户的输入信息,根据所述输入信息更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画等。
57.根据本技术的一些实施例,流程200可以进一步包括将所述虚拟角色的动画分解为至少两个动画片段。所述至少两个动画片段可以包括第一动画片段、第二动画片段等。所述第一动画片段可以包括所述第一介质环境中的触发动作、过程动作,所述第二动画片段可以包括所述第二介质环境中的介入动作、出离动作。在一些实施例中,所述第一动画片段可以进一步分解为至少两个动画子片段,例如,触发动画子片段(例如,起跳动画)、过程动画子片段(例如,下落动画)等。在一些实施例中,所述第二动画片段可以进一步分解为至少两个动画子片段,例如,介入动画子片段(例如,入水动画)、出离动画子片段(例如,出水动画)等。
58.在一些实施例中,流程200可以进一步通过状态机预设所述虚拟角色在不同动作的轨迹信息,所述轨迹信息可以包括但不限于起跳轨迹、下落轨迹、入水轨迹、出水轨迹等。在一些实施例中,流程200可以进一步获取所述虚拟角色的关联信息,所述关联信息可以包括位置信息、第一物体信息、内因信息、外因信息,所述内因信息可以包括但不限于虚拟角色的起跳初速度等信息;所述外因信息可以包括但不限于输入信息、环境信息、干预信息等,所述输入信息可以包括用户的输入信息;所述环境信息可以包括但不限于风、雨、雷、电、雪等;所述干预信息可以包括但不限于被其他角色撞到和/或攻击,被石头砸到,被小鸟撞到等。在一些实施例中,流程200可以进一步根据所述关联信息融合预设的轨迹信息,更新所述虚拟角色的动画参数。作为示例,当虚拟角色在起跳过程被其他角色撞到,可以通过改变起跳轨迹的起跳方向等更新起跳轨迹。又例如,当虚拟角色在下落过程被小鸟撞到,可以通过改变下落轨迹的下落方向等更新下落轨迹。又例如,当虚拟角色在下落过程的环境状态为暴雨,可以通过改变下落轨迹的下落速度等更新下落轨迹。又例如,当虚拟角色在入水过程被石头砸到,可以通过改变入水轨迹的入水点等更新入水轨迹。再例如,当虚拟角色在出水过程中获取用户输入系统的力度参数时,可以通过改变出水轨迹的出水点等更新出水轨迹。
59.根据本技术的一些实施例,流程200可以进一步包括通过无限状态机获取动作捕捉的动作库。在一些实施例中,根据所述虚拟角色的关联信息,控制端120和/或服务器140可以匹配动作捕捉数据,根据所述动作捕捉数据,更新所述虚拟角色的动画参数。在一些实施例中,流程200可以根据用户的输入信息,更新所述状态机改变动画参数的权重。作为示例,通过对所述用户的输入信息、位置信息、第一物体信息、内因信息、外因信息等预设不同的权重,所述状态机可以融合预设轨迹以及根据不同权重信息生成的不同方向轨迹,更新所述虚拟角色的动画。所述外因信息可以包括但不限于撞击属性、力场信息等。
60.根据本技术的一些实施例,所述虚拟角色的动画,可以显示在用户端130的ui中,和/或在特定场景中实现,所述场景可以包括但不限于vr,ar,mr,xr任一场景或组合的场景。
61.图3是根据本技术的一些实施例提供的虚拟角色的信息处理方法计算距离的水平示意图。如图3所示,虚拟角色进入第二介质环境的介入动作可以包括介入点,所述介入点为所述虚拟角色介入所述第二介质环境与第一介质环境的交界面的交叉点。作为示例,当
第二介质环境为水介质环境时,所述虚拟角色的介入点为入水点,所述入水点为所述虚拟角色跳水进入水介质环境的水平面的交叉点。在一些实施例中,以所述第二介质环境与所述第一介质环境的交界面为基准水平面(在图3水平示意图中,基准水平面以截面的基准水平线aob示意),将第一物体位置与所述基准水平线作垂直线,所述垂直线与基准水平线的交叉点为第一物体的位置点,计算所述介入点与位置点之间的距离。作为示例,当存在至少两个第一物体时,所述第一物体可以包括物体a和物体b,将物体a位置与所述基准水平线作垂直线a,将物体b位置与所述基准水平线作垂直线b,所述垂直线a和垂直线b与基准水平线相交的位置点分别为位置点a和位置点b,计算入水点o与位置点a的距离oa,以及入水点o与位置点b的距离ob,对比距离oa和距离ob,根据对比结果更新所述虚拟角色的轨迹信息。
62.在一些实施例中,所述虚拟角色的轨迹信息可以包括出离方向(例如,水介质环境中的出水方向),作为示例,当所述虚拟角色的预设条件为时间限制(例如,出离水介质环境的耗时最短等),所述虚拟角色根据距离oa小于距离ob的对比结果,更新出水方向为o
→
a。又例如,当所述虚拟角色的预设条件为目标限制(例如,出离水介质环境的目标为拖延出水进程等),所述虚拟角色根据距离ob大于距离oa的对比结果,更新出水方向为o
→
b。
63.图4是根据本技术的一些实施例提供的虚拟角色的信息处理方法计算距离的顶视示意图。如图4所示,在顶视示意图中,以虚拟角色(在图4顶视示意图中,角色以圆形示意)为中心建立横轴和纵轴坐标系,从角色身上向坐标系的四个象限作多方向的射线,用于检测角色周围第一物体(例如,阻挡物)的距离。在一些实施例中,可以角色周围的第一物体(任意物体,如阻挡物等)为中心建立横轴和纵轴坐标系,从角色周围的第一物体身上向坐标系的四个象限作多方向的射线,用于检测角色与其周围的第一物体之间的距离。
64.根据本技术的一些实施例,也可以在虚拟角色身上创建碰撞体,用于检测所示虚拟角色周围第一物体(例如,阻挡物)的距离等。
65.需要说明的是,以上对于流程200的描述,仅为描述方便,并不能把本技术限制在所举实施例的范围之内。可以理解,对于本领域技术人员,基于本系统的原理,可能在不背离该原理的前提下,对各个操作进行任意组合,或者构成子流程与其它操作组合,对实施上述流程和操作的功能进行形式和细节上的各种修正和改变。例如,流程200可以进一步包括通过无限状态机获取动作捕捉的动作库,并根据动作捕捉数据,更新虚拟角色的动画参数等操作。诸如此类的变形,均在本技术的保护范围之内。
66.综上所述,根据本技术实施例的一种虚拟角色的信息处理方法及系统,通过分解动画片段,根据力场贴图更新动画参数权重,融合预设轨迹,丰富动画效果,增加动画的真实度,提高用户体验。
67.需要注意的是,上述的实施例仅仅是用作示例,本技术不限于这样的示例,而是可以进行各种变化。
68.需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
69.最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列
执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
70.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(read-only memory,rom)或随机存储器(random access memory,ram)等。
71.以上所揭露的仅为本技术一些优选的实施例,不能以此来限定本技术之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本技术权利要求所作的等同变化,仍属于发明所涵盖的范围。
技术特征:
1.一种虚拟角色的信息处理方法,其特征在于,包括:获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作;根据所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离;于当前环境处于第一状态中,所述虚拟角色根据第一轨迹进入过程动作;根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离;于当前环境处于第一状态中,所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作;根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离;于当前环境处于第一状态中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作,所述第三轨迹包括所述出离动作的出离方向;其中,在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。2.根据权利要求1所述的方法,其特征在于,所述预设区域包括所述虚拟角色的预设距离范围,所述力场贴图包括所述虚拟角色周围的所有力,所述根据更新后的轨迹信息显示所述虚拟角色的动画具体包括:检测所述虚拟角色的预设距离范围内是否存在第一物体;于当前环境处于第一状态中,获取预设区域内的环境力场信息并绘制第一力场贴图,根据所述第一力场贴图产生的数据,更新轨迹信息,所述轨迹信息包括第一轨迹、第二轨迹、第三轨迹;于当前环境处于第二状态中,计算所述虚拟角色与所述第一物体之间的第一距离、第二距离和/或第三距离;所述第一距离包括所述虚拟角色在所述第一位置与第一物体之间的距离,所述第二距离包括所述虚拟角色在所述第二位置与第一物体之间的距离,所述第三距离包括所述虚拟角色在所述第三位置与第一物体之间的距离;当存在至少两个第一物体时,对比所述至少两个距离信息,根据预设条件更新轨迹信息;获取第一物体的力场信息及环境力场信息并绘制第二力场贴图,根据所述第二力场贴图产生的数据,更新轨迹信息;通过状态机根据更新后的轨迹信息显示所述虚拟角色的动画。3.根据权利要求2所述的方法,其特征在于,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括:若所述虚拟角色的预设距离范围内不存在第一物体,随机输出所述出离方向;若所述虚拟角色的预设距离范围内存在第一物体,根据距离信息输出相应的所述出离方向;若所述虚拟角色的预设距离范围内存在至少两个第一物体,根据距离的对比信息及所述预设条件输出相应的所述出离方向,所述预设条件包括用户的输入信息,所述虚拟角色的关联信息。4.根据权利要求1所述的方法,其特征在于,所述虚拟角色的信息处理方法具体包括:获取第二介质环境的空间坐标区间和所述虚拟角色的实时位置坐标;
判断所述虚拟角色的实时位置坐标是否属于所述空间坐标区间;当所述虚拟角色的实时位置坐标属于所述空间坐标区间时,确定所述虚拟角色进入所述第二介质环境。5.根据权利要求1所述的方法,其特征在于,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括:获取所述虚拟角色的内因信息,根据所述内因信息输出相应的所述出离方向;所述虚拟角色的内因信息包括所述触发动作的初速度,根据所述触发动作的初速度输出相应的所述出离方向。6.根据权利要求1所述的方法,其特征在于,所述虚拟角色根据第三轨迹执行离开第二介质环境的出离动作具体包括:获取所述虚拟角色的外因信息,根据所述外因信息输出相应的所述出离方向。7.根据权利要求6所述的方法,其特征在于,所述虚拟角色的外因信息包括用户的输入信息、环境信息、干预信息,根据所述用户的输入信息、环境信息、干预信息输出相应的所述出离方向。8.根据权利要求1所述的方法,其特征在于,所述虚拟角色的信息处理方法具体包括:将所述虚拟角色的动画分解为至少两个动画片段,第一动画片段包括所述第一介质环境中的触发动作、过程动作,第二动画片段包括所述第二介质环境中的介入动作、出离动作;通过状态机预设所述虚拟角色在不同动作的轨迹信息;获取所述虚拟角色的关联信息,所述关联信息包括位置信息、第一物体信息、内因信息、外因信息,所述外因信息包括力场信息;根据所述关联信息融合预设的轨迹信息,更新所述虚拟角色的动画参数。9.根据权利要求8所述的方法,其特征在于,所述更新所述虚拟角色的动画参数具体包括:通过无限状态机获取动作捕捉的动作库;根据所述虚拟角色的关联信息,匹配动作捕捉数据;根据所述动作捕捉数据,更新所述虚拟角色的动画参数。10.一个系统,其特征在于,包括:一个存储器,被配置为存储数据及指令;一个与存储器建立通信的处理器,其中,当执行存储器中的指令时,所述处理器被配置为:获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作;根据所述触发动作的第一位置,检测预设区域内的第一物体并计算第一距离;于当前环境处于第一状态中,所述虚拟角色根据第一轨迹进入过程动作;根据所述过程动作的第二位置,检测预设区域内的第一物体并计算第二距离;于当前环境处于第一状态中,所述虚拟角色根据第二轨迹执行进入第二介质环境的介入动作;根据所述介入动作的第三位置,检测预设区域内的第一物体并计算第三距离;于当前环境处于第一状态中,所述虚拟角色根据第三轨迹执行离开第二介质环境的出
离动作,所述第三轨迹包括所述出离动作的出离方向;其中,在一个或多个动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。
技术总结
本申请涉及一种虚拟角色的信息处理方法及系统,涉及动画技术领域。所述方法包括获取虚拟角色的第一介质环境,以及在所述第一介质环境的触发动作和过程动作;根据动作的位置信息,检测预设区域内的第一物体并计算距离信息;于当前环境处于第一状态中,所述虚拟角色根据预设轨迹信息进入下一动作;在每一动作获取预设区域的力场信息并绘制力场贴图,根据所述力场贴图更新所述第一轨迹、第二轨迹和第三轨迹,根据更新后的轨迹信息显示所述虚拟角色的动画。本申请的虚拟角色的信息处理方法及系统,通过分解动画片段,根据力场贴图更新动画参数权重,融合预设轨迹,丰富动画效果,增加动画的真实度,提高用户体验。提高用户体验。提高用户体验。
技术研发人员:杨雯 胡婷婷 赵男 施一东 刘超 师锐
受保护的技术使用者:上海米哈游海渊城科技有限公司
技术研发日:2021.12.01
技术公布日:2022/3/8