CN112219229B - 优化的头像资产资源 - Google Patents

优化的头像资产资源 Download PDF

Info

Publication number
CN112219229B
CN112219229B CN201980036804.8A CN201980036804A CN112219229B CN 112219229 B CN112219229 B CN 112219229B CN 201980036804 A CN201980036804 A CN 201980036804A CN 112219229 B CN112219229 B CN 112219229B
Authority
CN
China
Prior art keywords
asset
shapes
hybrid
assets
avatar
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.)
Active
Application number
CN201980036804.8A
Other languages
English (en)
Other versions
CN112219229A (zh
Inventor
N·V·斯卡普尔
A·R·莫哈
G·P·巴里尔
T·古森斯
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN112219229A publication Critical patent/CN112219229A/zh
Application granted granted Critical
Publication of CN112219229B publication Critical patent/CN112219229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了用于定制头部的3D头像的多种定制选项。该头部的特征和对应于这些特征的资产可使用混合形状来定制。通过确定可重复用于多个不同资产的重叠混合形状,使用于所述多种混合形状的存储量最小化。此外,提供了用于根据所选择的特征和资产对头像进行动态改变的技术。

Description

优化的头像资产资源
相关申请的交叉引用
本申请要求2018年6月3日提交的美国临时申请62/679875号、2019年2月22日提交的美国专利申请16/283610号、以及2019年2月22日提交的美国专利申请16/283614号的权益和优先权;这三个申请中的每个申请都以引用方式全文并入本文用于所有目的。
技术领域
本公开整体涉及减少在移动设备上创建头像所需的资源的量。具体地讲,本公开涉及创建用于创建头像的各种选项,同时最小化在移动设备上使用的存储器和运行时资源的量。
背景技术
移动设备的用户可能希望创建头像。头像可以是人、动物或物体的表示。头像可以由用户根据需要定制。用户想要具有用于定制头像的各种选项。然而,随着用于定制头像的选项数量的增加,存储和提供选项所需的存储器的量增加。使所有定制选项持续可用会消耗移动设备的资源。移动设备可具有有限的存储器和处理容量。此外,随着定制选项的数量增加,加载、改变和显示头像选项所需的时间量也增加。这可导致修改和更新头像的延迟。加载和提供定制选项的延迟也可能减损用户体验。
因此,期望向用户提供各种头像定制选项,同时消耗移动设备最小的资源,诸如存储器空间和处理时间。此外,希望向用户快速提供用于定制头像的各种选项,而不拖慢移动设备并且因此提供增强的用户体验。
发明内容
示例性实施方案提供了用于优化头像资产资源的技术。具体地讲,在示例性实施方案中,可以创建使所需存储和处理的量最小化的头像。
示例性实施方案提供了一种用于优化资产资源的方法。根据一个示例性实施方案,移动设备可被配置为存储用于头像的多个特征的多个资产以及与所述多个资产相对应的多种混合形状。可存储用户最频繁使用的多个特征。最频繁使用的特征可基于用户与头像应用程序交互的历史。用户可在移动设备的用户界面上输入期望的特征。移动设备可接收用户从可由用户定制的多个特征中选择的第一特征。移动设备可识别对应于第一特征的第一组多个资产。移动设备可接收对与第一特征相对应的第一组多个资产中的第一资产的选择,并且可识别对应于从与第一特征相对应的第一组多个资产中选择的第一资产的第一组多种混合形状。
移动设备还可以接收对与第一特征相对应的第一组多个资产中的第二资产的选择,并且可识别对应于从与第一特征相对应的第一组多个资产中选择的第二资产的第二组多种混合形状。用于第一资产的第一组多种混合形状中的一种或多种混合形状可与用于第二资产的第二组多种混合形状中的一种或多种混合形状重叠。因此,相同的混合形状可重复用于多个资产。
根据另一个示例性实施方案,用户可以输入头像的期望发型。用户界面可以接收对用于头部的头像的第一发型的选择。可确定头部的头像上的第一组区,第一发型定位在该第一组区上。第一组区可选自可为头像定义发型的多个可能的区。可识别用于第一发型的第一组区中的每一个区的混合形状的第一集合。混合形状的第一集合可与不同的移动方向相关。可以接收头像的头部的第一移动信息,并且可以使用第一移动信息来模拟第一发型的第一移动。模拟可由模拟引擎执行,该模拟引擎基于第一移动信息来确定每个混合形状的第一集合的线性组合。
移动设备还可以接收用户想要应用于头像的第二发型。移动设备的用户界面可以接收对用于头部的头像的第二发型的选择。可确定头部的头像上的第二组区,第二发型定位在该第二组区上。第二组区可选自可为头像定义发型的多个可能的区。第二组区可包括在第一组区中的第一部分和不在第一组区中的第二部分。可识别用于第二发型的混合形状的第二集合。混合形状的第二集合可对应于第二组区并且与不同的移动方向相关。可以接收头像的头部的第二移动信息,并且模拟引擎可以使用第二移动信息来模拟第二发型的第二移动。
其他实施方案涉及与本文所述的方法相关联的系统、便携式消费设备和计算机可读介质。
参考以下具体实施方式和附图,可获得对示例性实施方案实质和优点的更好理解。
附图说明
通过以下结合附图的详细描述,将容易理解本公开,其中类似的参考标号指代类似的元件,并且其中:
图1A至图1H示出了根据一些示例性实施方案的用于创建和定制头像的示例性用户界面。
图2A、图2B、图2C和图2D示出了根据一些示例性实施方案的头部的3D头像上的网格。
图3示出了根据一些示例性实施方案的用于资产的配置文件。
图4是根据一些示例性实施方案的用于优化资产资源的存储的方法的概述。
图5是根据一些示例性实施方案的用于优化资产资源的方法的概述。
图6示出了根据一些示例性实施方案的发型的配置文件。
图7示出了根据一些实施方案的示例性设备的框图。
图8示出了根据一些示例性实施方案的资产和重叠混合形状的简化图。
图9示出了根据一些示例性实施方案的混合形状存储和检索的概览。
图10示出了根据一些示例性实施方案的用于模拟头发移动的方法。
图11A至图11D示出了根据一些示例性实施方案的重叠混合形状。
图12A至图12E示出了根据一些示例性实施方案的校正值。
图13A和图13B示出了根据一些示例性实施方案的模型交换。
图14A至图14E示出了根据一些示例性实施方案的头发在区内的移动。
图15示出了根据一些示例性实施方案的用于生成合成纹理的方法的流程图。
图16示出了根据一些示例性实施方案的用于几何形状的高效高速缓存的方法。
具体实施方式
在以下描述中,出于解释的目的陈述具体细节以便提供对示例性实施方案的透彻理解。但是将显而易见的是,可在没有这些具体细节的情况下实践各种实施例。例如,电路、系统、算法、结构、技术、网络、过程和其他部件可以框图形式示出为部件,以免不必要的细节模糊实施方案。附图和说明并非旨在进行限制。
I.用户界面
用户可能期望创建头像。头像可以是人(诸如用户、动物或物体)的三维(3D)表示。头像可以是部分表示(例如,头部的表示),并且头像可以是完整表示(例如,整个身体)。
在所述示例中,头像是三维头部的头像。然而,实施方案的各方面可应用于不限于头部的头像。3D头像可以提供人或动物的更真实的表示。在整个说明书中,3D头像也可以被称为头像的头部或3D头部。3D头像也可以被称为3D表情符号或3D动画表情符号。来自成像设备的运动捕获可用于创建动画。
3D头像可通过头像应用程序创建。头像应用程序可以由用户下载到他们的移动设备或头像应用程序,并且可以在制造移动设备时安装到移动设备中。应用程序可专用于生成头像,或者应用程序可包括用于生成头像的选项(例如,游戏应用程序)。应用程序可由用户下载并且存储在移动设备上,或者应用程序可预安装在移动设备上。移动设备可以是例如移动电话、智能手表或平板电脑。
当选择应用程序时,可以向用户提供用于生成头像的用户界面。图1A至图1H示出了根据一些示例性实施方案的用于创建和定制头像的示例性用户界面。
图1A示出了显示可由用户定制的头像的选项的用户界面110。如图1A所示,头像可用于表示人、动物和/或物体。头像可以是真实表示或者可以是卡通状表示,诸如表情符号。如图1A所示,头像可被引导至人(诸如男人或女人)以及如图中所描绘出的事物。这些仅仅是示例,并且头像可涉及各种其他动物、物体或事物。
如图1B所示,用户可定制头像头部的各个方面。例如,用户可定制特征。特征可以指可定制的一般类别的项目。头像的头部上的特征可包括头像的面部形状、头发、眼睛、鼻子、耳朵、嘴部和下巴。特征中的每一个特征可包括可定制的选项的子类别。例如,可存在不同的面部表情、嘴部表情、眼部表情、配饰、发型等。每个特征的子类别可称为资产。在一些情况下,资产也可以被视为特征并且特征也可以被视为资产。
图1B示出了基于所选择的面部形状在头像前方进行显示的用户界面120。如图1C和图1D所示,可定制头发纹理、样式和颜色。图1C示出了包括具有较浅头发颜色的头像的用户界面130。图1D示出了包括具有较深头发颜色的头像的用户界面140。对资产的选择可通过使用例如滑动条来控制。当用户从左到右滑动该条时,头发颜色可变化。尽管公开了滑动条,但可通过滑动条之外的方法来控制和选择对资产的选择。
头部的另一个特征是纹理。图1C和图1D示出了不同的头发纹理(例如,平坦的、波状的、卷曲的)。纹理可包括放置在头像的头部上以指示纹理的平坦图像。该平坦图像可为贴花或贴纸。
图1E示出了包括可以在头像上定制的嘴部的用户界面150。如图1E所示,“唇部微笑的嘴部形状”151和“唇部闭合的嘴部形状”152可以是用于特征“嘴部”的资产。可以向用户提供若干不同的嘴部形状和尺寸以定制头像。
图1F示出了包括可以在头像上定制的配饰诸如耳环、帽子和眼镜、唇形的用户界面160。配饰可包括珠宝,诸如耳环和其他穿刺饰品、帽子和眼镜。配饰可包括可被添加到用户头部的其他项目。
图1G示出了包括头像的头部的侧视图的用户界面170。图1H示出了包括头像的头部的耳环位置的特写侧视图的用户界面180。如图1G和图1H所示,可提供特征的不同相机视图。因此,除了向用户提供可定制的各种特征部之外,这些特征部中的每一个特征还可以在不同的相机视图中提供。
如图1A至图1H所示,可定制各种特征并且可以动画方式显示各种特征。例如,嘴部可以动画方式显示为咳嗽、微笑、皱眉等。眼睛可以动画方式显示为眨眼、眨单眼、张开和闭合等。此外,嘴部动画可应用于各种尺寸和形状的嘴部,并且眼睛动画可应用于各种眼睛形状、尺寸和颜色。预先配置和设计对头像应用程序的用户可用的所有定制选项。定制选项可以由例如头像应用程序的用户或应用程序开发者配置和设计。
用户可能想要使用相机传感器来操纵头像的特征。当用户的物理特征和位置改变时,移动设备可以检测这些变化并且修改头像的显示图像以反映用户的物理特征和/或位置的变化。移动设备可检测在移动设备的一个或多个相机的视场中的面部变化。移动设备可基于所检测到的面部变化来改变头像的外观。可以为头像的特征配置混合形状,以便定制头像的移动和动画。混合形状可使面部移动的外观看起来平滑。基于所检测到的面部变化来改变头像的外观向用户提供用于控制对虚拟头像的修改而无需显示用户界面控制元素的选项。
II.混合形状
为了以动画方式显示头像上的特征,创建头部的骨架(rig)。骨架是头部的骨骼,该骨骼使得头部能够移动。在一个示例性实施方案中,可使用表示头部的单个通用骨架。通用骨架也可以被称为通用物理骨架。可将网格放置在头部上,使得头部的表面或皮肤可被修改。网格可包括用于塑造头像的一定数量的点。网格值也可以被称为用于头像的资产和特征的几何形状。因此,仅需要为表示头部的单个骨架生成所有定制选项(例如,特征和对应的资产)。使用相同的骨架,并且可触发不同的混合形状。
图2A和图2B示出了根据一些示例性实施方案的头部的3D头像上的网格。图2A示出了头部的3D头像上的网格201的前视图200,并且图2B示出了头部的3D头像上的网格201的后视图210。
网格可包括顶点阵列。为了创建动画,网格被变形以便产生动画的外观,并且网格的变形导致混合形状。网格的变形也可被称为改变、修改或以动画方式显示网格。
图2C和图2D示出了变形或改变的网格。如图2C所示,网格处于默认状态。嘴部周围区域中的网格位于位置251处。默认状态可以是面部的中性状态。如图2D所示,网格被变形以指示微笑。如图2D所示,网格在头像的嘴部周围的区域261中变形。混合形状用于指示嘴部周围的网格位置的变化。例如,图2D可以是包括与图2C所示的初始模型的偏移的混合形状。
面部可具有例如51个面部肌肉。肌肉中的每一个肌肉可对应于混合形状或动画变量。例如,微笑或眨眼可对应于面部肌肉。对应于肌肉的混合形状可被称为表情形状。每个动画变量可与单个混合形状相关联,然而,一些动画变量可与多种混合形状相关联,或者多个动画变量可对应于单个混合形状。混合形状的数量可根据面部变量或动画变量而变化。可改变多个动画变量以从资产的默认位置获得特定混合形状。
例如,对于眨眼动画,眨眼动画可针对张开的眼睛使用混合形状,针对闭合的眼睛使用另一种混合形状,并且针对部分闭合的眼睛(例如,中间点)使用一种或多种混合形状。相比于期望显示的资产的位置,将存在更少的形状(混合形状和默认形状)。例如,默认位置可对应于眼睛张开50%,并且混合形状对应于眼睛张开0%(完全闭合)和张开100%(完全张开),但仍然期望显示眼睛张开30%的头像。
为了能够渲染这些其他位置,可采用三种形状(默认形状和两种混合形状)的线性组合。模拟(动画)引擎可以接收(例如,来自动画文件或来自用户的运动捕获的输入的)将眼睛张开30%的输入,然后确定对这些形状中的每一种形状应该应用多大的权重来提供眼睛张开30%时应当看起来如何的良好近似。在30%的值的情况下,来自完全张开的混合形状的权重可能为0(例如,因为完全张开的混合形状在默认状态50%的另一方向上),但形状的变化可超过许多网格值。因此,包括完全张开的混合形状的一部分可提供对30%张开状态的更好近似。在一些实施方案中,特定形状的权重可介于0和1之间,并且可施加归一化过程使得最终权重增加至1。
眨眼动画中的每个位置均可近似于三种形状的不同线性组合。可执行内插以获得每个混合形状之间的形状。“在……之间”可涉及多于一个维度(例如,张开0%至100%的眼睛的输入),因此关于头像位置的输入可以是多维点,其中每个维度介于0和1之间(或其他范围)。然后,模拟引擎可以确定任何数量的混合形状的权重以渲染对应于多维输入位置的头像图像。因此,每个时刻的最终表情可以是混合形状的混合。
又如,为了创建微笑的嘴部的动画,嘴部周围的网格的顶点阵列可以从其处于中性状态的原始位置被移动至第二位置,在第二位置中,嘴角被部分地提升,并且被移动至第三位置,在第三位置中,嘴角被完全提升。从网格的初始中性位置到嘴角被部分提升的第二位置的变化可对应于一种混合形状。从嘴角被部分提升的第二位置到嘴角被完全提升的第三位置的变化可对应于另一种混合形状。
将需要大量存储器来存储用于每个特征的资产的所有选项的所有混合形状。然而,相同特征的不同资产的某些混合形状可以共享。例如,窄眼睛和宽眼睛可共享一些混合形状。又如,可共享嘴部形状和唇部的混合形状。可存在与嘴部表情形状重叠的形状。当唇部形状改变时(例如,当用户移动他们的嘴部时),唇部形状的变化可导致嘴部形状(例如,嘴部的外部形状)的变化。例如,嘴部形状上的唇部尺寸可能更宽。
图11A至图11D示出了根据一些示例性实施方案的重叠混合形状。如图11A所示,可存在用于头像的默认嘴部形状1110。默认形状也可以被称为默认基本形状。用户可能期望嘴部形状为微笑的嘴部形状1120,如图11B所示。微笑的嘴部形状可被称为表情形状,因为它传达了表情。微笑可包括左嘴角上扬的微笑或右嘴角上扬的微笑的表情形状。如图11C所示,变体1130可被添加到微笑的嘴部形状1120。变体是默认基本形状的改变。唇部变体可以改变嘴部的外部形状,并且可以是与嘴部表情形状重叠的形状。在图11C中,变体1130可为使嘴部更宽的变体。图11D示出了微笑的嘴部形状与变体组合的相加的结果1140。
因此,根据一些示例性实施方案,混合形状可重叠,而不是为每个资产产生单独的混合形状。可存在两种微笑形状,诸如左嘴角上扬的微笑形状和右嘴角上扬的微笑形状,以及可在左嘴角上扬的微笑形状和右嘴角上扬的微笑形状上重叠的六个唇部形状。代替具有十二(12)个单独的混合形状,六个唇部形状可为两个微笑形状的相加项。关于是否重复使用混合形状的确定可基于资产或特征的视觉外观或预期形状。例如,如果先前建立的混合形状不影响资产或特征的视觉外观或预期形状,则可重复使用混合形状。
此外,根据一些示例性实施方案,并非为每个特征的每个资产存储单独的混合形状,而是可识别某些混合形状以供重复使用,从而减少所需的存储器的量。此外,如果用户选择具有相同特征的新资产,则工作存储器中的现有混合形状中的一种或多种混合形状可保留在其中,因为它们将被重复用于以动画方式显示新资产。
图8示出了根据一些示例性实施方案的资产和重叠混合形状的简化图800。图8示出了与三维空间相关的第一资产的混合形状和第二资产的混合形状。在该示例中,特征的两个资产具有9种可能的混合形状。混合形状出现在配置(位置)空间中两个维度的不同位置处。例如,第一维度可对应于嘴部竖直张开的程度,并且第二维度可对应于嘴部水平张开的程度。
如图8所示,资产#1包括具有混合形状1-6的可能的混合形状的子集。资产#2包括可能的混合形状的子集,该子集包括混合形状4-9。对应于特定资产的混合形状可由开发者识别,并且被编码到模拟引擎中。因此,如果选择资产#1,则可使用资产#1(例如,特定的嘴部)的混合形状1-6和默认形状来渲染(例如,基于来自文件或来自运动捕获的位置)在任何时刻具有资产#1的头像的图像。并且,如果选择资产#2(例如,不同的嘴部),则可使用资产#2的混合形状4-9和默认形状来渲染在任何时刻具有资产#2的头像的图像。
在图8所示的示例中,混合形状4、5和6对于资产#1和资产#2是共用的。因此,并非复制混合形状,而是可在资产之间共享混合形状。在该示例中,存储要求将降低25%。可明智地选择共享的特定混合形状以平衡动画的存储器和视觉外观。并且,可在两个资产之间共享的混合形状的数量将取决于两个资产的默认外观彼此的相似程度。
在一些实施方案中,头像上的表情的变化可基于从头像应用程序的用户接收的面部输入。当用户的物理特征和位置改变时,移动设备可以检测这些变化并且修改头像的显示图像以反映用户的物理特征和/或位置的变化。表情的变化也可以由用户输入,并且可以不基于用户的物理特征和位置。例如,如果资产#1对应于“嘴部张开”并且资产#2对应于“嘴部闭合”,则混合形状1、2和3对于资产#1可以是唯一的,混合形状7、8和9对于资产#2可以是唯一的,并且混合形状4、5和6对于资产#1和资产#2是共用的。
此外,当塑造模型时,仅需要存储已移动的阵列顶点及其偏移以用于混合形状。偏移是顶点中的点的值从网格上的点的初始值到混合形状的新位置的变化。网格的变化可被存储为一系列顶点位置。可以针对一系列顶点位置内插顶点。例如,可以内插用于创建微笑移动的顶点。仅保存初始模型中的顶点的变化,并且不需要每次保存整个模型。
A.变体、中间形状和校正形状
示例性实施方案的混合形状可与变体、中间形状和校正形状兼容。变体、中间形状和校正形状均为形状数据的形式。头像的某些特征可以是包括变体的混合形状。变体可以是可改变默认基本形状的形状而不是表情形状。变体的示例可包括眼睛向上、眼睛向下等。又如,对于小鼻子,可存在被称为变体小鼻子的混合形状。可存储表示每个特征的不同变体的一组混合形状。可针对不同的鼻子、耳朵和眼睛尺寸存储一组变体。
校正形状也是混合形状的形式。可存在用户希望对混合形状进行调整的一些资产。例如,如果两个资产未正确地出现在一起,则可将校正形状应用于初始混合形状。校正形状为混合形状的形式,该混合形状为初始混合形状的附加偏移。校正形状为可不单独起作用的形状,并且可在其他形状的顶部上被激活以修正或调整否则将发生冲突的形状的组合。当调整初始混合形状时,创建校正形状。校正形状是初始混合形状的偏移。校正形状是初始网格的附加偏移。例如,可将校正形状应用于形状的最终组合,诸如颌部和嘴部或者眨眼和眼睛斜视。
例如,头像可被塑造成在微笑,并且还可以被塑造成开颌。也就是说,同时对两块肌肉进行塑造。然而,当这两者都应用于头像时,它们可能不会正确地出现。校正形状的混合值可取决于被校正的形状的组合。校正值可等于被校正的形状的最小值。例如,如果JawOpen为0.6并且MouthSmile为0.9,则相关联的校正值将为0.6,该值为被校正的形状的最小值。
图12A至图12E示出了根据一些示例性实施方案的校正值。可存在用于眨眼1210的混合形状,如图12A所示,以及用于眼睛斜视的混合形状1220,如图12B所示。每只眼睛可具有其自身的混合形状。因此,具有两只眼睛的头像对于每只眼睛可具有混合形状。眨眼和眼睛斜视混合形状的组合可产生损坏的结果1230,如图12C所示。如图12C所示,眨眼和眼睛斜视的组合形成混合形状看起来变形的区域1231。因此,眨眼和眼睛斜视不能在不进行修改的情况下组合。
如图12D所示,可使用校正形状1230来修正损坏的结果1230。如图12E所示,当校正形状1240被添加到损坏的结果1230时,可生成校正的变形1250,这是将校正形状1240应用于损坏的结果1230的结果。用户可确定可应用于损坏的结果的校正形状。多个不同的预先确定的校正形状选项可对用户可用。
校正形状可应用于微笑和/或颌部的混合形状。可通过将用户界面上的控制拨号盘调节到介于0和1之间的值来将校正形状应用于模型。值1可以是完整的校正形状,并且值0可以是校正形状的最小完整版本。例如,值1可以是对嘴部的校正,使得嘴部看起来完全张开,并且值0可以是对嘴部的校正,使得嘴部看起来是闭合的。
如果对第一资产(例如,微笑)进行修改,则可以确定存在对应于微笑的第二资产(例如,张开的颌部)。由于这些特征彼此对应,因此可计算第二资产(例如,张开的颌部)的校正形状。校正形状是第二资产(例如,张开的颌部)的混合形状的偏移。第二资产(例如,张开的颌部)可根据校正形状进行更新,并且可显示更新的第二资产。
还存在称为中间混合形状的混合形状,这些混合形状为作为中间混合形状的混合形状。中间形状可以是插值形状,顶点在到达相关父形状的端点之前将通过该插值形状。中间混合形状的示例可为部分张开的眼睛。
B.特征和资产的一致性
根据示例性实施方案,由于执行了对变化的实时跟踪,因此在头像上的特征和资产之间保持一致性。如果对一个特征或资产进行改变,则根据该改变更新头像上的其他特征的混合形状,使得头像看起来平衡。例如,如果头部的尺寸增大或减小(例如,将变体应用于混合形状),则可自动改变受头部尺寸变化影响的资产的混合形状。用户不需要单独调整每个特征和/或资产并且重建头部。
例如,如果对头部形状进行改变,诸如颌线的改变,则将更新受头部形状变化的影响的资产诸如头发,以便适应头部形状的变化。此外,还可以更新受头部形状的初始变化影响的任何附加资产。又如,如果对眼睛形状进行改变,诸如使眼睛形状向上或向下,则眼睛上的睫毛也可以根据新的眼睛形状进行更新。可更新睫毛以符合用于改变的眼睛的新眼睑的形状。可在视觉上确定哪些资产受到变化的影响,并且可相应地更新受影响的资产。
在确定需要调整哪些特征和/或资产时,移动设备确定正在应用哪些特征和/或资产。例如,如果头部的尺寸改变,则由于头部尺寸的改变,用户可用的所有资产都不会更新。相反,确定哪些资产正在被应用于头像,并且仅需要更新正在被应用的那些资产。因此,并非需要更新用于特征的所有资产,而是仅需要更新当前在头像上使用的用于特征的资产。
更新中的一致性也适用于动画。当存在面部动画时,还将更新受动画影响的所有资产,而不需要用户改变受动画影响的所有资产。
因此,示例性实施方案提供了用于增强用户体验的技术。
C.配置文件–混合形状
图3示出了根据一些示例性实施方案的用于资产的配置文件300。配置文件300可被存储在移动设备的存储器中。配置文件可指示特征、资产和混合形状彼此如何连接,以便使所消耗的存储器的量最小化。配置文件可以是XML文件。
移动设备可具有有限的存储器和/或处理容量。因此,如果所有选项都存储在移动设备的存储器中,则将消耗大量的存储器。根据一个示例性实施方案,可为资产中的每一个资产存储压缩文件。压缩文件可存储资产的3D几何形状和压缩的混合形状。由于数据以低分辨率存储,所以文件被压缩。
在存储混合形状时,存储表示初始混合形状的变化的Δ,而不是存储更新的混合形状的所有参数。仅存储已从默认模型移动的顶点(Δ值)。可以将表示从原始混合形状的变化的Δ值量化为介于0和1之间的值。即,Δ可与离散值相关联。
如图3所示,用于特征“眼睛”的文件包括用于不同资产的多个配置文件。配置文件可包括资产的几何形状信息或混合形状信息。资产(例如,左嘴角上扬的嘴部)将包括混合形状信息。资产(诸如,发型和眼镜)的配置文件可包括几何形状信息。
图3示出了资产眼睛的“眨眼形状”310和“眨单眼形状”320的配置文件。另一个示例可以是宽眼睛或小眼睛。在该示例中,配置文件中的眼睛是相同的并且涉及不同的表情。资产“眨眼”310的配置文件包括混合形状311以便创建资产。资产“眨眼”320的配置文件包括混合形状321以便创建资产。如图3所示,混合形状可重复用于不同的资产,并且不需要为不同的资产重新创建。
因此,根据示例性实施方案,优化了空间并且跨资产共享资源。不需要针对每个资产选项完全重建头像。此外,还通过使用统一的骨架使存储的信息量最小化。提供多个骨架可能非常难以储存和加载。因此,通过使用统一的骨架,使在运行时存储和加载的数据量最小化。
D.方法概述–混合形状
根据一些示例性实施方案,可通过优化资产资源来减少用于头像的存储器的量。图4是根据一些示例性实施方案的用于优化资产资源的存储的方法400的概述。
在步骤410处,移动设备识别与第一特征相对应的第一组多个资产中的第一资产。移动设备可基于用户输入(例如,选择特定的资产)来执行识别。多个资产可被定义为用于头部的通用骨架。所有特征和资产将根据单个通用骨架进行设计。当为头部的单个通用骨架定义资产时,这可最小化需要为每个定制选项存储的数据量。此外,将仅需要加载一个骨架来生成头像。
在步骤420处,移动设备获得与第一特征相对应的第一组多个资产中的第一资产的3D几何形状。3D几何形状可包括在3D空间中创建资产所需的网格信息。3D几何形状可包括x、y和z坐标信息。
在步骤430处,移动设备压缩第一资产的3D几何形状。可通过将3D几何形状滤波至较低分辨率来压缩3D几何形状。资产可处于压缩状态,使得它们将占据移动设备上的较少存储器空间。
在步骤440处,移动设备识别对应于从与第一特征相对应的第一组多个资产中选择的第一资产的第一组多种混合形状。可以为头像应用程序上可用的所有特征和资产创建混合形状。例如,动画器可针对特定资产的运动塑造混合形状。可选择多个位置进行塑造。进行塑造的位置的数量可基于优化过程而有所不同。优化过程可用于通过针对混合形状的不同选择的内插来确定位置的接近程度。优化过程也可用来确定可共享哪些混合形状。因此,优化过程可以为资产的运动提供足够的准确度。
在步骤450处,移动设备将对应于第一资产的第一组多种混合形状的偏移值存储在移动设备的存储器中。偏移是顶点中的点的值相对于网格上的点的初始值的变化。网格的变化可被存储为一系列顶点位置。仅保存初始模型中的顶点的变化,并且不需要每次保存整个模型。然后为每个资产创建压缩配置文件。
在为每个资产创建配置文件之后,资产可用于创建头像。图5是根据一些示例性实施方案的用于优化资产资源的方法500的概述。
在步骤510处,移动设备获得存储用于头像的多个特征的多个资产以及与多个资产相对应的多种混合形状。如图4所述储存多个资产和多种混合形状。头像的特征可对应于例如眼睛、鼻子、耳朵、嘴部。如果特征是眼睛,则与特征(例如,眼睛)相对应的资产可包括眼睛的尺寸、眼睛的形状等。一些资产可能仅需要单个混合形状。例如,张开的眼睛可能仅需要张开的眼睛的单个混合形状。然而,眨眼可能需要多种混合形状以便实现眨眼的视觉效果。因此,应用程序可被配置为存储多个不同的资产以及资产的混合形状。
在步骤520处,用户可选择用户想要定制的特征。用户可输入他们想要在移动设备的用户界面上定制的特征。例如,如图1E所示,用户可选择定制特征,诸如嘴部。
在步骤530处,移动设备上的处理器可识别对应于由用户选择的特征的资产。例如,移动设备可识别20个不同的嘴部选项可用。然后可将所识别的资产显示给用户,例如,如图1E所示。
在步骤540处,用户可选择对应于特征的第一资产。例如,如图1E所示,用户可选择用于嘴部诸如唇部的资产。如图1E所示,“嘴部微笑的嘴部形状”151是用于特征“嘴部”的资产。
在步骤550处,应用程序可识别对应于第一资产的混合形状。例如,如果第一资产为微笑的嘴部,则可存在被识别为对应于微笑的嘴部的第一资产的三种混合形状。这仅仅是一个示例,并且多于三种混合形状可对应于资产。混合形状对应于可如何以动画方式显示嘴部的不同移动位置。例如,一种混合形状可用于正在张开的嘴部,另一种混合形状可用于闭合状态(可能是紧闭的,具体取决于默认3D几何形状的定义方式)。其他混合形状可对应于各种其他移动,例如针对其他类型的特征,例如针对眼睛资产皱起的眉毛。
一旦识别出混合形状,它们就可以用于以动画方式显示头像。例如,如果用户张开她的嘴部,则头像的动画角色可以张开她的嘴部。成像传感器可使用被动或主动技术进行此类成像。被动技术使用环境光,如典型的相机那样。可分析相机图像的变化以确定嘴部的变化。主动技术可发射从用户的面部反射并且然后由传感器检测的光。例如,红外发射器阵列可发射反射并且由检测器阵列检测到的光束。可测量光的飞行时间,从而提供面部的深度图。可通过确定不反射光的嘴部的面积大于先前测量结果中的面积来检测嘴部的张开程度。
嘴部张开的变化程度可被转换成数值。例如,5mm的张开量可被转换成张开20%的嘴部。测量结果和百分比之间的精确对应可根据用户的面部(例如,基于用户嘴部的宽度)而变化。因此,对于另一个用户,3mm的张开量可对应于张开20%的嘴部。可对嘴部的宽度进行类似的测量,例如针对正在抿嘴的用户。
嘴部张开(或以其他方式改变,例如横向拉伸)的百分比可用于确定用于渲染头像的哪些混合形状具有类似于用户位置的位置。第一资产的最终渲染形状可表示为混合形状的线性组合。为了确定线性组合,可将权重应用于混合形状的每个变量坐标(例如,用于嘴部的10个点)。此类权重可为零,但可为某个分数,例如0.2。资产的默认3D几何形状还可以具有分配的权重。可使用与第一资产共享或共用的混合形状来以动画方式显示第二资产。当用户选择新的资产时,可将共用的混合形状保持在存储器中。
在步骤560处,用户可以选择附加的或另选的特征来在头像上定制。用户可选择对应于特征的第二资产。例如,对于特征“嘴部”,用户可以为嘴部诸如唇部选择资产。可选择作为特征“嘴部”的资产的“唇部闭合形状”152。
在步骤570处,应用程序可识别对应于第二资产的混合形状。例如,如果第二资产为闭合的嘴部,则可存在被识别为对应于闭合的嘴部的第二资产的三种混合形状。这仅仅是一个示例,并且多于三种混合形状可对应于资产。
可确定第一资产和第二资产包括相同的混合形状。例如,用于微笑的嘴部的混合形状中的一种混合形状可与用于闭合的嘴部的混合形状相同。因此,根据一些示例性实施方案,针对不同资产相同的混合形状被重复使用。类似的混合形状不需要重新创建并且可在资产之间共享。
图9示出了根据一些示例性实施方案的混合形状存储和检索的概览。如图9所示,用于各种类型的资产的混合形状可存储在持久性存储器901中。在图9所示的示例中,针对两种不同的资产将9种混合形状存储在持久性存储器901中,并且对应于图8中的示例。然而,这仅仅是一个示例,并且用于多个不同资产的混合形状可被存储在存储器中。
在步骤910处,第一资产可由用户经由用户界面选择,例如,如本文所述。第一资产可包括混合形状1-6。可使用混合形状选择模块902来选择与第一资产相关联的混合形状。
在步骤920处,将从持久性存储器901中检索对应于第一资产的混合形状。混合形状选择模块902可包括对应于第一资产的混合形状的标识符列表。该列表可由动画软件的提供商指定并且作为软件包的一部分安装。
在步骤930处,将已被识别为与第一资产相对应的资产的子集的混合形状1-6存储在工作存储器903中。一旦混合形状被存储在工作存储器903中,它们就可用于动画。
在步骤940处,可将对应于第一资产的混合形状的子集(例如,混合形状1-6)提供给模拟模块904。模拟模块903可以模拟在头像上具有第一资产的头像的表情。例如,模拟模块903可基于例如使用运动捕获传感器和电路从用户的面部测量的表情位置来确定混合形状1-6和默认形状的线性组合。
在步骤950处,可选择第二资产。第二资产可包括混合形状4-9。可在混合形状选择模块902上选择与第二资产相关联的混合形状。
在步骤960处,将从持久性存储器901中检索对应于第二资产的混合形状。因此,仅可以从持久性存储器中检索尚未处于工作存储器中的混合形状。可确定混合形状4-6已经在工作存储器903中,因此不需要被检索。因此,步骤960可确定哪些混合形状尚未在工作存储器903中。
在步骤970处,将已被识别为与第二资产相对应的资产的子集并且当前未存储在工作存储器903中的混合形状7、8、9存储在工作存储器903中。如果不再需要对应于第一资产的混合形状(如,混合形状1、2、和3),则可以从工作存储器903中移除不再需要的混合形状。
在步骤980处,可将与第二资产相对应的混合形状的子集(例如,混合形状4、5、6、7、8、9)提供给模拟模块904。模拟模块904可模拟与头像上的第二资产相关联的表情。
在一些情况下,可能难以创建混合形状来实现期望的动画。因此,代替使用混合形状使网格变形,可使用新的网格或可执行模型交换。
III.使用混合形状的模型交换
一些资产可基于物理形状。在一个示例性实施方案中,发型可基于物理形状。物理形状也可以被称为模型交换。可存在某些资产,其中难以修改初始网格来执行混合成形而实现期望的资产。因此,可使用模型交换或物理形状。例如,如果用户正在改变发型,则初始网格可不具有足够的点来产生不同的发型。这样可能太耗时并且可能消耗太多资源来执行混合成形来改变发型,因为用户正在塑造的网格可能不具有足够数量的点来将网格或几何形状转化成期望的发型。例如,使用用于莫霍克发型的网格来配置“波波头”发型将是困难的,因为“波波头”发型将比莫霍克发型需要在网格上具有更多的点。然而如果用户正在将下巴的形状从圆形下巴修改为方形下巴,则更可能的是,网格上用于圆形下巴的点的数量可用于创建方形下巴的混合形状。
因此,根据一些示例性实施方案,当用户改变发型时,可执行模型交换。代替使初始网格变形,根据期望的资产利用不同的网格来交换初始网格。混合形状还可应用于新的网格。然而,通过使用模型交换,将需要较少的混合形状,因为可以更容易地配置新的网格来创建期望的资产。
A.发型
模型交换可相对于发型和头发移动来使用。在模型交换中,使用不同的模型,而不是使用混合形状来塑造模型。可提供各种发型选项和头发纹理选项。例如,可向用户提供85种不同的发型来进行选择。如果用户正在改变发型,则初始网格可不具有足够的点来产生不同的发型。这样可能太耗时并且可消耗太多资源来执行混合成形来改变发型,因为用户正在塑造的网格可能不具有足够数量的点来将网格或几何形状转化成期望的发型。
因此,根据一些示例性实施方案,当用户改变发型模型时,可执行交换。代替使初始网格变形,根据期望的资产利用不同的网格来交换初始网格。混合形状还可应用于新的网格。然而,将需要较少的混合形状,因为可更容易地配置新的网格来创建期望的资产。
为了执行模型交换,对于头像的头部可使用通用物理骨架。为了实现期望的移动,例如头发的移动,如果为每种发型加载新的物理骨架将是困难的。因此,单个通用物理骨架用于多个不同的发型选项。始终加载并且运行的一个物理模拟引擎可驱动发型选项中的任一个发型选项。如果在头部的头像移动时改变发型,则头部的物理效果正确且一致地响应。当改变发型时,头部的物理效果不需要改变。多种发型可根据通用物理骨架来配置。
图13A和图13B示出了根据一些示例性实施方案的模型交换。图13A示出了用于短发型的网格1300。图13B示出了莫霍克的网格1310。两种发型均根据通用物理骨架来配置。
虽然描述了通用物理骨架,但一些资产可能需要单独的物理骨架。因此,可为此类资产生成单独的物理骨架。例如,在头部上位于比头发更高位置的骷髅帽可具有单独的物理骨架。
通用物理骨架包括像动态颗粒那样起作用的运动学区或运动学链(kinematicchains)。通用物理骨架可包括多个预先确定的区。动态颗粒中的每个动态颗粒可与头像上的区相关联。区也可以被称为区域。在示例性实施方案中,在头部中存在25个动态颗粒,然而,这是一个示例,并且在头部中可存在更多或更少的动态颗粒。如果存在25个动态颗粒,则在头部上可存在25个区。这些区可覆盖头发可能所处的所有位置,并且每种发型可占据不同的或重叠的区。这些区中的每个区均可以用物理效果来模拟。动态区域被配置为一致地起作用,使得当头发被激活时所得的形状看起来将是正常的。动态颗粒可为预先确定的运动区域。
图14A至图14E示出了根据一些示例性实施方案的头发在区内的移动。图14A示出了具有呈中性形状的发型(例如,具有刘海的长发)的头像1410。图14B示出了在发型的右下侧区域上具有头发的移动的头像1420。图14C示出了在右上侧区域上具有刘海的移动的头像1430。图14D示出了在左下侧区域上具有头发移动的头像1440。图14E示出了在头像的左上侧区域中具有头发的移动的头像1450。
头部上的25个区可包括左后方区、右后方区、后部区、左前方区、右前方区、左侧区、左后下方区、后右下方区、后下方区、左前下方区、右前下方区、前下方区、左下方区、右下方区、右侧区、舌、左后上方区、右后上方区、后上方区、左前上方区、右前上方区、前上方区、左上方区、右上方区和上部区。这25个区是头像的头部上的位置。尽管在一个示例性实施方案中使用了25个区,但一个实施方案可为多于或少于25个区。
这些区中的每个区可与六个移动度相关联。六个移动度可包括向右、向左、向上、向下、向前和向后。因此,每个区(例如,对应于头部上的25个动态颗粒的25个区)可包括六个移动度。混合形状可被塑造成对应于每个区的向右、向左、向上、向下、向前和向后移动。
虽然在头部上存在25个动态颗粒,但在应用资产时并非所有的动态颗粒都受到影响。每种发型可应用于预先确定的数量的区,并且这些区中的头发可根据动态颗粒作出反应。例如,如果存在莫霍克发型,则莫霍克发型可覆盖两个区,诸如后上方区和后下方区。因此,莫霍克发型将在两个不同的区中作出反应。对于两个不同的区,存在3D移动。位于这些区中的每个区中的头发可在3D轴线(x,y,z)上移动。此外,还可确定用于相关区中的每个区的头发的向前、向后、向上、向下、向左和向右移动的混合形状。
又如,“波波头”发型可应用于6个区。在“波波头”发型的示例中,针对发型被应用的六个区中的每一个区,将存储用于向上、向下、向左、向右、向前和向后移动的混合形状。每种发型可具有唯一的几何形状,并且每种发型对于发型包括的区具有唯一塑造的混合形状。
可将权重应用于与发型相关联的区中的每个区以指示位于该区中的头发的移动量。权重的值可基于从用户接收的移动信息。移动设备的处理器可在用于所选择的发型的区的混合形状上迭代,并且确定待使用的混合形状及其待应用于特定发型的占用区的对应权重。
因此,一个示例性实施方案提供了一种模拟头发移动的有效方法。对于每种发型,示例性实施方案将不需要单独的物理系统。
虽然相对于资产诸如发型描述了模型交换,但是模型交换也可以用于其他资产,诸如面部毛发、耳环、眼镜和头饰。然而,这些仅仅是示例。如果网格上的多个点不足以生成期望的资产,则可使用模型交换来代替生成混合形状。
B.配置文件–物理形状
为了减少为不同发型存储资产及其变体所需的存储器的量,示例性实施方案提供了压缩文件存储装置。
图6示出了根据一些示例性实施方案的发型的配置文件600。如图6所示,每个发型具有压缩的3D文件。3D文件需要生成特定发型所需的所有信息。3D文件包括每种发型的几何形状和所有混合形状。
图6示出了根据一些示例性实施方案的用于资产的配置文件600。配置文件600可存储在移动设备的存储器中。配置文件可指示特征、资产和混合形状彼此如何连接,以便使所消耗的存储器的量最小化。如图6所示,用于特征“头发”的资产“发型”的文件包括用于不同发型的多个配置文件610和620。图6示出了资产“hairstyles_bob”610和“hairstyle_mohawk”620的配置文件。然而,这仅仅是一个示例,并且可存在用于所有可用发型选项的配置文件。例如,如果存在85个不同的发型选项可用,则可存在85个配置文件。
资产“hairstyles_bob”的配置文件610可包括3D几何形状611以及资产“hairstyles_bob”所使用的区612。资产“hairstyles_mohawk”的配置文件620可包括由资产“hairstyle_mohawk”使用的3D几何形状621和区622。
在示例性实施方案中,可对分布在头部周围的与区相关的位置中的各个刚性主体执行模拟。然后将各个刚性主体所接收的所得动态传输到它们各自的区。刚性主体驱动每个区。传输到区的所得动态可包括倍增因子。倍增因子可基于所需的动态而变化。为每种发型的每个区创建定制乘数值。
例如,可针对每种发型在头部上的25个区中的每一个区创建定制乘数值。对于给定的发型,配置文件可包括定制乘数列表。乘数是区与触发混合形状的量之间的映射。发型中的每个区可基于所期望的移动量被配置为具有不同的乘数。即,这些区中的每个区可包括每种发型的自定义乘数值,所述区为左后方区、右后方区、后部区、左前方区、右前方区、左侧区、左后下方区、右后下方区、后下方区、左前下方区、右前下方区、前下方区、左下方区、右下方区、右侧区、舌、左后上方区、右后上方区、后上方区、左前上方区、右前上方区、前上方区、左上方区、右上方区和上部区。乘数可包括默认值,并且可基于期望的移动量进行调整。例如,区的默认乘数值可为.3,并且如果需要更多的移动,则该区的默认乘数可被修改为.35。.35的模拟因子将比.3的模拟因子导致更大的移动。动态可由模拟引擎执行。
3D文件可包括用于发型的多个区和关于用于发型的区中的每个区的移动(例如,向上移动、向下移动、向左移动、向右移动、向前移动和向后移动)的程度的数据。压缩的3D文件可存储在用户的移动设备上的存储器结构中。
图16示出了根据一些示例性实施方案的用于几何形状的高效高速缓存的方法1600。一个示例性实施方案提供了高速缓存或预计算发型的几何形状使得发型可快速显示的方法。在步骤1610处,可以低分辨率存储发型的几何形状。低分辨率几何形状被存储为稀疏低分辨率多项式。在步骤1620处,用于执行细分的操作可被预先计算和高速缓存,使得操作可被快速加载。
在步骤1630处,可生成并且高速缓存着色程序。还可以使用细分算法生成并且存储着色程序,这些着色程序可为定义材料诸如对光作出反应的皮肤的外观的代码。着色程序可以金属着色语言书写。根据一个示例性实施方案,代替在加载发型时编译所有着色程序,着色程序可被预编译以便加速选择发型和显示发型之间的处理时间。
在步骤1640处,可选择发型用于显示。在步骤1650处,在运行时期间,生成高分辨率几何形状。低分辨率几何形状被细分以便获得平滑的高分辨率几何形状。在运行时,几何形状被细分,使得发型将使用非常平滑的高分辨率几何形状生成。资产所消耗的存储器的量可被最小化,因为每次选择发型时不需要重新计算发型并且从头开始重新划分,因为发型的几何形状、操作和着色程序中的一些先前已被高速缓存。
C.方法概述-物理形状
图10示出了根据一些示例性实施方案的用于模拟头发移动的方法1000。
在步骤1010处,可以接收对用于头部的头像的第一发型的选择。可以在移动设备的用户界面上接收选择。例如,用户可选择莫霍克发型。
在步骤1020处,移动设备确定头部的头像上的第一组区,第一发型定位在该第一组区上。第一组区选自可为头像定义发型的多个可能的区。例如,第一组区可来自25个可能的区。莫霍克发型可对应于例如两个区。
在步骤1030处,可识别用于第一发型的第一组区中的每一个区的混合形状的第一集合。混合形状的第一集合对应于第一组区并且与不同的移动方向(例如,向上、向下、向前、向后、向左和向右)相关。移动方向可对应于移动,诸如向上移动、向下移动、向左移动、向右移动、向前移动和向后移动。
在步骤1040处,接收头像的头部的第一移动信息。可基于来自用户的面部识别输入来接收第一移动信息。可接收用户的物理特征的变化和位置变化。另选地,用户可手动输入第一移动信息。
在步骤1050处,可使用第一移动信息来模拟第一发型的第一移动。模拟可使用模拟引擎,该模拟引擎基于第一移动信息来确定混合形状的第一集合的线性组合。对于第一组区中的每一个区以及对于该区的混合形状的第一集合中的每一种混合形状,第一移动信息的模拟可包括使用第一移动信息来确定混合形状的对应权重,并且将该对应权重应用于混合形状作为确定该区的混合形状的线性组合的一部分。
在步骤1060处,可以接收对用于头部的头像的第二发型的选择。可从移动设备上的用户界面接收该选择。
在步骤1070处,确定头部的头像上的第二发型定位在其上的第二组区。第二组区可选自可为头像定义发型的多个可能的区。例如,第二组区可来自25个可能的区。第二组区可包括在第一组区中的第一部分和不在第一组区中的第二部分。例如,“波波头”发型可对应于例如六个区。“波波头”发型的六个区中的两个区可与莫霍克发型的区重叠,并且“波波头”发型的六个区中的四个区不与莫霍克发型的区重叠。
在步骤1080处,可识别用于第二发型的混合形状的第二集合。混合形状的第二集合可对应于第二组区并且可与不同的移动方向相关。
在步骤1090处,可以接收头像的头部的第二移动信息。第二移动信息不同于第一移动信息。可基于来自用户的面部识别输入来接收第二移动信息。可接收用户的物理特征的变化和位置变化。另选地,用户可手动输入第二移动信息。
在步骤1091处,模拟引擎可使用第二移动信息来模拟第二发型的第二移动。模拟可使用模拟引擎,该模拟引擎基于第二移动信息来确定混合形状的第二集合的线性组合。对于第二组区中的每一个区以及对于该区的混合形状的第二集合中的每一种混合形状,第二发型的第二移动的模拟可包括使用第二移动信息来确定混合形状的对应权重,其中响应于第一移动信息和第二移动信息相同,第一移动信息的第一权重和第二移动信息的第二权重相同。混合形状的对应权重可作为确定区的混合形状的线性组合的一部分来应用。
交换可用于生成头像的其他区域。例如,交换可用于生成头像的纹理。
IV.纹理交换
根据一个示例性实施方案,可以通过纹理交换来修改头部的头像上的纹理。纹理是应用于3D模型上的图像。纹理询问为3D模型上的贴花或贴纸。纹理可绘制或层叠在头部的3D模型上。纹理可应用于例如皮肤或毛发。例如,可以修改头像的面部以便看起来是有光泽的或反射的。又如,头像的面部可被修改为看起来具有面部毛发的生长(例如,5点钟方向上的阴影)。纹理交换也可用眉毛、睫毛、面部毛发等进行。
可能难以生成用于纹理的混合形状。因此,根据一些示例性实施方案,通过纹理交换来执行纹理的改变。类似于模型交换,使用混合形状可能难以实现某些纹理。因此,代替生成混合形状,面部上的纹理可以与不同的纹理交换。头部的纹理由层构成。这些层中的一些层可为共享的和/或恒定的。共享且恒定的层的示例为内口颜色。一些纹理是基于变体的,诸如眉毛。
可以为头像上的组合资产合成纹理。例如,头像可具有面部毛发纹理(例如,5点钟方向上的阴影)、眉毛纹理、唇膏纹理、发型纹理(例如,绒毛)等。根据一个示例性实施方案,可将单个纹理应用于所有资产,而不是单独地合成面部毛发纹理、眉毛纹理、唇膏颜色纹理和发型纹理的纹理。因此,纹理可以快速地应用于头像。
图15示出了根据一些示例性实施方案的用于生成复合纹理的方法1500的流程图。在步骤1510处,识别待应用纹理的所有资产。头像上的一些或所有资产可由用户识别以用于应用纹理。在步骤1520处,将所有所识别资产的纹理合成为单个纹理。即,创建将应用于所有所识别资产的单个纹理复合项。在步骤1530处,在将合成纹理应用于模型之前,将合成纹理存储在缓冲器中以用于临时存储。在步骤1530处,将合成纹理应用于3D模型。
纹理的复杂性可影响所使用的存储器的量。因此,与独立地为模型的多个不同资产创建和存储多个纹理相反,当创建单个复合纹理并且将其存储在缓冲器中时,可以使用于纹理的存储器的量最小化。
V.运行时优化
除了需要最少的存储器存储之外,示例性实施方案在运行时间期间提供了对移动设备的资源的最小使用。在应用程序运行时,可采用各种优化技术。优化技术可包括以低分辨率生成和存储图像、内插、屏上显示高速缓存和缩略图高速缓存。
A.低分辨率和插值
资产以低分辨率存储,并且在运行时进行平滑处理(例如,内插)至更高的分辨率。可通过使用细分表面来保持低分辨率,使得网格可以低分辨率存储。也可使用测验,这允许用极少量的信息锐化边缘。
资产中的每个资产被存储在小压缩文件中。每个资产文件具有一种几何形状。例如,每种发型具有其自身的小压缩文件及其几何形状。此外,每一种眼睛形状和嘴部形状可具有其自身的压缩文件。在运行时期间,由于使用了针对头部的单个骨架,因此仅需要加载对应于单个头部的文件。加载和卸载的资产文件将基于用户在用户界面上选择的资产而变化。如果用户选择特定特征,则可将对应于该特征的资产加载到存储器中。对应于未被用户选择的特征的资产将不会被加载到存储器中。
由于资产被分割成不同的文件,因此在创建头像时可以容易地组合不同的资产。例如,不需要存储具有不同资产选项的多个不同完整头像以及/或者将它们加载到存储器中。因此,可减少处理时间和移动设备所使用的资源的量。此外,通过具有小压缩文件,可容易地从存储器加载和卸载资产的文件。当前应用于头像的资产可被加载到存储器,并且当资产不再应用于头像时,资产可从存储器中卸载。
B.屏上显示(OSD)高速缓存
由于存在可选择的资产组合的各种特征,因此仅可高速缓存在给定时间将出现在显示器上的那些特征。例如,如果存在100个发型选项,则不需要响应于用户选择特征“头发”而高速缓存所有100个发型选项。相反,仅需要缓存在给定时间将出现在显示器上的那些发型。
在示例性实施方案中,仅缓存活动实例化头像的发型。即,仅缓存实时显示在屏幕上的头像的发型。在另一个实施方案中,在发型选择期间,所有发型可被保持在存储器中,使得对发型的改变可被快速反映出来。例如,通过将所有发型保存在存储器中,可快速反映出头发颜色的变化。表示发型的所有缩略图可基于头发颜色的变化而快速重新计算。
C.缩略图高速缓存
如图1B至图1H所示,根据头像的当前状态显示各种缩略图。由于用户明显滚动通过各种资产,因此看到与当前头像相关的资产选项是有益的。因此,示例性实施方案提供了缩略图高速缓存,因此可相对于当前头像快速显示资产。
可基于资产的配置文件动态地构建在用户界面上显示的内容。随着不同资产的选择,缩略图被动态渲染。如图1D所示,由于为头像选择了较浅的头发颜色,因此以不同资产显示的所有缩略图被显示为具有已选择的较浅的头发颜色。如图1D所示,当为头像选择较深的头发颜色时,以不同资产显示的所有缩略图被显示为具有已选择的较深的头发颜色。
因此,在用户界面上显示的内容基于用户做出的选择。出现在界面上的缩略图基于用户动作是动态的,而不是静态的。
为了实现缩略图的动态变化,采用优化技术。包括资产的头像是预先计算或高速缓存的。用于渲染资产的计算可提前进行,诸如细分数据高速缓存。缩略图可被预编译,并且细分可被预先计算或部分预先计算,以便加快缩略图的渲染。由于资产已被预先计算或高速缓存,因此当用户选择特定资产时,需要更少的时间来完全引用资产。例如,如果用户选择特征“头发”,则在当前头像的特征“头发”上预先计算多个不同发型(资产)。
在示例性实施方案中,当用户选择特定头部形状时,可在缩略图中显示可选择的特征和资产。如图1G和图1H所示,所显示的缩略图可包括已经由用户进行的定制。耳环缩略图171是具有不同耳环选项的头像的当前状态的缩略图。帽子缩略图172是具有不同帽子选项的头像的当前状态的缩略图。在将用户的头像加载到监视器上之后,预先高速缓存用户可应用于其头像的各种定制选项。当用户选择特定资产时,快速渲染可能的资产选项。因此,根据一些示例性实施方案,用户可以容易地查看其他定制将如何出现在他们当前设计的头像上。
VI.相机和资产
在缩略图中显示的图像可在不同的3D视图中显示。不同视图可被称为不同的相机视图。相机视图是三维的。显示器上显示的所有资产诸如缩略图可根据所选择的相机视图来显示。
图1G示出了在轮廓相机视图173中显示耳环配饰的用户界面170。图1H示出了在特写轮廓相机视图中显示耳环配饰的用户界面180。图1G和图1H所示的相机视图仅仅是示例,并且可以使不同的相机视图和不同的相机角度对用户可用。可以为用户提供各种相机视图选项。视图的数量可基于用户偏好而变化。示例性相机视图可包括头部前方的3D相机视图、头部后方的3D相机视图、眼睛的3D相机视图、下巴的3D相机视图、鼻子的3D相机视图、耳朵的3D相机视图等。可根据所选择的相机视图来显示可由用户选择的所有资产。
根据示例性实施方案,响应于用户创建头像所做的改变,实时更新在不同相机视图中显示的资产。
VII.规则系统
在一些情况下,资产可能不兼容或可能发生冲突。例如,用户可能想要具有特定发型,但他们也想要添加帽子。然而,将帽子添加到发型可能影响发型的外观。又如,用户可能想要将太阳镜放置在头像的眼睛或头发上方。然而,添加太阳镜可能影响眼睛或头发的外观。
因此,示例性实施方案在资产之间可能存在不相容性的情况下提供规则系统。具体地讲,配置规则被配置用于资产的每个组合以避免任何冲突或矛盾。为头部创建通用发际线。发型和帽子的不同组合根据通用发际线进行配置。所有帽子均可在通用发际线上的相同位置夹住。例如,“波波头”发型可被配置为用于50种不同的帽子。此外,所有发型均被配置为使得它们落入发际线内。当将帽子放置在头发顶部上时,帽子下方的头发被压塌。此外,还可以修改放置在头发顶部上的帽子以提供下方的头发所处的空间。此外,如果帽子被放置成覆盖头发的一部分,则相应地更新头发的被帽子覆盖的部分。因此,就头发和帽子的示例而言,存在不同发型将如何影响不同帽子的规则体系,并且存在不同帽子将如何影响不同发型的规则体系。
规则可以指资产之间的依赖性。规则可包括资产、依赖性和变体的标识符。例如,当选择被识别为“hair-straight_long_down_fringe”的发型时,预设的耳朵可被覆盖,因为发型将影响耳朵。此外,可基于发型针对头饰激活变体。
对发型上的不同帽子的选择实时显示在缩略图上,使得用户可以容易地看到可能的选项。例如,如果用户已选择特定发型(例如,“波波头”),则所有帽子将根据特定发型的规则应用。例如,如果用户已选择特定的帽子(例如,棒球帽)并且正处于选择发型的过程中,则可用发型选项将符合帽子的规则。此外,所显示的缩略图根据用户所做出的改变是动态的。如果对头像做出改变,则所显示的缩略图图像将与对头像做出的改变一致。
VIII.示例性设备
图7是示例性电子设备700的框图。设备700通常包括计算机可读介质702、处理系统704、输入/输出(I/O)子系统706、无线电路708、以及包括扬声器712和麦克风714的音频电路710。计算机可读介质702可以是非暂态计算机可读介质。这些部件可通过一个或多个通信总线或信号线703耦接。设备700可以是任何便携式电子设备,包括手持计算机、平板电脑、移动电话、膝上型电脑、平板设备、媒体播放器、个人数字助理(PDA)、钥匙链、车钥匙、门禁卡、多功能设备、移动电话、便携式游戏设备等,包括这些物品中的两个或更多个物品的组合。
显然,图7所示的架构仅为设备700的架构的一个示例,并且设备700可具有比所示更多或更少的部件或不同配置的部件。图7中所示的各种部件可以硬件、软件或硬件和软件两者的组合来实现,包括一个或多个信号处理电路和/或专用集成电路。
无线电路708用于通过无线链路或网络发送和接收信息至一个或多个其他设备的常规电路,诸如天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、存储器等。在一些实施方案中,无线电路708能够使用一个或多个通信协议与其他设备建立并且保持通信,该一个或多个通信协议包括时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、长期演进(LTE)、LTE-Advanced、WiFi(诸如IEEE 802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n)、蓝牙、Wi-MAX、互联网协议语音技术(VoIP)、近场通信协议(NFC)、用于电子邮件、即时消息和/或短消息服务(SMS)的协议、或任何其他合适的通信协议,包括到本文的提交日期为止尚未开发出来的通信协议。移动设备可包括能够根据通信所需的范围通过若干不同类型的无线网络进行通信的无线电路。例如,短程无线收发器(例如,蓝牙)、中程无线收发器(例如,WiFi)和/或远程无线收发器(例如,GSM/GPRS、UMTS、CDMA2000 1x/EV-DO和LTE/LTE-Advanced)可根据通信类型或通信的范围来使用。
无线电路708经由外围设备接口716耦接到处理系统704。外围设备接口716可包括用于建立并且保持外围设备和处理系统704之间的通信的常规部件。通过无线电路708(例如,在语音识别或语音命令应用程序中)接收的语音信息和数据信息经由外围设备接口716被发送至一个或多个处理器718。一个或多个处理器718可被配置为处理各种数据格式。
外围设备接口716将设备700的输入外围设备和输出外围设备耦接到一个或多个处理器718和计算机可读介质702。一个或多个处理器718经由控制器720来与计算机可读介质702进行通信。计算机可读介质702可为能够存储代码和/或数据以供一个或多个处理器718使用的任何设备或介质。计算机可读介质702可包括存储器分级结构,包括高速缓存、主存储器和辅助存储器。可使用RAM(例如,SRAM、DRAM、DDRAM)、ROM、闪存、磁存储设备和/或光学存储设备(诸如,磁盘驱动器、磁带、CD(光盘)和DVD(数字视频光盘))的任何组合来实现存储器分级结构。在一些实施方案中,外围设备接口716、一个或多个处理器718和控制器720可在单个芯片诸如处理系统704上实现。在一些其他示例中,它们可以在独立的芯片上实现。
一个或多个处理器718可包括执行一个或多个处理功能,诸如数学操作、逻辑操作、数据操纵操作、数据传输操作、控制用户输入的接收、控制信息向用户的输出等的硬件和/或软件元件。处理器718可体现为一个或多个硬件处理器、微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。
设备700还可包括用于为各种硬件部件供电的电力系统742。电力系统742可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示符(例如,发光二极管(LED)),以及通常与移动设备中的电力的生成、管理和分配相关联的任何其他部件。
在一些实施方案中,设备700包括相机744。在一些实施方案中,设备700包括传感器746。传感器可以包括加速度计、指南针、陀螺仪、压力传感器、音频传感器、光传感器、气压计等。传感器746可用于感测位置方面,诸如位置的听觉标记或光标记。在一些实施方案中,设备700可包括有时被称为GPS单元748的GPS接收器。移动设备可使用卫星导航系统诸如全球定位系统(GPS)来获得定位信息、定时信息、高度、或其他导航信息。在一些实施方案中,设备700可包括外部端口736(例如,USB、火线、闪电连接器、110引脚连接器等)。外部端口736适于直接耦接到其他设备或间接地通过网络(例如,互联网、无线LAN等)耦接。
一个或多个处理器718运行被存储在计算机可读介质702中的各种软件部件以执行设备700的各种功能。在一些实施方案中,软件部件包括操作系统722、通信模块(或指令集)724、位置和运动模块726、其他应用程序(计算机产品、指令集等)728以及触觉反馈模块730和混合形状输入模块732。操作系统722可为任何合适的操作系统,包括iOS、Mac OS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks。操作系统可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种程序、指令集、软件部件、和/或驱动器,并且促进各种硬件和软件部件之间的通信。
通信模块724促进通过外部端口736或经由无线电路708来与其他设备进行通信,并且包括用于处理从无线电路708和/或外部端口736所接收的数据的各种软件部件。
设备700上的一个或多个应用程序734可包括安装在设备700上的任何应用程序,包括但不限于浏览器、通讯录、联系人列表、电子邮件、即时消息、社交网络、文字处理、键盘仿真、桌面小程序、支持JAVA的应用程序、加密、数字版权管理、语音识别、语音复制、(回放存储在一个或多个文件诸如MP3或AAC文件中的录制音乐的)音乐播放器,等等。
状态信息728可包括关于设备700的一个或多个部件收集的电力状态或操作模式。状态信息728可包括由设备700获得的其他设备的部件的电力状态或操作模式。作为移动设备或伴随设备,设备700可以在状态信息738中生成本地状态信息和远程状态信息。设备700(例如,使用无线电路708)可使用状态信息728来本地管理操作,以便减少电力使用。设备700可将状态信息728中的本地状态信息的全部或部分与其他设备同步。其他设备可延迟向设备700发送消息,从而允许处理器718保持处于睡眠状态,从而进一步降低功率消耗。
可存在其他模块或指令集(未示出),诸如图形模块、时间模块等。例如图形模块可以包括用于在显示器表面上对图形对象(包括但不限于文本、网页、图标、数字图像、动画等)进行呈现、动画显示和显示的各种常规软件组件。在另一个示例中,定时器模块可为软件定时器。也可在硬件中实现定时器模块。时间模块可针对任意数量的事件来维持各种定时器。
I/O子系统706可被耦接到可为触敏显示器的显示系统(未示出)。显示器在GUI中向用户显示视觉输出。视觉输出可包括文本、图形、视频、以及它们的任何组合。视觉输出中的一些或所有视觉输出可对应于用户界面对象。尽管显示器可使用LED(发光二极管)技术、LCD(液晶显示器)技术或LPD(发光聚合物显示器)技术,但在其他实施方案中可使用其他显示技术。
在一些实施方案中,I/O子系统706可包括显示器和用户输入设备,诸如键盘、鼠标和/或触控板。在一些实施方案中,I/O子系统706可包括触敏显示器。触敏显示器还可以至少部分地基于触觉和/或触感接触来接受来自用户的输入。在一些实施方案中,触敏显示器形成用于接受用户输入的触敏表面。触敏显示器/表面(连同计算机可读介质702中的任何相关联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移动或释放),并且将所检测到的接触转换为与用户界面对象的交互,诸如在接触发生时被显示在触摸屏上的一个或多个软键。在一些实施方案中,触敏显示器和用户之间的接触点对应于用户的一个或多个手指。用户可使用诸如触笔、笔、手指等任何合适的物体或附属件接触触敏显示器。触敏显示器表面可使用任何合适的触敏技术来检测接触及其任何移动或释放,这些技术包括电容式技术、电阻式技术、红外技术和表面声波技术、以及其他接近传感器阵列或其他元件,用于确定与触敏显示器的一个或多个接触点。
此外,I/O子系统706还可以被耦接到一个或多个其他物理控制设备(未示出),诸如按钮、按键、开关、摇杆按钮、拨号盘、滑动开关、操作杆、LED等,用于控制或执行各种功能,诸如功率控制、扬声器音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、清除和结束通信等。在一些实施方案中,除了触摸屏之外,设备700可包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触控板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板可为与触敏显示器分开的触敏表面、或者为由该触敏显示器形成的触敏表面的延伸部。
先前的描述可引用移动设备(例如,手腕穿戴设备)和/或伴随设备(例如,智能电话)的特定示例。应当理解,这些示例是例示性的而非限制性的;其他设备可被替换并且可实现类似的功能块和/或算法以执行本文所述的操作和/或其他操作。
可使用专用部件和/或可编程处理器和/或其他可编程设备的任何组合来实现本发明的例如方法、装置、计算机可读介质等的实施方案。本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。如本文所用,处理器包括同一集成芯片上的单核处理器、多核处理器、或单个电路板或网络上的多个处理单元。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作或其任何组合来实现此类配置。此外,虽然上述实施方案可能参考了具体硬件部件和软件部件,但本领域的技术人员应当理解,也可使用硬件部件和/或软件部件的不同组合,并且被描述为正在硬件中实现的特定操作也可能在软件中被实现,反之亦然。
可在各种计算机可读存储介质上编码结合本发明的各种特征的计算机程序;合适的介质包括磁盘或磁带、光学存储介质,例如光盘(CD)或DVD(数字通用光盘)、闪存存储器等。编码有程序代码的计算机可读存储介质可与兼容设备一起被封装或从其他设备单独被提供。此外,可以经由符合多种协议的有线光学和/或无线网络(包括互联网)编码和传输程序代码,从而允许例如经由互联网下载进行分发。任何此类计算机可读介质可存在于或位于单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)内,并且可存在于或位于系统或网络内的不同计算机产品内。计算机系统可包括监视器、打印机或用于将本文所提及的任何结果提供给用户的其他合适的显示器。
虽然已经描述了具体的示例性实施方案,但各种修改、更改、另选构造和等同物也涵盖在本发明的范围内。本发明的实施方案不限于在某些具体数据处理环境中操作,而是可自由地在多个数据处理环境中操作。此外,虽然已使用特定系列的事务和步骤描述了本发明的实施方案,但对于本领域的技术人员而言应当显而易见的是,本发明的范围不限于所述系列的事务和步骤。上述实施方案的各种特征和方面可单独或联合使用。
如上所述,本技术的一个方面在于收集和使用得自各种来源的数据以便生成头像。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于定位的数据、电话号码、电子邮件地址、twitter ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命信号测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于提供用户更感兴趣的定制的头像选项。因此,此类个人信息数据的使用可使得用户能够具有更多的个人定制头像。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,本技术可被配置为允许用户在注册服务期间或其后随时选择参与采集个人信息数据的“选择加入”或“选择退出”。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集定位数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低数量的个人信息诸如与用户相关联的设备所请求的内容、对头像应用程序可用的其他非个人信息或公开可用的信息来推断偏好,从而选择建议的定制并且将这些建议的定制递送给用户。
此外,尽管已经使用硬件和软件的特定组合描述了示例性实施方案,但应当认识到,硬件和软件的其他组合也在示例性实施方案的范围内。一些示例性实施方案可仅在硬件中、或仅在软件中、或使用它们的组合来实现。本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。因此,在将部件或模块描述为被配置为执行某些操作的情况下,这种配置可例如通过以下方式来实现:设计电子电路以执行操作、将可编程电子电路(诸如微处理器)编程以执行操作、或它们的任何组合。进程可使用多种技术进行通信,这些技术包括但不限于用于进程间通信的常规技术,并且不同的进程对可使用不同的技术,或相同的进程对可在不同时间使用不同的技术。
相应地,说明书和附图应被视为具有例示性的而非限制性的意义。然而,显而易见的是,在不脱离权利要求书中阐述的更广泛的实质和范围的情况下,可以对其进行增加、减少、删除以及其他修改和改变。因此,虽然已经描述了特定的示例性实施方案,但这些实施方案并非旨在进行限制。各种修改和等同物在以下权利要求书的范围内。
出于所有目的,本文提及的所有专利、专利申请、公开和说明书均以全文引用方式并入本文。不承认任何文献为现有技术。

Claims (39)

1.一种用于优化资产资源的方法,包括:
由移动设备存储用于头像的多个特征的多个资产以及与所述多个资产相对应的多种混合形状,其中所述多个资产被定义用于相同的骨架;
在所述移动设备的用户界面上接收对所述多个特征中的第一特征的选择;
识别与所述第一特征相对应的用于所述相同的骨架的所述多个资产的第一集合;
在所述移动设备的所述用户界面上接收对与所述第一特征相对应的所述多个资产的第一集合中的第一资产的选择;
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第一资产的所述多种混合形状的第一集合;
在所述移动设备的所述用户界面上接收对与所述第一特征相对应的所述多个资产的第一集合中的所述第一特征的第二资产的选择;以及
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第二资产的所述多种混合形状的第二集合,
其中用于所述第一特征的所述第一资产的所述多种混合形状的第一集合中的一种或多种混合形状与用于所述第一特征的所述第二资产的所述多种混合形状的第二集合中的一种或多种混合形状重叠。
2.根据权利要求1所述的方法,其中所述头像是头部的表示。
3.根据权利要求1所述的方法,其中存储用于所述多个特征的所述多个资产以及与所述多个资产相对应的所述多种混合形状包括:
识别与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产;
获得与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产的3D几何形状;
压缩所述第一资产的所述3D几何形状;
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一资产的所述多种混合形状的第一集合;以及
存储对应于所述第一资产的所述多种混合形状的第一集合的偏移值。
4.根据权利要求1所述的方法,其中相同的混合形状用于所述第一资产的所述多种混合形状的第一集合中的所述一种或多种混合形状,所述一种或多种混合形状与所述第二资产的所述多种混合形状的第二集合中的一种或多种混合形状重叠。
5.根据权利要求1所述的方法,还包括:
接收对与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产的修改;
确定在第二特征的所述多个资产的第二集合中是否存在与对应于所述第一特征的所述多个资产的第一集合中的所述第一资产相对应的第二资产;
响应于确定在所述第二特征的所述多个资产的第二集合中存在与对应于所述第一特征的所述多个资产的第一集合中的所述第一资产相对应的所述第二资产,计算所述第二资产的校正形状,其中所述校正形状为所述第二资产的混合形状的偏移;
更新所述第二特征的所述多个资产的第二集合中的所述第二资产,以根据所述校正形状与对与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产的所述修改相对应;以及
显示与所述第一特征相对应的所述多个资产的第一集合中的所修改的第一资产,以及所述第二特征的所述多个资产的第二集合中的所更新的第二资产。
6.根据权利要求1所述的方法,还包括:
从持久性存储器检索所述多种混合形状的第一集合;
将所检索到的所述多种混合形状的第一集合存储到工作存储器;
基于所述多种混合形状的第一集合来模拟所述头像的第一表情;
从所述持久性存储器检索所述多种混合形状的第二集合,其中从持久性存储器仅检索尚未在所述工作存储器中的所述多种混合形状的第二集合中的混合形状;
将所检索到的混合形状的第二集合存储到工作存储器;以及
基于所述混合形状的第二集合来模拟所述头像的第二表情。
7.根据权利要求6所述的方法,其中混合形状的第一集合中与所述混合形状的第二集合中的一种或多种混合形状不共享的一种或多种混合形状从所述工作存储器被移动到所述持久性存储器。
8.根据权利要求6所述的方法,其中基于所述混合形状的第一集合来模拟所述头像的所述第一表情包括:使用所述头像的输入位置来确定用于所述第一资产的所述混合形状的第一集合和用于所述第一资产的默认形状的线性组合。
9.根据权利要求1所述的方法,其中响应于所述第二资产在所述头像的所述第一特征上与所述第一特征的所述多个资产的第一集合中的所述第一资产同时是活动的,所述第一特征的所述多个资产的第一集合中的所述第二资产与对应于所述第一特征的所述多个资产的第一集合中的所述第一资产相对应。
10.根据权利要求5所述的方法,其中所述校正形状为介于0和1.0之间的偏移值。
11.根据权利要求1所述的方法,还包括:
在所述头像上生成多个区,其中所述多个区对应于所述头像上的动态颗粒;
确定与对应于所述第一特征的所述多个资产的第一集合中的所述第一资产相对应的所述多个区中的第一组区;以及
识别所述第一组区的多种混合形状,其中所述第一组区的所述多种混合形状对应于所述第一组区中的每一个区的移动方向。
12.根据权利要求11所述的方法,其中所述头像上的所述动态颗粒对应于所述头像上的预先确定的运动区域。
13.根据权利要求11所述的方法,还包括:
确定与对应于所述第一特征的所述多个资产的第一集合中的所述第二资产相对应的所述多个区中的第二组区;以及
生成用于所述第二组区的多种混合形状,其中用于所述第二组区的所述多种混合形状包括用于所述第二组区中的每一个区的多个移动程度,
其中用于所述第一组区的所述多种混合形状中的一种或多种混合形状与用于所述第二组区的所述多种混合形状中的一种或多种混合形状重叠。
14.根据权利要求11所述的方法,其中所述移动方向对应于由向上移动、向下移动、向左移动、向右移动、向前移动和向后移动组成的组中的一者。
15.根据权利要求4所述的方法,其中所述第一特征为头发,并且所述多个资产的第一集合中的所述第一资产是发型。
16.根据权利要求1所述的方法,还包括:
响应于发起用于生成所述头像的应用程序,确定多个特征和与用户最频繁使用的所述多个特征相对应的多个资产;
预先计算与所述用户最频繁使用的所述多个特征相对应的所述多个资产;以及
对与所述多个特征相对应的所预先计算的多个资产进行高速缓存。
17.根据权利要求16所述的方法,其中所述用户最频繁使用的所述多个特征基于用户与所述应用程序交互的历史。
18.根据权利要求16所述的方法,其中响应于所述用户从与所述多个特征相对应的所预先计算的多个资产中选择资产,完成对所选择的资产的渲染。
19.根据权利要求1所述的方法,其中从默认网格产生对应于所述第一特征的所述第一资产的所述多种混合形状的第一集合和对应于所述第一特征的所述第二资产的所述多种混合形状的第二集合。
20.一种移动设备,包括:
一个或多个处理器和存储器,其中所述一个或多个处理器被配置为:
存储用于头像的多个特征的多个资产以及与所述多个资产相对应的多种混合形状,其中所述多个资产被定义用于相同的骨架;
接收对所述多个特征中的第一特征的选择;
识别与所述第一特征相对应的用于所述相同的骨架的所述多个资产的第一集合;
接收对与所述第一特征相对应的所述多个资产的第一集合中的第一资产的选择;
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第一资产的所述多种混合形状的第一集合;
接收对与所述第一特征相对应的所述多个资产的第一集合中的所述第一特征的第二资产的选择;以及
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第二资产的所述多种混合形状的第二集合,
其中用于所述第一特征的所述第一资产的所述多种混合形状的第一集合中的一种或多种混合形状与用于所述第一特征的所述第二资产的所述多种混合形状的第二集合中的一种或多种混合形状重叠。
21.根据权利要求20所述的移动设备,其中存储用于所述多个特征的所述多个资产以及与所述多个资产相对应的所述多种混合形状包括一个或多个处理器被配置为:
识别与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产;
获得与所述第一特征相对应的所述多个资产的第一集合中的所述第一资产的3D几何形状;
压缩所述第一资产的所述3D几何形状;
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一资产的所述多种混合形状的第一集合;以及
存储对应于所述第一资产的所述多种混合形状的第一集合的偏移值。
22.一种包括指令的非暂态计算机可读介质,所述指令被配置为使一个或多个处理器执行操作,所述操作包括:
存储用于头像的多个特征的多个资产以及与所述多个资产相对应的多种混合形状,其中所述多个资产被定义用于相同的骨架;
接收对所述多个特征中的第一特征的选择;
识别与所述第一特征相对应的用于所述相同的骨架的所述多个资产的第一集合;
接收对与所述第一特征相对应的所述多个资产的第一集合中的第一资产的选择;
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第一资产的所述多种混合形状的第一集合;
接收对与所述第一特征相对应的所述多个资产的第一集合中的第二资产的选择;以及
识别对应于从与所述第一特征相对应的所述多个资产的第一集合中选择的所述第一特征的所述第二资产的所述多种混合形状的第二集合,
其中用于所述第一特征的所述第一资产的所述多种混合形状的第一集合中的一种或多种混合形状与用于所述第一特征的所述第二资产的所述多种混合形状的第二集合中的一种或多种混合形状重叠。
23.一种用于模拟头发移动的方法,包括:
在移动设备的用户界面上接收对用于头部的头像的第一发型的选择;
确定所述头部的所述头像上的所述第一发型定位在其上的第一组区,所述第一组区选自能够为所述头像定义发型的多个可能的区;
识别所述第一发型的所述第一组区中的每一个区的混合形状的第一集合,每个混合形状的第一集合与不同的移动方向相关;
接收用于所述头像的所述头部的第一移动信息;
使用所述第一移动信息来模拟所述第一发型的第一移动,其中所述模拟使用模拟引擎,所述模拟引擎基于所述第一移动信息来确定每个混合形状的第一集合的线性组合;
在所述移动设备的所述用户界面上接收对用于所述头部的所述头像的第二发型的选择;
确定所述头部的所述头像上的所述第二发型定位在其上的第二组区,所述第二组区选自能够为所述头像定义发型的所述多个可能的区,其中所述第二组区包括在所述第一组区中的第一部分和不在所述第一组区中的第二部分;
识别用于所述第二发型的混合形状的第二集合,所述混合形状的第二集合对应于所述第二组区并且与所述不同的移动方向相关;
接收用于所述头像的所述头部的第二移动信息;以及
使用所述模拟引擎利用所述第二移动信息来模拟所述第二发型的第二移动。
24.根据权利要求23所述的方法,其中所述头部的所述头像是三维的(3D)。
25.根据权利要求23所述的方法,其中模拟所述第一发型的所述第一移动包括:
对于所述第一组区中的每一个区:
对于区的所述混合形状的第一集合中的每一种混合形状:
使用所述第一移动信息来确定混合形状的对应权重;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
26.根据权利要求25所述的方法,其中模拟所述第二发型的所述第二移动包括:
对于所述第二组区中的每一个区:
对于该区的所述混合形状的第二集合中的每一种混合形状:
使用所述第二移动信息来确定该混合形状的对应权重,其中响应于所述第一移动信息和所述第二移动信息相同,所述第一移动信息的第一权重和所述第二移动信息的第二权重相同;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
27.根据权利要求23所述的方法,其中所述第一发型和所述第二发型根据用于所述头像的所述头部的通用物理骨架来配置。
28.根据权利要求27所述的方法,其中所述通用物理骨架包括多个预先确定的区。
29.根据权利要求23所述的方法,其中在将多种发型中的一种发型渲染在所述头像上之前预先计算所述多种发型。
30.根据权利要求29所述的方法,其中预先计算所述多种发型包括:
存储所述多种发型中的每一种发型的低分辨率几何形状;
预先计算用于所述多种发型中的每一种发型的细分操作;以及
对所预先计算的细分操作进行高速缓存。
31.根据权利要求30所述的方法,其中预先计算所述多种发型还包括:
为所述多种发型中的每一种发型生成着色程序;以及
针对所述多种发型中的每一种发型高速缓存所生成的着色程序。
32.一种移动设备,包括:
一个或多个处理器和存储器,其中所述一个或多个处理器被配置为:
在所述移动设备的用户界面上接收对用于头部的头像的第一发型的选择;
确定所述头部的所述头像上的所述第一发型定位在其上的第一组区,所述第一组区选自能够为所述头像定义发型的多个可能的区;
识别所述第一发型的所述第一组区中的每一个区的混合形状的第一集合,每个混合形状的第一集合与不同的移动方向相关;
接收用于所述头像的所述头部的第一移动信息;
使用所述第一移动信息来模拟所述第一发型的第一移动,其中所述模拟使用模拟引擎,所述模拟引擎基于所述第一移动信息来确定每个混合形状的第一集合的线性组合;
在所述移动设备的所述用户界面上接收对用于所述头部的所述头像的第二发型的选择;
确定所述头部的所述头像上的所述第二发型定位在其上的第二组区,所述第二组区选自能够为所述头像定义发型的所述多个可能的区,其中所述第二组区包括在所述第一组区中的第一部分和不在所述第一组区中的第二部分;
识别用于所述第二发型的混合形状的第二集合,所述混合形状的第二集合对应于所述第二组区并且与所述不同的移动方向相关;
接收用于所述头像的所述头部的第二移动信息;以及
使用所述模拟引擎利用所述第二移动信息来模拟所述第二发型的第二移动。
33.根据权利要求32所述的移动设备,其中所述头部的所述头像是三维的(3D)。
34.根据权利要求32所述的移动设备,其中模拟所述第一发型的所述第一移动包括:
对于所述第一组区中的每一个区:
对于区的所述混合形状的第一集合中的每一种混合形状:
使用所述第一移动信息来确定混合形状的对应权重;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
35.根据权利要求32所述的移动设备,其中模拟所述第二发型的所述第二移动包括:
对于所述第二组区中的每一个区:
对于区的所述混合形状的第二集合中的每一种混合形状:
使用所述第二移动信息来确定混合形状的对应权重,其中响应于所述第一移动信息和所述第二移动信息相同,所述第一移动信息的第一权重和所述第二移动信息的第二权重相同;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
36.一种包括指令的非暂态计算机可读介质,所述指令被配置为使一个或多个处理器执行操作,所述操作包括:
在移动设备的用户界面上接收对用于头部的头像的第一发型的选择;
确定所述头部的所述头像上的所述第一发型定位在其上的第一组区,所述第一组区选自能够为所述头像定义发型的多个可能的区;
识别所述第一发型的所述第一组区中的每一个区的混合形状的第一集合,每个混合形状的第一集合与不同的移动方向相关;
接收用于所述头像的所述头部的第一移动信息;
使用所述第一移动信息来模拟所述第一发型的第一移动,其中所述模拟使用模拟引擎,所述模拟引擎基于所述第一移动信息来确定每个混合形状的第一集合的线性组合;
在所述移动设备的所述用户界面上接收对用于所述头部的所述头像的第二发型的选择;
确定所述头部的所述头像上的所述第二发型定位在其上的第二组区,所述第二组区选自能够为所述头像定义发型的所述多个可能的区,其中所述第二组区包括在所述第一组区中的第一部分和不在所述第一组区中的第二部分;
识别用于所述第二发型的混合形状的第二集合,所述混合形状的第二集合对应于所述第二组区并且与所述不同的移动方向相关;
接收用于所述头像的所述头部的第二移动信息;以及
使用所述模拟引擎利用所述第二移动信息来模拟所述第二发型的第二移动。
37.根据权利要求36所述的计算机可读介质,其中所述头部的所述头像是三维的(3D)。
38.根据权利要求36所述的计算机可读介质,其中模拟所述第一发型的所述第一移动包括:
对于所述第一组区中的每一个区:
对于区的所述混合形状的第一集合中的每一种混合形状:
使用所述第一移动信息来确定混合形状的对应权重;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
39.根据权利要求36所述的计算机可读介质,其中模拟所述第二发型的所述第二移动包括:
对于所述第二组区中的每一个区:
对于区的所述混合形状的第二集合中的每一种混合形状:
使用所述第二移动信息来确定混合形状的对应权重,其中响应于所述第一移动信息和所述第二移动信息相同,所述第一移动信息的第一权重和所述第二移动信息的第二权重相同;以及
将所述对应权重应用于所述混合形状,以作为确定该区的混合形状的线性组合的一部分。
CN201980036804.8A 2018-06-03 2019-05-20 优化的头像资产资源 Active CN112219229B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862679875P 2018-06-03 2018-06-03
US62/679,875 2018-06-03
US16/283,614 2019-02-22
US16/283,610 US10796470B2 (en) 2018-06-03 2019-02-22 Optimized avatar asset resource
US16/283,610 2019-02-22
US16/283,614 US10719969B2 (en) 2018-06-03 2019-02-22 Optimized avatar zones
PCT/US2019/033180 WO2019236276A1 (en) 2018-06-03 2019-05-20 Optimized avatar asset resource

Publications (2)

Publication Number Publication Date
CN112219229A CN112219229A (zh) 2021-01-12
CN112219229B true CN112219229B (zh) 2022-05-10

Family

ID=68692734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980036804.8A Active CN112219229B (zh) 2018-06-03 2019-05-20 优化的头像资产资源

Country Status (4)

Country Link
US (2) US10796470B2 (zh)
EP (2) EP4123587A1 (zh)
CN (1) CN112219229B (zh)
WO (1) WO2019236276A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK179329B1 (en) * 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
DK201870374A1 (en) 2018-05-07 2019-12-04 Apple Inc. AVATAR CREATION USER INTERFACE
US12033296B2 (en) 2018-05-07 2024-07-09 Apple Inc. Avatar creation user interface
KR102663906B1 (ko) * 2019-01-14 2024-05-09 삼성전자주식회사 아바타를 생성하기 위한 전자 장치 및 그에 관한 방법
USD956101S1 (en) 2019-06-02 2022-06-28 Apple Inc. Type font and electronic device with graphical user interface
USD964458S1 (en) * 2019-09-30 2022-09-20 Apple Inc. Type font
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
USD950589S1 (en) * 2020-06-18 2022-05-03 Apple Inc. Display screen or portion thereof with graphical user interface
USD942473S1 (en) * 2020-09-14 2022-02-01 Apple Inc. Display or portion thereof with animated graphical user interface
USD956068S1 (en) * 2020-09-14 2022-06-28 Apple Inc. Display screen or portion thereof with graphical user interface
US11587277B2 (en) * 2020-12-16 2023-02-21 Sony Interactive Entertainment LLC Weight maps to generate off-center split maps of a shape
US11663764B2 (en) 2021-01-27 2023-05-30 Spree3D Corporation Automatic creation of a photorealistic customized animated garmented avatar
US11714536B2 (en) * 2021-05-21 2023-08-01 Apple Inc. Avatar sticker editor user interfaces
US11769346B2 (en) 2021-06-03 2023-09-26 Spree3D Corporation Video reenactment with hair shape and motion transfer
US11836905B2 (en) 2021-06-03 2023-12-05 Spree3D Corporation Image reenactment with illumination disentanglement
US11854579B2 (en) 2021-06-03 2023-12-26 Spree3D Corporation Video reenactment taking into account temporal information
US20230009454A1 (en) * 2021-07-12 2023-01-12 Keith Paciello Digital character with dynamic interactive behavior
USD1028113S1 (en) * 2021-11-24 2024-05-21 Nike, Inc. Display screen with icon
CN114327705B (zh) * 2021-12-10 2023-07-14 重庆长安汽车股份有限公司 车载助手虚拟形象自定义方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431635A (zh) * 2015-03-27 2017-12-01 英特尔公司 化身面部表情和/或语音驱动的动画化

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614714B1 (en) 2009-12-21 2013-12-24 Lucasfilm Entertainment Company Ltd. Combining shapes for animation
US9911220B2 (en) * 2014-07-28 2018-03-06 Adobe Systes Incorporated Automatically determining correspondences between three-dimensional models
US20170069124A1 (en) * 2015-04-07 2017-03-09 Intel Corporation Avatar generation and animations
WO2017223530A1 (en) 2016-06-23 2017-12-28 LoomAi, Inc. Systems and methods for generating computer ready animation models of a human head from captured data images
US10559111B2 (en) * 2016-06-23 2020-02-11 LoomAi, Inc. Systems and methods for generating computer ready animation models of a human head from captured data images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431635A (zh) * 2015-03-27 2017-12-01 英特尔公司 化身面部表情和/或语音驱动的动画化

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
" A System to Reuse Facial Rigs and Animations";Orvalho;《ECAG 2008 Workshop Facial and Bodily Expressions for Control and Adaptation of Games》;20081231;第22-26页、图2 *

