CN118160008A - 实用3d资产的推断的骨骼结构 - Google Patents

实用3d资产的推断的骨骼结构 Download PDF

Info

Publication number
CN118160008A
CN118160008A CN202280068575.XA CN202280068575A CN118160008A CN 118160008 A CN118160008 A CN 118160008A CN 202280068575 A CN202280068575 A CN 202280068575A CN 118160008 A CN118160008 A CN 118160008A
Authority
CN
China
Prior art keywords
joint
data model
avatar data
avatar
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280068575.XA
Other languages
English (en)
Inventor
谢尔盖·马基耶夫
阿德里安·保罗·朗兰兹
约瓦尼·安东尼奥·库蒂尼
萨特什·苏布拉马尼安
大卫·B·巴斯祖奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robles Corp
Original Assignee
Robles Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robles Corp filed Critical Robles Corp
Priority claimed from PCT/US2022/046528 external-priority patent/WO2023064441A1/en
Publication of CN118160008A publication Critical patent/CN118160008A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

一些实施方式涉及用于推断的骨骼结构以创建实用3D资产的方法、系统、以及计算机可读介质。用户可以使用来自不同父模型的不同部分创建化身。在创建时,检查化身的数据模型以确定关节放置并推断整体骨骼结构。此后,在动画期间,可以使用不同的蒙皮技术基于关节放置和运动对化身皮肤进行变形。

Description

