System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
本申请涉及基于计算机的图形模拟和动画。特定实施例提供用于纤维系统的一根或多根纤维的基于计算机的图形模拟和动画和/或操纵的方法和系统。
技术介绍
1、在传统动画中,动画师首先在透明纸上一次一帧绘制序列。然后将这些帧拼接在一起以创建运动图像。角色的逼真动画(例如,栩栩如生的人类角色、动物角色、类人角色、虚构角色等)通常是通过使用才华横溢的艺术家和大量的时间和资源来实现的。
2、基于计算机的图形模拟旨在减少传统动画的时间和资源。对于基于计算机的图形模拟,角色头发的每根单独的发丝可以由从角色的表面(有时称为“网格”)延伸的多个互连顶点表示。头发的相邻顶点由线段或杆连接。通过改变顶点的相对位置和/或线段的方向,可以实现不同的发型。由于角色可能具有数千根模拟的发丝,并且每根模拟的发丝可以包括数百个顶点/线段,因此将模拟的发丝排列成所需的发型可能很耗时。
3、程序化动画是一种基于计算机的动画,用于实时自动生成动画,以允许一系列不同的动作。程序化动画通常用于模拟纤维系统,比如头发、毛发、草等。
4、程序化动画可以依赖于节点图架构,该架构采用可以连接以形成图形的模块化节点组件。每种类型的节点组件都可以进行特定的任务。例如,头发的简化节点图可以包括用于在角色的头皮上分布发丝的位置的“分布节点”、用于在由分布节点指定的每个位置生成发丝的“生成节点”以及用于对在生成节点生成的每根发丝进行整形的“变形节点”。节点图可以包括用于设定发丝长度、发丝厚度、发丝颜色、发丝成束等的多个其他节点。
5、特别是当节点图变
6、期望用于使诸如头发、毛发、草等之类纤维系统动画化(例如,操纵这样的纤维系统)的动画工作流的改进方法,所述改进方法与依赖于在整个动画工作流中重复更新和渲染节点图的当前程序化动画技术相比,在计算上较不太昂贵。
7、相关技术的前述例子和与其相关的限制旨在是说明性的而非排他性的。在阅读说明书和研究附图后,相关技术的其他限制对于本领域技术人员来说将变得明显。
技术实现思路
1、结合旨在是示例性和说明性而非限制范围的系统、工具和方法来描述和说明以下实施例及其各个方面。在各个实施例中,已经减少或消除了上述问题中的一个或多个,而其他实施例涉及其他改进。
2、本专利技术的一个方面提供一种用于在基于计算机的动画过程中使纤维动画化的方法。所述方法包括:获得包括多根纤维的纤维高速缓存(fiber cache),所述多根纤维中的每根纤维包括多个纤维顶点;获得一根或多根引导线(guide),所述一根或多根引导线中的每根引导线包括多个引导线顶点;确定将所述一根或多根引导线绑定到所述纤维高速缓存的绑定信息,其中确定所述绑定信息包括对于所述纤维高速缓存的每根纤维:使所述纤维与所述一根或多根引导线当中的一根或多根附近引导线关联;并且对于关联的所述一根或多根附近引导线中的每一根:使所述纤维的每个纤维顶点与关联的附近引导线的附近引导线顶点关联;以及对于所述纤维的每个纤维顶点,确定纤维顶点和关联的附近引导线顶点之间的位移向量。
3、所述方法可以包括操纵所述一根或多根引导线中的至少一根引导线,其中操纵所述一根或多根引导线中的所述至少一根引导线包括改变所述一根或多根引导线中的所述至少一根引导线的一个或多个引导线顶点的位置。
4、操纵所述一根或多根引导线中的至少一根引导线可以至少部分地基于用户输入。
5、操纵所述一根或多根引导线中的至少一根引导线可以至少部分地基于自动动画模拟。
6、操纵所述一根或多根引导线中的至少一根引导线可以包括接收位移区域和位移向量的指示。
7、操纵所述一根或多根引导线中的至少一根引导线可以包括:将在所述位移区域中具有一个或多个顶点的任何引导线的顶点位移与所述位移向量对应的位移。
8、操纵所述一根或多根引导线中的至少一根引导线可以包括:将位于所述位移区域中的任何引导线的任何顶点位移与所述位移向量对应的位移。
9、操纵所述一根或多根引导线中的至少一根引导线可以包括:按照在2021年3月18日提交的美国专利申请no.63/163025中提出的方法中的任何一种方法,至少部分地基于所述区域和所述位移向量的指示来改变所述一根或多根引导线中的所述至少一根引导线的所述一个或多个引导线顶点的位置。
10、获得所述一根或多根引导线可以包括:通过从所述纤维高速缓存的所述多根纤维当中选择一根或多根纤维作为所述一根或多根引导线,从所述纤维高速缓存提取所述一根或多根引导线。
11、从所述纤维高速缓存提取所述一根或多根引导线可以包括:滤除以下中的一个或多个:所述纤维高速缓存的所述多根纤维中的长度在阈值范围之内或之外的纤维;所述纤维高速缓存的所述多根纤维中的阈值百分比的纤维,同时保持所述纤维高速缓存的所述多根纤维中的剩余纤维之间的最小间距;所述纤维高速缓存的所述多根纤维中的具有在形状特性范围之内或之外的一个或多个形状特性的纤维;所述纤维高速缓存的所述多根纤维中的具有在曲率范围之内或之外的曲率的纤维;以及所述纤维高速缓存的所述多根纤维中的与所述纤维高速缓存的所述多根纤维中的其他附近纤维不同的纤维。从所述纤维高速缓存提取所述一根或多根引导线可以包括:从所述纤维高速缓存的所述多根纤维的剩余纤维当中选择所述一根或多根纤维作为所述一根或多根引导线。
12、所述多根纤维中的每根纤维的所述多个纤维顶点可以包括根纤维顶点和一个或多个其他纤维顶点。所述一根或多根引导线中的每根引导线的所述多个引导线顶点可以包括根引导线顶点和一个或多个其他引导线顶点。对于所述纤维高速缓存的每根纤维,使所述纤维与所述一根或多根引导线当中的一根或多根附近引导线关联可以包括:将所述一根或多根引导线中的具有在所述纤维的根纤维顶点的阈值距离之内的根引导线顶点的任何一根引导线识别为所述一根或多根附近引导线。
13、所述阈值距离可以是用户可配置的。
14、所述多根纤维中的每根纤维的所述多个纤维顶点可以包括根纤维顶点和一个或多个其他纤维顶点。所述一根或多根引导线中的每根引导线的所述多个引导线顶点可以包括根引导线顶点和一个或多个其他引导线顶点。对于所述纤维高速缓存的每根纤维,使所述纤维与所述一根或多根引导线当中的一根或多根附近引导线关联可以包括:至少部分地基于所述纤维的根纤维顶点与所述一根或多根引导线中的每根引导线的根引导线顶点之间的距离来识别所述一根或多根附近引导线。
15、至少部分地基于所述纤维的根纤维顶点与所述一根或多根引导线中的每根引导线的根引导线顶点之间的距离来识别所述一根或多根附近引导线可以包括:识别在所述纤维的根纤维顶点和所述引导线的根引导线顶点之间具有最短距离的阈值数量的一根或多根引导线,以作为所述一根或多根附近引导线。
16、所述阈值数量可以是用户可配置的。
17、对于所述纤维高速缓存本文档来自技高网...
【技术保护点】
1.一种用于在基于计算机的动画过程中使纤维动画化的方法,所述方法包括:
2.按照权利要求1或本文中的任何其他权利要求所述的方法,包括操纵所述一根或多根引导线中的至少一根引导线,其中操纵所述一根或多根引导线中的所述至少一根引导线包括改变所述一根或多根引导线中的所述至少一根引导线的一个或多个引导线顶点的位置。
3.按照权利要求2或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线至少部分基于用户输入。
4.按照权利要求2或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线至少部分基于自动动画模拟。
5.按照权利要求2~4任意之一或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括接收位移区域和位移向量的指示。
6.按照权利要求5或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括:将在所述位移区域中具有一个或多个顶点的任何引导线的顶点位移与所述位移向量对应的位移。
7.按照权利要
8.按照权利要求5或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括:按照在2021年3月18日提交的美国专利申请No.63/163025中提出的方法中的任何一种方法,至少部分基于所述区域和所述位移向量的指示来改变所述一根或多根引导线中的所述至少一根引导线的所述一个或多个引导线顶点的位置。
9.按照权利要求1~8任意之一或本文中的任何其他权利要求所述的方法,其中获得所述一根或多根引导线包括:通过从所述纤维高速缓存的所述多根纤维当中选择一根或多根纤维作为所述一根或多根引导线,从所述纤维高速缓存提取所述一根或多根引导线。
10.按照权利要求5或本文中的任何其他权利要求所述的方法,其中从所述纤维高速缓存提取所述一根或多根引导线包括:
11.按照权利要求1~10任意之一或本文中的任何其他权利要求所述的方法,其中:
12.按照权利要求11或本文中的任何其他权利要求所述的方法,其中所述阈值距离是用户可配置的。
13.按照权利要求1~10任意之一或本文中的任何其他权利要求所述的方法,其中:
14.按照权利要求13或本文中的任何其他权利要求所述的方法,其中至少部分基于所述纤维的根纤维顶点与所述一根或多根引导线中的每根引导线的根引导线顶点之间的距离来识别所述一根或多根附近引导线包括:识别在所述纤维的根纤维顶点和所述引导线的根引导线顶点之间具有最短距离的阈值数量的一根或多根引导线,以作为所述一根或多根附近引导线。
15.按照权利要求14或本文中的任何其他权利要求所述的方法,其中所述阈值数量是用户可配置的。
16.按照权利要求1~15任意之一或本文中的任何其他权利要求所述的方法,其中对于所述纤维高速缓存的每根纤维以及对于关联的所述一根或多根附近引导线中的每一根,使所述纤维的每个纤维顶点与关联的附近引导线的附近引导线顶点关联包括:对于所述纤维的每个纤维顶点以及对于关联的附近引导线,选择与所述纤维的纤维顶点最近的关联引导线的引导线顶点作为附近引导线顶点。
17.按照权利要求1~16任意之一或本文中的任何其他权利要求所述的方法,包括:
18.按照权利要求17或本文中的任何其他权利要求所述的方法,其中至少部分基于所述绑定信息更新所述纤维高速缓存包括:对于所述纤维高速缓存的每根纤维的每个纤维顶点,按照下式获得更新的纤维顶点位置p*:
19.按照权利要求17和18任意之一或本文中的任何其他权利要求所述的方法,包括至少部分基于更新的纤维高速缓存渲染包括所述多根纤维的一帧动画。
20.按照权利要求1~16任意之一或本文中的任何其他权利要求所述的方法,包括至少部分基于所述纤维高速缓存和所述绑定信息渲染包括所述多根纤维的一帧动画,所述绑定信息对于所述纤维高速缓存的每根纤维包括:
21.按照权利要求20所述的方法,其中至少部分基于所述纤维高速缓存和所述绑定信息渲染包括所述多根纤维的一帧动画包括:在渲染时采用所述纤维高速缓存和所述绑定信息两者。
22.一种用于在基于计算机的动画过程中使纤维动画化的系统,所述系统包括处理器,所述处理器(例如,通过适当的编程)被配置为:
23.按照权利要求22所述的系统,...
【技术特征摘要】
【国外来华专利技术】
1.一种用于在基于计算机的动画过程中使纤维动画化的方法,所述方法包括:
2.按照权利要求1或本文中的任何其他权利要求所述的方法,包括操纵所述一根或多根引导线中的至少一根引导线,其中操纵所述一根或多根引导线中的所述至少一根引导线包括改变所述一根或多根引导线中的所述至少一根引导线的一个或多个引导线顶点的位置。
3.按照权利要求2或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线至少部分基于用户输入。
4.按照权利要求2或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线至少部分基于自动动画模拟。
5.按照权利要求2~4任意之一或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括接收位移区域和位移向量的指示。
6.按照权利要求5或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括:将在所述位移区域中具有一个或多个顶点的任何引导线的顶点位移与所述位移向量对应的位移。
7.按照权利要求5或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括:将位于所述位移区域中的任何引导线的任何顶点位移与所述位移向量对应的位移。
8.按照权利要求5或本文中的任何其他权利要求所述的方法,其中操纵所述一根或多根引导线中的至少一根引导线包括:按照在2021年3月18日提交的美国专利申请no.63/163025中提出的方法中的任何一种方法,至少部分基于所述区域和所述位移向量的指示来改变所述一根或多根引导线中的所述至少一根引导线的所述一个或多个引导线顶点的位置。
9.按照权利要求1~8任意之一或本文中的任何其他权利要求所述的方法,其中获得所述一根或多根引导线包括:通过从所述纤维高速缓存的所述多根纤维当中选择一根或多根纤维作为所述一根或多根引导线,从所述纤维高速缓存提取所述一根或多根引导线。
10.按照权利要求5或本文中的任何其他权利要求所述的方法,其中从所述纤维高速缓存提取所述一根或多根引导线包括:
11.按照权利要求1~10任意之一或本文中的任何其他权利要求所述的方法,其中:
12.按照权利要求11或本文中的任何其他权利要求所述的方法,其中所述阈值距离是用户可配置的。
13.按照权利要求1~10任意之一或本文中的任何其他权利要求所述的方法,其中:
14.按照权利要求13或本文中的任何其他权利要求所述的方法,其中至少部分基于所述纤维的根纤维顶点与所述一...
【专利技术属性】
技术研发人员:林韦锦,G·拉弗拉塔,R·萨克斯,N·富奥克,
申请(专利权)人:数字王国虚拟人美国股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。