Also Published As

Publication number Publication date
US10719969B2 (en) 2020-07-21
WO2019236276A1 (en) 2019-12-12
EP3782128B1 (en) 2022-10-12
US20190371032A1 (en) 2019-12-05
EP3782128A1 (en) 2021-02-24
CN112219229A (zh) 2021-01-12
US20190371033A1 (en) 2019-12-05
EP4123587A1 (en) 2023-01-25
US10796470B2 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
CN112219229B (zh) 优化的头像资产资源
US20200380768A1 (en) Parameterized generation of two-dimensional images from a three-dimensional model
US10659405B1 (en) Avatar integration with multiple applications
US11074753B2 (en) Multi-pass object rendering using a three- dimensional geometric constraint
US20200219302A1 (en) Method for Sharing Emotions Through the Creation of Three-Dimensional Avatars and Their Interaction
US10607419B2 (en) Avatar editing environment
AU2023200867B2 (en) Avatar integration with multiple applications
US11636661B2 (en) Messaging system with augmented reality messages
JP2019207670A (ja) アバター作成ユーザインターフェース
KR20220161461A (ko) 메시징 시스템에서 물리적 제품들에 대한 증강 현실 경험들
CN110322571B (zh) 一种页面处理方法、装置及介质
CN110046020B (zh) 电子设备、计算机可读存储介质及电子设备处执行的方法
KR102583214B1 (ko) 아바타 생성 사용자 인터페이스
CN111897614B (zh) 头像与多个应用程序的集成
CN117576270A (zh) 面部表情处理方法、装置、计算机设备和存储介质

Legal Events

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