实用3D资产的推断的骨骼结构
相关申请的交叉引用
本申请是根据35U.S.C.§119(e)要求于2021年10月14日提交的申请号为63/255,489的美国临时专利申请以及于2022年9月8日提交的申请号为63/404,871的美国临时专利申请的优先权的国际申请,上述两者的全部内容以引入的方式并入本文。
技术领域
各实施例总体涉及在线虚拟体验平台,尤其涉及用于创建实用三维(three-dimensional,3D)资产的推断的骨骼结构的方法、系统、以及计算机可读介质。
背景技术
在线平台,诸如虚拟体验平台和在线游戏平台,可以包括供用户和开发者使用的化身和化身编辑套件。
本文提供的背景技术描述旨在介绍本公开的背景。在本背景技术部分中所描述的范围内以及在申请时可能不符合现有技术的描述的各方面,当前指定的发明人的工作内容既不明示也不暗示地被承认为针对本公开的现有技术。
发明内容
本公开的各方面涉及用于创建实用3D资产的推断的骨骼结构的方法、系统、以及计算机可读介质。
在一方面,描述了一种计算机实现的方法。该计算机实现的方法包括接收3D化身的化身数据模型,化身数据模型包括至少来自第一父模型的第一身体部位,以及来自第二父模型的第二身体部位,其中,第一父模型和第二父模型是不同的3D模型;创建化身数据模型的图表示,其中,图表示从化身数据模型的选定根点开始,并延伸至化身数据模型的终端部分;遍历图表示以确定多个关节位置,其中,每个关节位置表示要放置关节的相应位置,并且其中,关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;推断多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且骨骼部分随着第一关节和第二关节中的一个或两个关节的运动而旋转;以及组合多个关节位置中的每个位置的关节、推断的骨骼结构、以及化身数据模型,以创建实用3D资产。
描述了计算机实现的方法的各种实施方式。
在一些实施方式中,该计算机实现的方法还包括在虚拟体验的虚拟环境中对实用3D资产进行动画化。
在一些实施方式中,对实用3D资产进行动画化包括在实用3D资产的动画期间利用推断的骨骼结构进行皮肤变形。
在一些实施方式中,图表示包括多个节点,多个节点表示化身数据模型的各个身体部位。
在一些实施方式中,图表示还包括多个边,其中,多个边中的每个边在至少两个节点之间延伸,并且其中,多个边中的每个边表示关节位置。
在一些实施方式中,在多个关节位置组合的每个关节包括动画关节或固定关节。
在一些实施方式中,该计算机实现的方法还包括至少基于推断的骨骼结构,对实用3D资产进行蒙皮。
在一些实施方式中,遍历图表示包括以下中的一个或多个:深度优先搜索或广度优先搜索。
在一些实施方式中,图表示包括加权图,加权图具有基于化身数据模型的各个身体部位的比例分配给边的权重。
在一些实施方式中,一个或多个第一父模型或第二父模型是虚拟体验平台的用户生成内容。
在另一方面,描述了一种系统。该系统包括存储器,该存储器上存储有指令;耦合到该存储器并且可访问该存储器的处理设备,其中,当被处理设备执行时,指令使得处理设备执行包括以下的操作:接收3D化身的化身数据模型,化身数据模型包括至少来自第一父模型的第一身体部位,以及来自第二父模型的第二身体部位,其中,第一父模型和第二父模型是不同的3D模型;创建化身数据模型的图表示,其中,图表示从化身数据模型的选定根点开始,并延伸至化身数据模型的终端部分;遍历图表示以确定多个关节位置,其中,每个关节位置表示要放置关节的相应位置,并且其中,关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;推断多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且骨骼部分随着第一关节和第二关节中的一个或两个关节的运动而旋转;以及组合多个关节位置中的每个位置的关节、推断的骨骼结构、以及化身数据模型,以创建实用3D资产。
描述了系统的各种实施方式。
在一些实施方式中,操作还包括在虚拟体验的虚拟环境中对实用3D资产进行动画化。
在一些实施方式中,对实用3D资产进行动画化包括在实用3D资产的动画期间利用推断的骨骼结构进行皮肤变形。
在一些实施方式中,图表示包括多个节点,多个节点表示化身数据模型的各个身体部位。
在一些实施方式中,图表示还包括多个边,其中,多个边中的每个边在至少两个节点之间延伸,并且其中,多个边中的每个边表示关节位置。
在一些实施方式中,在多个关节位置组合的每个关节包括动画关节或固定关节。
在一些实施方式中,操作还包括至少基于推断的骨骼结构,对实用3D资产进行蒙皮。
在一些实施方式中,遍历图表示包括以下中的一个或多个:深度优先搜索或广度优先搜索。
在一些实施方式中,图表示包括加权图,该加权图具有基于化身数据模型的各个身体部位的比例分配给边的权重。
在另一方面,描述了一种非暂时性计算机可读介质,该非暂时性计算机可读介质上存储有指令,响应于被处理设备执行,上述指令使得处理设备执行包括以下的操作:接收3D化身的化身数据模型,化身数据模型包括至少来自第一父模型的第一身体部位,以及来自第二父模型的第二身体部位,其中,第一父模型和第二父模型是不同的3D模型;创建化身数据模型的图表示,其中,图表示从化身数据模型的选定根点开始,并延伸至化身数据模型的终端部分;遍历图表示以确定多个关节位置,其中,每个关节位置表示要放置关节的相应位置,并且其中,关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;推断多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且骨骼部分随着第一关节和第二关节中的一个或两个关节的运动而旋转;以及组合多个关节位置中的每个位置的关节、推断的骨骼结构、以及化身数据模型,以创建实用3D资产。
描述了非暂时性计算机可读介质的各种实施方式。
根据又一方面,上述系统、方法、以及非暂时性存储介质的部分、特征、以及实施方式细节可以结合以形成附加方面,包括省略和/或修改一些或一部分单个组件或特征的一些方面,包括附加组件或特征和/或其他修改,并且所有这些修改都在本公开的范围内。
附图说明
图1是根据一些实施方式的示例网络环境的图;
图2描绘了根据一些实施方式的从输入的化身数据模型到实用3D资产的示例过程;
图3是根据一些实施方式的从输入的化身数据模型生成实用3D资产的示例方法的流程图;
图4是根据一些实施方式的基础的化身数据模型的示例可视化的示意图;
图5是根据一些实施方式的示例定制的化身数据模型的示意图;
图6是根据一些实施方式的化身数据模型的示例图表示的图;
图7是根据一些实施方式的基于输入的定制化身数据模型的示例推断的骨骼结构的示意图;
图8是根据一些实施方式的从输入的定制化身数据模型生成实用3D资产的方法的流程图;以及
图9是示出根据一些实施方式的示例计算设备的框图。
具体实施方式
在下面的详细描述中,参考构成部分本文的附图。在附图中,除非上下文另有规定,否则类似的符号通常标识类似的组件。具体实施方式、附图和权利要求中描述的说明性实施方式并不意味着是限制性的。在不脱离本文呈现的主题的精神或范围的情况下,可以使用其他实施方式,并且可以进行其他改变。如本文一般描述的和附图所示,本公开的各方面可以在多种不同的配置中进行排列、替换、组合、分离和设计,上述所有都在本文中考虑。
说明书中参考的“一些实施方式”、“实施方式”、“示例实施方式”等指示描述的实施方式可以包括特定的特征、结构、或特性,但是每个实施方式不一定包括特定的特征、结构、或特性。此外,这些短语不一定指同一实施方式。另外,当结合实施方式描述特定特征、结构、或特性时,无论是否明确描述,上述特征、结构、或特性可以结合其他实施方式来实现。
本文在3D虚拟体验或环境中使用的3D化身的上下文中描述了各种实施例。本文描述的技术的一些实施方式可以应用于各种类型的3D环境,例如,虚拟现实(virtualreality,VR)会议、3D会话(例如,涉及3D化身的在线讲座或其他类型的展示)、虚拟音乐会、增强现实(augmented reality,AR)会话,或可以包括在3D环境中由一个或多个3D化身表示的一个或多个用户的其他类型的3D环境。
在一些方面,提供了用于操作3D资产以及创建新的实用资产的系统和方法。例如,实用3D资产是以下中的一个或多个:易于以低计算负荷动画化的3D资产、适合在任何类型的客户端设备的虚拟环境中视觉呈现的3D资产、适合多种不同形式的动画的3D资产、适合不同的蒙皮方法的3D资产、适合不同的蒙皮变形的3D资产、和/或适合各种客户端设备上的动画的3D资产。在线平台,诸如在线虚拟体验平台,通常提供创建、编辑、存储、以及以其他方式操作虚拟物品、虚拟化身、以及要用于虚拟体验的其他实用3D资产的能力。
例如,虚拟体验平台可以包括用户生成内容(user-generated content)或开发者生成内容(本文均称为“UGC”)。UGC可以例如,通过允许用户搜索各种虚拟元素并与上述虚拟元素交互以创建化身和其他项目,来通过虚拟体验平台存储和实现。用户可以从各种虚拟化身和3D模型中选择以及重新布置各种虚拟元素以创建新的模型和化身。化身身体创建者可以创建具有任何期望的/定制的形状和大小的几何构造的身体,并将上述身体发布到虚拟体验平台托管的身体库中。
在虚拟体验或其他3D会话的运行时间期间,用户访问身体库以选择特定身体(包括诸如头部、躯干、四肢等各种部分),并重新布置身体(或其部分)。根据本文描述的实施方式,虚拟体验平台可以将身体(或其部分)的整体模型作为输入,并推断允许适当运动(例如,关节移动、旋转等)的骨骼结构。以这种方式,可以在不影响用户体验的情况下重新布置很多不同的化身身体部位以创建新的化身身体。
例如,用户生成内容可以包括第一数据模型和第二数据模型。用户可以通过混合来自第一数据模型和第二数据模型的一个或多个身体部位(从第一和第二数据模型,以及可选地,从其他数据模型,获取不同的身体部位),创建新的化身数据模型。由此,因为化身的各种数据模型可能具有不同类型、比例、大小、和结构的身体部位,所以新的化身数据模型可能没有对于使用新的化身数据模型的实用3D动画而言的正确对齐的关节、接缝、连接点、连接、和/或其他部分。
例如,新的化身数据模型可能具有错位的接缝,导致动画期间不合适的蒙皮变形,从而影响用户体验。在另一个示例中,新的化身数据模型可能具有错位的动画关节,导致骨骼结构不适当地引导(inform)蒙皮变形,从而影响用户体验。在另一个示例中,新的化身数据模型可能具有过多或过少的动画关节以至于无法实现动画中的运动,而上述运动对于吸引人的体验来说是更好的。此外,新的化身数据模型可能具有其他错位的、不合适的、或影响用户体验的吸引力以及流畅的动画的其他元素。在不同的示例中,新的化身数据模型中可能存在两个或两个以上的上述缺陷。
根据一些实施方式,可以分析新的化身数据模型以确定不同的身体部位,并且可以基于该分析创建图表示以表示不同的身体部位。可以用搜索算法遍历图表示以精确地确定与不同的、混合的身体部位和/或元素重合得更紧密的新关节位置。可以将动画关节或固定关节(取决于母身体部位模型)放置在确定的上述关节位置。可以推断骨骼结构为存在于关节之间,使得每个关节包括至少一个连接的骨骼构件。新的关节和推断的骨骼结构可以与新的化身数据模型相结合以创建包括正确数量的关节和正确对齐的元素的实用3D资产,从而使动画吸引人且流畅。
以这种方式,实施方式提供了减少与用户尝试手动对齐3D化身模型中的新关节和骨骼结构相关联的计算资源的优势。实施方式还提供了将大部分3D模型创建过程自动化的技术优势,使得用户可以专注于创建独特的化身,而无需依赖于深奥的计算机动画。实施方式还提供了以下技术优势:改善用户体验、提高新的化身模型的跨平台兼容性、提高新的化身模型跨多个虚拟体验的兼容性、降低无经验用户进入3D建模的门槛、提升用户参与度指标、以及其他技术优势。
图1:系统架构
图1示出了根据本公开的一些实施方式的示例网络环境100。图1和其他附图使用类似的附图标记来标识类似的元素。附图标记后的字符,例如“110a”,指示正文特指的具有该特定附图标记的元素。正文中不带有字符(例如,“110”)的附图标记指的是附图中带有该附图标记的任何或所有元素(例如,正文中的“110”指的是附图中的附图标记“110a”、“110b”、和/或“110n”)。
网络环境100(本文也称为“平台”)包括都通过网络122耦合的在线虚拟体验服务器102、数据存储区108、以及客户端设备110a至110n(也称为客户端设备110)。
在线虚拟体验服务器102可以包括虚拟体验引擎104、一个或多个虚拟体验105、以及建模组件130。在一些实施方式中,在线虚拟体验服务器102可以用于为一个或多个客户端设备110提供虚拟体验105,并且提供通过建模组件130自动生成推断的骨骼结构。
数据存储区108示出为耦合到在线虚拟体验服务器102,但是在一些实施方式中可以提供为在线虚拟体验服务器102的一部分。在一些实施方式中,数据存储可以用于存储与建模组件130相关联的广告数据、用户数据、参与度数据、和/或其他上下文数据。所有数据存储都经过特定用户许可,且符合适用的法规。
客户端设备110(例如,110a、110b、110n)可以包括虚拟体验应用112(例如,112a、112b、112n)和I/O接口114(例如,114a、114b、114n),以便与在线虚拟体验服务器102交互,并且通过计算机显示器、电视、平板电脑/笔记本电脑屏幕、或其他显示器(例如,诸如虚拟现实护目镜的可穿戴显示器或其他可穿戴设备)(未示出)查看例如图形用户界面(graphical user interface,GUI)。在一些实施方式中,客户端设备110可以用于执行和显示虚拟体验,上述虚拟体验可以包括如本文所述的定制的化身数据模型和实用3D资产。
提供网络环境100以供说明。在一些实施方式中,网络环境100可以包括以与图1所示的相同或不同的方式配置的相同、更少、更多、或不同的元素。
在一些实施方式中,网络122可以包括公共网络(例如,互联网)、专用网络(例如,局域网(local area network,LAN)或广域网(wide area network,WAN))、有线网络(例如,以太网)、无线网络(例如,802.11网络、网络、或无线LAN(wireless LAN,WLAN)、蜂窝网络(例如,长期演进(long term evolution,LTE)网络)、路由器、集线器、交换机、服务器计算机、或其组合。
在一些实施方式中,数据存储区108可以是非暂时性计算机可读存储器(例如,随机存取存储器)、高速缓存、驱动器(例如,硬盘驱动器)、闪存驱动器、数据库系统、或能够存储数据的另一类型的组件或设备。数据存储区108还可以包括还可以跨多个计算设备(例如,多个服务器计算机)的多个存储组件(例如,多个驱动器或多个数据库)。
在一些实施方式中,在线虚拟体验服务器102可以包括具有一个或多个计算设备的服务器(例如,云计算系统、机架式服务器、服务器计算机、物理服务器集群、虚拟服务器等)。在一些实施方式中,服务器可以包括在在线虚拟体验服务器102中,可以是一个独立的系统,或者是另一系统或者平台的一部分。在一些实施方式中,在线虚拟体验服务器102可以是单个服务器,或者是多个服务器、负载均衡器、网络设备、以及其他组件的任意组合。在线虚拟体验服务器102也可以在物理服务器上实现,但是在一些实施方式中可以利用虚拟化技术。在线虚拟体验服务器102的其他变化形式也适用。
在一些实施方式中,在线虚拟体验服务器102可以包括一个或多个计算设备(例如,机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储区(例如,硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件,这些组件可用于在在线虚拟体验服务器102上执行操作并(例如,通过客户端设备110)向用户提供对在线虚拟体验服务器102的访问。
在线虚拟体验服务器102还可以包括可用于向用户提供对由在线虚拟体验服务器102提供的内容的访问权限的网站(例如,一个或多个网页)或应用后端软件。例如,用户(或开发者)可以分别使用客户端设备110上的虚拟体验应用112来访问在线虚拟体验服务器102。
在一些实施方式中,在线虚拟体验服务器102可以包括数字资产和数字虚拟体验生成提供。例如,平台可以提供允许设计、修改、为个人量身定制、以及其他修改功能的管理员界面。在一些实施方式中,虚拟体验可以包括例如,二维(two-dimensional,2D)游戏、三维(three-dimensional,3D)游戏、虚拟现实(virtual reality,VR)游戏、或增强现实(augmented reality,AR)游戏。在一些实施方式中,虚拟体验创建者和/或开发者可以搜索虚拟体验、组合虚拟体验的各部分、为特定活动定制虚拟体验(例如,群组虚拟体验)、以及通过虚拟体验服务器102提供的其他特征。
在一些实施方式中,在线虚拟体验服务器102或客户端设备110可以包括虚拟体验引擎104或虚拟体验应用112。在一些实施方式中,虚拟体验引擎104可以用于虚拟体验105的开发或执行。例如,虚拟体验引擎104可以包括用于2D、3D、VR、或AR图形的渲染引擎(“渲染器”)、物理引擎、碰撞检测引擎(和碰撞响应)、声音引擎、脚本功能、触觉引擎、人工智能引擎、网络功能、流功能、存储管理功能、线程功能、场景图功能、或动画视频支持、以及其他功能。虚拟体验引擎104的组件可以生成帮助计算和渲染虚拟体验的命令(例如,渲染命令、碰撞命令、物理命令等)。
使用虚拟体验引擎104的在线虚拟体验服务器102可以执行部分或全部虚拟体验引擎功能(例如,生成物理命令、渲染命令等),或者将部分或全部虚拟体验引擎功能分流到客户端设备110的虚拟体验引擎104(未示出)。在一些实施方式中,每个虚拟体验105在在线虚拟体验服务器102上执行的虚拟体验引擎功能和在客户端设备110上执行的虚拟体验引擎功能之间可以有不同比率。
在一些实施方式中,虚拟体验指令可以指允许客户端设备110渲染虚拟体验的游戏玩法、图形、和其他特征的指令。指令可以包括用户输入(例如,物理对象定位)、角色位置和速度信息、或命令(例如,物理命令、渲染命令、碰撞命令等)中的一个或多个。
在一些实施方式中,客户端设备110可以包括计算设备(例如,个人计算机(personal computer,PC))、移动设备(例如,膝上型计算机、移动电话、智能电话、平板计算机、或上网本计算机)、互联网电视、游戏控制台等。在一些实施方式中,客户端设备110也可以称为“用户设备”。在一些实施方式中,一个或多个客户端设备110可以在任何给定时刻连接到在线虚拟体验服务器102。应注意,提供客户端设备110的数量是为了说明而非限制。在一些实施方式中,可以使用任何数量的客户端设备110。
在一些实施方式中,一个或多个客户端设备110可以包括虚拟体验应用112的实例。可以在客户端设备110上渲染虚拟体验应用112以用于交互。在虚拟体验或在线平台100的另一GUI内的用户交互期间,用户可以创建包括来自不同库、来自不同父模型、和/或来自其他用户生成内容的不同身体部位的化身。建模组件130可以将表示新创建化身的数据模型作为输入,读取所有单独部位信息,并推断骨骼结构,该骨骼结构可以用于创建具有允许在虚拟体验内进行动画的内部骨骼结构的实用3D资产。
在一些实施方式中,推断的骨骼结构指的是悬浮在关节之间的虚拟骨骼。关节引导虚拟骨骼的运动,使得虚拟骨骼在关节上旋转、移动、或以其他方式绕轴转动。
在一些实施方式中,关节可以包括固定关节和动画关节。其他形式的关节也可以适用。一些实施方式包括在单个轴上绕轴转动的关节、在一个或多个轴上绕轴转动的关节、在两个或两个以上的轴上绕轴转动的关节、在多个轴上绕轴转动的关节、仅在单个运动平面内绕轴转动的关节、在一个或多个运动平面内绕轴转动的关节、在两个或两个以上运动平面内绕轴转动的关节、和/或在所有平面上保持固定但沿单个旋转轴旋转的关节。
在一些实施方式中,关节也可以是动态的和物理模拟的。例如,关节可以是基于球窝、铰链、和/或杆模拟的模拟关节。这些模拟关节和其他模拟关节允许完全或部分物理模拟隐式组合的蒙皮角色模型,其中,身体部位可以独立移动,对物理模拟做出反应(例如,角色可以是单个刚体或多个刚体)。此外,在一些实施方式中,平台100和建模组件130隐式支持将全身或部分身体模拟为软体、可变形体。例如,只要存在具有蒙皮节点的骨骼结构,就可以将各个单独部位中的共享节点链接在一起,形成基于模拟器使用的物理关节推断的单个组合蒙皮实体,或者也可以利用将用户明确指定的多个骨骼节点组合在一起的显式骨骼图链接更直接和明确地进行链接。
推断的骨骼结构可以与关节集成,使得每个关节包括与其相连的至少一个骨骼结构和/或该骨骼结构的部分(例如,单个虚拟骨骼)。在一些实施方式中,关节可以包括与该关节相连的一个或多个虚拟骨骼。在一些实施方式中,关节可以包括与该关节相连的两个或两个以上虚拟骨骼。在一些实施方式中,关节可以与另一个关节和至少一个虚拟骨骼相连。在一些实施方式中,关节可以与一个或多个关节和至少一个虚拟骨骼相连。
推断的骨骼结构(例如,所有虚拟骨骼)和关节可以与化身数据模型组合以生成实用3D资产。组合可以由建模组件130或另一软件组件实现。在一些实施方式中,可以(例如,通过VE应用112或建模组件130的本地实例)在客户端设备110上执行组合。
通过平台100生成的实用3D资产可以存储在任何合适的存储设备中,包括分布式存储设备、硬件存储设备、逻辑存储设备等,并且在一些实施方式中可以传输到客户端设备110。数据存储108可以存储和索引通过使用平台100生成的不同实用3D资产,使得客户端设备110可以随时搜索和获得实用3D资产。获得的实用3D资产可以进一步操作以创建新的和独特的化身,并且随后可以通过本文描述的方法进行处理,以创建新的、独特的3D资产,用于平台100或其他平台上的动画、游戏玩法、或其他用法。
图2:3D资产的示例生成
图2描绘了根据一些实施方式的从输入的化身数据模型到实用3D资产的示例过程。如图所示,定制的化身数据模型210可以包括定义模型外部的身体笼(body cage)或网格(mesh)212。
在线虚拟体验平台100的用户可以从两个或两个以上不同的父模型创建定制的化身数据模型。例如,用户可以从不同的模型中选择手臂、腿、头部、躯干等,并将它们添加在一起得到定制的化身数据模型210。
在线虚拟体验平台100可以接收定制的化身数据模型210,并执行第一操作序列202以生成推断的骨骼结构220。推断的骨骼结构220可以包括多个关节222(在图2中仅标记子集)和多个虚拟骨骼224(在图2中仅标记子集)。在一些实施方式中,建模组件130执行第一操作序列202。第一操作序列202也可以分布在建模组件130和/或在线虚拟体验平台100的其他软件组件的几个不同实例中。
在线虚拟体验平台可以执行第二操作序列204以组合多个关节222、多个虚拟骨骼224、以及定制的化身数据模型210,以获取实用3D资产230。
实用3D资产230可以是具有定义的骨骼结构的3D资产,由此建模组件130(或另一软件组件)可以基于定义的骨骼结构对动画序列执行蒙皮变形。例如,剖视图232允许在身体笼或网格212以下查看实用3D资产230中布置的底层骨骼结构和关节。
在下文中,参考图3对生成实用3D资产的方法进行更详细的讨论。
图3:生成具有推断的骨骼结构的3D资产的示例方法
图3是根据一些实施方式的从输入的化身数据模型生成实用3D资产的示例方法的流程图。
在一些实施方式中,方法300可以例如,在参考图1描述的服务器102上实现。在一些实施方式中,方法300中的一些或全部可以在如图1所示的一个或多个客户端设备110、在一个或多个开发者设备(未示出)、或者在一个或多个服务器设备102、和/或在开发者设备、服务器设备、和客户端设备的组合上实现。在所描述的示例中,实施系统包括一个或多个数字处理器或处理电路(“处理器”),以及一个或多个存储设备(例如,数据存储区108或其他存储器)。在一些实施方式中,一个或多个服务器和/或客户端的不同组件可以执行方法300的不同框或其他部分。在一些示例中,第一设备被描述为方法300的执行框。一些实施方式可以具有由可以向第一设备发送结果或数据的一个或多个其他设备(例如,其他客户端设备或服务器设备)执行的方法300的一个或多个框。
在一些实施方式中,方法300或方法的一部分可以由系统自动启动。在一些实施方式中,实施系统是第一设备。例如,该方法(或其部分)可以周期性地执行,或者基于一个或多个特定事件或条件执行,例如,基于用户请求、基于化身尺寸的变化、基于化身身体部件的变化、自上一次对特定化身模型或用户执行方法300以来预定时间段已到期、和/或可以在该方法读取的设置中指定的一个或多个其他条件发生时执行。
方法300可以从框302开始。在框302,例如以中性绑定姿势(neutral bind pose)构建身体网格。中性绑定姿势是化身的基础(或静止)姿势。例如,当在蒙皮后移动化身的骨骼时,骨骼的动作会使皮肤变形。不会导致皮肤变形的姿势是中性绑定姿势。因此,在一些实施方式中,首先以中性绑定姿势构建身体网格,可以简化后续的操作。
在一些实施方式中,可以以具有较小或最小变形的可选但中性的静止姿势构建身体网格。在这些和其他实施方式中,可以基于化身的蒙皮版本在该姿势具有最小变形的可能性,选择中性姿势。例如,图4描绘了可选的中性姿势,而图5描绘了中性绑定姿势。框302之后可以是框304。
在框304,可以放置关节并且可以基于关节放置推断骨骼,以获取骨骼化网格。例如,可以基于以下中的一个或多个放置关节:不同身体部位的交叉点、不同身体部位的描述、或不同身体部位之间的连接。
不同身体部位的交叉点可以包括第一身体部位(例如,上臂)和第二身体部位(例如,下臂)之间的交叉点,关节放置在该交叉点处或该交叉点附近。
不同身体部位的描述可以包括第一身体部位(例如,大腿)和第二身体部位(例如,小腿)的文本或计算机编码的描述,基于该描述将关节放置在第一身体部位和第二身体部位之间。例如,描述也可以包括适合关节放置的每个身体部位的远端。
不同身体部位之间的连接可以包括可以用关节代替的连接的硬编码描述。
可以基于关节位置推断骨骼化结构。例如,如果关节可以放置在上臂和下臂之间,那么可以推断虚拟骨骼从该关节延伸至其他身体部位。该推断是基于既定的身体结构的智能推断。例如,具有既定结构的基础身体可以是具有大约15个部位的人形形状。例如,图4描绘了基础身体和这些示例的15个身体部位。框304之后可以是框306。
在框306,可以对具有相关联的关节和虚拟骨骼的骨骼化身体网格进行蒙皮,以获取3D模型或实用3D资产。蒙皮可以包括任何合适的蒙皮方法。例如,蒙皮方法可以包括但不限于线性混合蒙皮、逆线性混合蒙皮、骨骼子空间变形(skeleton-subspacedeformation)、或其他方法。
在一些实施方式中,可以为单个放置的关节创建权重图。权重图可以基于底层骨骼结构控制每个顶点(vertex)移动的程度。
在一些实施方式中,可以基于CPU蒙皮或图形处理单元(graphics processingunit,GPU)蒙皮过程执行蒙皮。例如,CPU皮肤可以依靠典型的可用硬件处理器进行蒙皮转换。例如,GPU蒙皮可以依靠典型的可用GPU进行蒙皮转换。框306之后可以是框308。
在框308,3D模型或实用3D资产可以动画化,例如,3D模型可以用于渲染动画化的化身。例如,在一些实施方式中,可以在虚拟体验平台100上托管的虚拟体验内的虚拟环境中渲染动画。可以通过推断的骨骼结构引导动画,使得蒙皮变形流畅、接合、以及例如与错位的骨骼相比伪影更少。
在下文中,参考图4描述基础的化身数据模型和身体部位。
图4:基础的化身数据模型
图4是根据一些实施方式的基础的化身数据模型的示例可视化的示意图。示例可视化包括身体笼400和几个标记的身体部位。
更具体地,图4所示的(人形人体模型的)15个身体部位是:头部、躯干、臀部、右脚、左脚、左小腿、右小腿、左大腿、右大腿、左手、右手、左下臂、右下臂、左上臂、以及右上臂。任何身体形状中的部位数量可以大于或小于所示的15个身体部位。例如,因为省略了一只手、下臂、和上臂,所以一个“独臂”化身角色可能有12个(而不是15个)身体部位。此外,取决于诸如身体几何形状、期望的分辨率、处理能力、化身角色的类型(例如,动物、外星人、怪物等)等因素,其他身体形状可能涉及更少或更多的身体部位。
图4中的15个组/部位中的每一个都包括定义化身身体的该部位的特征点。这样的特征点组可以依次映射到相应的底层骨骼结构以用于推断。例如,身体笼400中定义左/右下臂和左/右上臂的特征点可以用于引导与肘部相关联的关节的定位。类似地,左/右大腿和左/右小腿可以用于引导与膝盖相关联的关节的定位。
此外,这种分成多个组(如图4所示)使得能够推断可用于精确蒙皮以及动画化3D模型的骨骼结构。
在下文中,参考图5描述基于两个或两个以上不同父模型的定制的化身数据模型。
图5:定制的化身数据模型
图5是根据一些实施方式的定制的化身数据模型的示例可视化的示意图。示例可视化包括身体笼500,身体笼500具有来自第一父模型的头部502、颈部506、躯干和腿504,以及来自第二父模型的手臂508、510、手509、511。
因为所示的每个手臂508、510来自不同于头部、颈部、躯干、和腿的父模型,所以模型中现有的骨骼结构无法实现合适的蒙皮。因此,对用户来说,基于这些不匹配的部位的任何蒙皮变形可能看起来陌生或不自然。然而,基于本文描述的技术,可以通过首先生成不同身体部位的图表示推断出新的骨骼结构。图6示出了示例图表示的图。
图6:定制的化身数据模型的示例图表示
图6是根据一些实施方式的化身数据模型的示例图表示600的图。如图所示,图600包括根据相应的身体部位标记的多个节点。在一些实施方式中,每个图表示将具有与身体部位数量相等的节点数量。在该示例中,根据定制模型500分析15个身体部位。
每个身体部位可以具有延伸至另一身体部位的至少一个相关联的边。图表示600中的边标记为602、604、606、608、610、612、614、616、618、620、624、626、和628。在这个示例中,每个边对应特定的关节放置。因此,每个边602至628可以具有与该边相关联的关节。类似地,包括两个或两个以上边的每个节点之间可以推断出一个或多个虚拟骨骼。通过这种方式,关节可以放置在边602至628,并且虚拟骨骼可以放置在与非远端节点大致协调的位置。此外,可以基于定制的化身数据模型和相关联的身体部位缩放虚拟骨骼。例如,图7示出了基于定制的数据模型500的示例推断的骨骼结构。
图7:示例推断的骨骼结构
图7是根据一些实施方式的基于输入的定制化身数据模型的示例推断的骨骼结构的示意图。推断的骨骼结构700可以包括与化身数据模型500的终端部分相关联的一个或多个远端关节702,以及与化身数据模型500的非终端部分相关联的一个或多个内部关节704。
如进一步所示,在该示例中可以推断出细长的颈骨706,以对应输入模型500的细长的颈部506(为清晰起见,在相邻视图中示出)。此外,在该示例中可以推断出细长的下臂骨骼708和710,以对应来自第二父模型的细长的下臂508、510。
因此,虽然化身数据模型500是使用来自不同父模型的不同身体部位创建的,但是推断的骨骼结构700可以是能在动画期间实现具有精确蒙皮和蒙皮变形的平滑动画的合适的骨骼结构。
在下文中,参考图8给出了从输入的定制化身数据模型生成实用3D资产的示例方法的详细描述。
图8:从定制的输入模型生成实用3D资产的方法
图8是根据一些实施方式的从输入的化身数据模型生成实用3D资产的示例方法的流程图。
在一些实施方式中,方法800可以例如,在参考图1描述的服务器102上实现。在一些实施方式中,方法800中的一些或全部可以在如图1所示的一个或多个客户端设备110、在一个或多个开发者设备(未示出)、或者在一个或多个服务器设备102、和/或在开发者设备、服务器设备、和客户端设备的组合上实现。在所描述的示例中,实施系统包括一个或多个数字处理器或处理电路(“处理器”),以及一个或多个存储设备(例如,数据存储区108或其他存储器)。在一些实施方式中,一个或多个服务器和/或客户端的不同组件可以执行方法800的不同框或其他部分。在一些示例中,第一设备被描述为方法800的执行框。一些实施方式可以具有由可以向第一设备发送结果或数据的一个或多个其他设备(例如,其他客户端设备或服务器设备)执行的方法800的一个或多个框。
在一些实施方式中,方法800或方法的一部分可以由系统自动启动。在一些实施方式中,实施系统是第一设备。例如,该方法(或其部分)可以周期性地执行,或者基于一个或多个特定事件或条件执行,例如,基于用户请求、基于化身尺寸的变化、基于化身身体部件的变化、自上一次对特定化身模型或用户执行方法800以来预定时间段已到期、和/或可以在该方法读取的设置中指定的一个或多个其他条件发生时执行。
方法800可以从框802开始。在框802,可以接收3D化身的化身数据模型。化身数据模型至少包括来自第一父模型的第一身体部位以及来自第二父模型的第二身体部位。
在这个示例中,第一父模型和第二父模型是不同的3D模型。需要注意的是在一些实施方式中,第一父模型和第二父模型可以是具有不同比例的相同3D模型(例如,更大的手臂或更长的脖子,但是来自相同的模型)。在一些实施方式中,化身数据模型可以具有来自多个不同的3D模型的部位。
可以基于实施方式选择不同模型的数量上限。例如,如果使用具有人形外观的化身,则不同父模型的上限可以选择为15个。不同外观的化身(例如,外星人、机器人、动物等)可能具有不同的身体部位数量上限。框802之后可以是框804。
在框804,可以创建化身数据模型的图表示。例如,图表示可以从化身数据模型的选定根点(例如,头部、左脚、右手等)开始,并延伸至化身数据模型的终端部分(例如,左/右脚、左/右手、头部等)。
在一些实施方式中,图表示是加权图,该加权图具有基于化身数据模型的单个身体部位的比例分配给边的权重。在这个示例中,单个身体部位的比例可以帮助推断底层骨骼结构。框804之后可以是框806。
在框806,可以遍历图表示以确定多个关节位置。在一些实施方式中,遍历图表示包括以下中的一个或多个:深度优先搜索或广度优先搜索。其他搜索或树遍历方法也可以适用。
在一些实施方式中,关节位置表示要放置关节的位置。此外,可以基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接确定关节位置。框806之后可以是框808。
在框808,可以推断多个关节位置之间的骨骼结构。推断可以是,对于不同的关节,骨骼部分在第一关节和第二关节之间延伸,并且该骨骼部分随着第一关节和第二关节中的一个或两个关节的运动而旋转。在一些实施方式中,骨骼部分是在至少两个关节之间延伸的虚拟骨骼。框808之后可以是框810。
在框810,组合多个关节位置中的每个位置的关节、推断的骨骼结构、以及化身数据模型,以创建实用3D资产。例如,可以将推断的骨骼结构和关节的数据表示与化身数据模型进行组合,使得整个模型可以在动画中使用。框810之后可以是框812。
在框812,可以在虚拟环境中渲染实用3D资产。可以在虚拟环境内对实用3D资产进行动画化,例如,化身可以运动(例如,行走、奔跑、跳跃等);化身的身体部位可以运动(例如,挥手、踢腿、抬起手臂、转动颈部等)。此外,在一些实施方式中,实用3D资产可以存储在在线平台100,供多个用户使用。
如上所述,实施方式涉及用于推断骨骼结构以创建实用3D资产的方法、系统、以及计算机可读介质。用户可以使用来自不同父模型的不同部位创建化身。在创建时,检查化身的数据模型以确定关节放置并推断整体骨骼结构。此后,在动画期间,可以使用不同的蒙皮技术基于关节放置和运动对化身皮肤进行变形。可以通过可由多个用户访问的在线虚拟体验平台存储、呈现、以及渲染实用3D资产。
图9:计算设备
在下文中,参考图9提供可用于实现图1所示的不同设备和/或组件的各种计算设备的更详细描述。
图9是根据一些实施方式的示例计算设备900的框图,示例计算设备900可用于实现本文描述的一个或多个特征。在一个示例中,设备900可以用于实现计算机设备(例如,图1的102、110),并且执行本文描述的合适的操作。计算设备900可以是任何合适的计算机系统、服务器、或其他电子或硬件设备。例如,计算设备900可以是大型计算机、台式计算机、工作站、便携式计算机、或电子设备(便携式设备、移动设备、蜂窝电话、智能电话、平板电脑、电视、电视机顶盒、个人数字助理(personal digital assistant,PDA)、媒体播放器、游戏设备、可穿戴设备等)。在一些实施方式中,设备900包括处理器902、存储器904、输入/输出(input/output,I/O)接口906、以及音频/视频的输入/输出设备914(例如,显示屏、触摸屏、显示护目镜或眼镜、音频扬声器、耳机、麦克风等)。
处理器902可以是一个或多个处理器和/或处理电路,以执行程序代码并控制设备900的基本操作。“处理器”包括处理数据、信号、或其他信息的任何合适的硬件和/或软件系统、机制或组件。处理器可以包括具有通用中央处理器(central processing unit,CPU)、多个处理单元、用于实现功能的专用电路、或其他系统的系统。处理不必限制于特定的地理位置,也不具有时间限制。例如,处理器可以以“实时”、“离线”、“批处理模式”等方式执行其功能。处理的部分可以由不同的(或相同的)处理系统在不同时间和不同位置执行。计算机可以是与存储器通信的任何处理器。
存储器904通常设置在设备900中以供处理器902访问,并且可以是任何合适的处理器可读存储介质,例如,随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、电可擦除只读存储器(electrical erasable read-onlymemory,EEPROM)、闪存等,存储器904适用于存储供处理器执行的指令,并且与处理器902分离和/或与处理器902集成。存储器904可以存储由处理器902在服务器设备900上操作的软件,包括操作系统908、软件应用910、以及相关联的数据912。在一些实施方式中,应用910可以包括使处理器902能够执行本文描述的功能的指令。软件应用910可以包括为实用3D资产建模组件以及推断3D骨骼结构所需的一些或全部功能。在一些实施方式中,软件应用910的一个或多个部分可以在诸如专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、现场可编程门阵列(field-programmable gate array,FPGA)、机器学习处理器等专用硬件中实现。在一些实施方式中,软件应用910的一个或多个部分可以在诸如中央处理单元(central processing unit,CPU)或图形处理单元(graphics processing unit,GPU)的通用处理器中实现。在各种实施方式中,专用和/或通用处理硬件的合适组合可用于实现软件应用910。
例如,存储在存储器904中的软件应用910可以包括用于检索用户数据、用于显示/呈现具有推断的骨骼结构的化身、和/或其他功能或软件例如,建模组件130、VE引擎104、和/或VE应用112的指令。存储器904中的任何软件可以替换地被存储在任何其他合适的存储位置或计算机可读介质上。此外,存储器904(和/或其他连接的存储设备)可以存储在本文描述的特征中使用的指令和数据。存储器904和任何其他类型的存储器(磁盘、光盘、磁带、或其他有形介质)可以认为是“存储器”或“存储设备”。
I/O接口906可以提供使服务器设备900能够与其它系统和设备接口化的功能。例如,网络通信设备、存储设备(例如,存储器和/或数据存储区106)、以及输入/输出设备可以经由接口906通信。在一些实施方式中,I/O接口可以连接到包括输入设备(键盘、指向设备、触摸屏、麦克风、相机、扫描仪等)和/或输出设备(显示设备、扬声器设备、打印机、电机等)的接口设备。
为了便于说明,图9对处理器902、存储器904、I/O接口906、软件块908和910、以及数据库912中的每一个示出了一个框。这些框可以表示一个或多个处理器或处理电路、操作系统、存储器、I/O接口、应用、和/或软件模块。在其他实施方式中,设备900可以不具有所示的所有组件和/或可以具有包括替换本文所示的元件或除了本文所示的元件之外的其他类型的元件。虽然在线服务器102被描述为执行如本文的一些实施方式中所描述的操作,但是在线服务器102或类似系统的任何合适的组件或组件的组合,或者与这样的系统相关联的任何合适的一个或多个处理器可以执行所描述的操作。
用户设备还可以实现和/或与本文描述的特征一起使用。示例用户设备可以是包括一些与设备900类似的组件的计算机设备,例如处理器902、存储器904、以及I/O接口906。适合于客户端设备的操作系统、软件和应用可以在存储器中提供并由处理器使用。用于客户端设备的I/O接口可以连接到网络通信设备以及输入和输出设备,例如,用于捕获声音的麦克风、用于捕获图像或视频的相机、用于输出声音的音频扬声器设备、用于输出图像或视频的显示设备、或其他输出设备。例如,音频/视频输入/输出设备914内的显示设备可以连接到(或包括在)设备900中以显示如本文描述的预处理和后处理的图像,其中,这种显示设备可以包括任何合适的显示设备,例如LCD、LED、或等离子显示屏、CRT、电视、监视器、触摸屏、3-D显示屏、投影仪、或其他视觉显示设备。一些实施方式可以提供音频输出设备,例如,语音输出或阅读文本的合成音。
本文描述的方法、框、和/或操作可以以不同于所示出或描述的顺序执行,和/或在合适的情况下与其他框或操作同时(部分或完全)执行。可以对数据的一部分执行一些框或操作,然后例如,对数据的另一部分,再次执行上述框或操作。在各种实施方式中,不一定需要执行所有描述的框和操作。在一些实施方式中,可以在方法中以不同的顺序和/或在不同的时间多次执行框和操作。
在一些实施方式中,可以在诸如一个或多个客户端设备的系统上实现一些或所有方法。在一些实施方式中,本文描述的一种或多种方法可以例如,在服务器系统上和/或在服务器系统和客户机系统上实施。在一些实施方式中,一个或多个服务器和/或客户端的不同组件可以执行方法的不同模块、操作、或其他部分。
本文描述的一种或多种方法(例如,方法300和/或800)可以由可在计算机上执行的计算机程序指令或代码来实现。例如,代码可以由一个或多个数字处理器(例如,微处理器或其他处理电路)实现,并且可以存储在包括非暂时性计算机可读介质(例如,存储介质)的计算机程序产品上,例如磁性、光学、电磁、或半导体存储介质,包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、刚性磁盘、光盘、固态存储驱动器等。程序指令还可以包含在电子信号中并作为该电子信号提供,例如以从服务器(例如,分布式系统和/或云计算系统)交付的软件即服务(software as aservice,SaaS)的形式。可替换地,一种或多种方法可以在硬件(逻辑门等)或硬件和软件的组合中实现。示例硬件可以是可编程处理器(例如,现场可编程门阵列(field-programmable gate array,FPGA)、复杂可编程逻辑器件)、通用处理器、图形处理器、专用集成电路(application specific integrated circuit,ASIC)等。一种或多种方法可以作为在系统上运行的应用的一部分或组件来执行,或者作为与其他应用和操作系统一起运行的应用或软件来执行。
本文描述的一种或多种方法可以在能在任何类型的计算设备上运行的独立程序、在网络浏览器上执行的程序、在移动计算设备(例如,手机、智能手机、平板电脑、可穿戴设备(手表、臂章、首饰、头饰、护目镜、眼镜等)、笔记本电脑等)上运行的移动应用(“app”)中运行。在一个示例中,可以使用客户端/服务器架构,例如,移动计算设备(作为客户端设备)发送用户输入数据到服务器设备并从服务器接收实时反馈数据以用于输出(例如,用于显示)。在另一示例中,可以在移动计算设备和一个或多个服务器设备之间拆分计算。
在本文讨论的某些实施方式可以获得或使用用户数据(例如,用户人口统计、用户行为数据、用户上下文数据、广告的用户设置等)的情况下,向用户提供控制是否收集、存储或使用此类信息以及如何收集、存储或使用此类信息的选项。也就是说,本文讨论的实施方式在接收到明确的用户授权并符合适用的法规时收集、存储和/或使用用户信息。
向用户提供对程序或特征是否收集关于该特定用户或其他用户与该程序或特征相关的用户信息的控制。向要为其收集信息的每个用户呈现选项(例如,通过用户界面),以允许用户对与该用户相关的信息收集施加控制,提供关于是否收集信息以及关于将收集信息的哪些部分的许可或授权。此外,某些数据可以在被存储或使用之前以一种或多种方式修改,使得个人识别信息被移除。作为一个示例,可以修改用户的身份(例如,通过使用假名、数值等进行替换)使得不能确定个人可识别信息。在另一示例中,用户的地理位置可以推广到更大的区域(例如,城市、邮政编码、州、国家等)。
尽管本描述已经针对特定实施方式进行了描述,但是这些特定实施方式只是说明性的,而不是限制性的。示例中说明的概念可以应用于其他示例和实施方式。
注意,本公开中描述的功能框、操作、特征、方法、设备和系统可以被集成或被划分为本领域的技术人员公知的系统、设备和功能框的不同组合。可以使用任何合适的编程语言和编程技术来实现特定实施方式的例程。可以采用不同的编程技术,例如,程序性的或面向对象的。该例程可以在单个处理设备或多个处理器上执行。尽管以特定的顺序呈现步骤、操作或计算,但在不同的特定实施方式中可以改变该顺序。在一些实施方式中,本说明书中示出为顺序执行的多个步骤或操作可以同时执行。

Claims (20)

1.一种计算机实现的方法,包括:
接收三维(3D)化身的化身数据模型,所述化身数据模型至少包括来自第一父模型的第一身体部位以及来自第二父模型的第二身体部位,其中,所述第一父模型和所述第二父模型是不同的3D模型;
创建所述化身数据模型的图表示,其中,所述图表示从所述化身数据模型的选定根点开始,并延伸至所述化身数据模型的终端部分;
遍历所述图表示以确定多个关节位置,其中,每个所述关节位置表示要放置关节的相应位置,并且其中,所述关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;
推断所述多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且所述骨骼部分随着所述第一关节和所述第二关节中的一个或两个关节的运动而旋转;以及
组合所述多个关节位置中的每个位置的关节、推断的所述骨骼结构、以及所述化身数据模型,以创建实用3D资产。
2.根据权利要求1所述的计算机实现的方法,还包括:
在虚拟体验的虚拟环境中对所述实用3D资产进行动画化。
3.根据权利要求2所述的计算机实现的方法,其中,对所述实用3D资产进行动画化包括在所述实用3D资产的动画期间利用推断的所述骨骼结构进行皮肤变形。
4.根据权利要求1所述的计算机实现的方法,其中,所述图表示包括多个节点,所述多个节点表示所述化身数据模型的各个身体部位。
5.根据权利要求4所述的计算机实现的方法,其中,所述图表示还包括多个边,其中,所述多个边中的每个边在至少两个节点之间延伸,并且其中,所述多个边中的每个边表示关节位置。
6.根据权利要求1所述的计算机实现的方法,其中,在所述多个关节位置组合的每个关节包括动画关节或固定关节。
7.根据权利要求1所述的计算机实现的方法,还包括至少基于推断的所述骨骼结构,对所述实用3D资产进行蒙皮。
8.根据权利要求1所述的计算机实现的方法,其中,遍历所述图表示包括以下中的一个或多个:深度优先搜索或广度优先搜索。
9.根据权利要求1所述的计算机实现的方法,其中,所述图表示包括加权图,所述加权图具有基于所述化身数据模型的各个身体部位的比例分配给边的权重。
10.根据权利要求1所述的计算机实现的方法,其中,一个或多个所述第一父模型或所述第二父模型是虚拟体验平台的用户生成内容。
11.一种系统,包括:
存储器,所述存储器上存储有指令;以及
处理设备,所述处理设备耦合到所述存储器并且可访问所述存储器,其中,当被所述处理设备执行时,所述指令使得所述处理设备执行包括以下的操作:
接收三维(3D)化身的化身数据模型,所述化身数据模型包括至少来自第一父模型的第一身体部位,以及来自第二父模型的第二身体部位,其中,所述第一父模型和所述第二父模型是不同的3D模型;
创建所述化身数据模型的图表示,其中,所述图表示从所述化身数据模型的选定根点开始,并延伸至所述化身数据模型的终端部分;
遍历所述图表示以确定多个关节位置,其中,每个所述关节位置表示要放置关节的相应位置,并且其中,所述关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;
推断所述多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且所述骨骼部分随着所述第一关节和所述第二关节中的一个或两个关节的运动而旋转;以及
组合所述多个关节位置中的每个位置的关节、推断的所述骨骼结构、以及所述化身数据模型,以创建实用3D资产。
12.根据权利要求11所述的系统,其中,所述操作还包括在虚拟体验的虚拟环境中对所述实用3D资产进行动画化。
13.根据权利要求12所述的系统,其中,对所述实用3D资产进行动画化包括在所述实用3D资产的动画期间利用推断的所述骨骼结构进行皮肤变形。
14.根据权利要求11所述的系统,其中,所述图表示包括多个节点,所述多个节点表示所述化身数据模型的各个身体部位。
15.根据权利要求14所述的系统,其中,所述图表示还包括多个边,其中,所述多个边中的每个边在至少两个节点之间延伸,并且其中,所述多个边中的每个边表示关节位置。
16.根据权利要求11所述的系统,其中,在所述多个关节位置组合的每个关节包括动画关节或固定关节。
17.根据权利要求11所述的系统,其中,所述操作还包括至少基于推断的所述骨骼结构,对所述实用3D资产进行蒙皮。
18.根据权利要求11所述的系统,其中,遍历所述图表示包括以下中的一个或多个:深度优先搜索或广度优先搜索。
19.根据权利要求11所述的系统,其中,所述图表示包括加权图,所述加权图具有基于所述化身数据模型的各个身体部位的比例分配给边的权重。
20.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有指令,响应于被处理设备执行,所述指令使得所述处理设备执行包括以下的操作:
接收三维(3D)化身的化身数据模型,所述化身数据模型包括至少来自第一父模型的第一身体部位,以及来自第二父模型的第二身体部位,其中,所述第一父模型和所述第二父模型是不同的3D模型;
创建所述化身数据模型的图表示,其中,所述图表示从所述化身数据模型的选定根点开始,并延伸至所述化身数据模型的终端部分;
遍历所述图表示以确定多个关节位置,其中,每个所述关节位置表示要放置关节的相应位置,并且其中,所述关节位置是基于不同的身体部位的交叉点、不同的身体部位的描述、或不同的身体部位之间的连接而确定的;
推断所述多个关节位置之间的骨骼结构,使得对于所有关节,骨骼部分在第一关节和第二关节之间延伸,并且骨骼部分随着所述第一关节和所述第二关节中的一个或两个关节的运动而旋转;以及
组合所述多个关节位置中的每个位置的关节、推断的所述骨骼结构、以及所述化身数据模型,以创建实用3D资产。
CN202280068575.XA 2021-10-14 2022-10-13 实用3d资产的推断的骨骼结构 Pending CN118160008A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/255,489 2021-10-14
US202263404871P 2022-09-08 2022-09-08
US63/404,871 2022-09-08
PCT/US2022/046528 WO2023064441A1 (en) 2021-10-14 2022-10-13 Inferred skeletal structure for practical 3d assets

Publications (1)

Publication Number Publication Date
CN118160008A true CN118160008A (zh) 2024-06-07

Family

ID=91289044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280068575.XA Pending CN118160008A (zh) 2021-10-14 2022-10-13 实用3d资产的推断的骨骼结构

Country Status (1)

Country Link
CN (1) CN118160008A (zh)

Similar Documents

Publication Publication Date Title
US11741668B2 (en) Template based generation of 3D object meshes from 2D images
US11836843B2 (en) Enhanced pose generation based on conditional modeling of inverse kinematics
US11992768B2 (en) Enhanced pose generation based on generative modeling
US11514638B2 (en) 3D asset generation from 2D images
US20230177755A1 (en) Predicting facial expressions using character motion states
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
KR20210142200A (ko) 애니메이팅된 캐릭터의 수정
JP2024513001A (ja) 顔の表情を取り込んでメッシュデータを生成するための人工知能
US20230267668A1 (en) Joint twist generation for animation
US20230120883A1 (en) Inferred skeletal structure for practical 3d assets
CN111739134B (zh) 虚拟角色的模型处理方法、装置及可读存储介质
Papaefthymiou et al. Gamified AR/VR character rendering and animation-enabling technologies
CN115908664B (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
US20220172431A1 (en) Simulated face generation for rendering 3-d models of people that do not exist
CN118160008A (zh) 实用3d资产的推断的骨骼结构
Skulimowski et al. Design and optimisation methods for interactive mobile VR visualisation
Stamoulias et al. Enhancing X3DOM declarative 3D with rigid body physics support
US20240135616A1 (en) Automated system for generation of facial animation rigs
Schmitz et al. Interactive pose and shape editing with simple sketches from different viewing angles
An Automatic 2.5 d cartoon modelling
US20240233230A9 (en) Automated system for generation of facial animation rigs
TWI814318B (zh) 用於使用模擬角色訓練模型以用於將遊戲角色之臉部表情製成動畫之方法以及用於使用三維(3d)影像擷取來產生遊戲角色之臉部表情之標籤值之方法
US11769297B2 (en) Simulation of rigid bodies
US11957976B2 (en) Predicting the appearance of deformable objects in video games
Rajendran Understanding the Desired Approach for Animating Procedurally

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination