一种鱼群动画制作系统及其鱼群生成方法与流程

文档序号:12735727阅读:473来源:国知局
一种鱼群动画制作系统及其鱼群生成方法与流程

本发明属于计算机动画制作中群体动画制作的技术领域,尤其涉及一种鱼群动画制作系统及其鱼群生成方法。



背景技术:

群体动画是对群体行为动画的简称,研究和模拟由简单个体组成的群落与环境以及个体之间的互动行为。随着计算机图形学、数字处理技术的极速发展和计算机硬件成本的不断降低,计算机动画技术在各个领域中的应用都得到了有力地推动和普及。群体动画是计算机动画领域的重要研究方向。它以其大规模的群体数量、震撼的运动和仿真效果,在游戏、娱乐、教育、军事模拟、虚拟现实等多个领域都发挥着重要作用。

在现有的群体动画制作过程中,如果群体中个体数量较少,动画设计师还可以承受,但是如果个体数量太多,动画设计师就需要付出繁重的劳动,因为群体动画不仅要求群体的运动协调一致,而且要求个体分别具有独特的运动轨迹,如果手动创建每个个体以及个体的运动路径,不仅效果不逼真,而且实现的代价和成本过高。

论文“群体动画虚拟环境建模与路径规划方法研究”中在角色建模方面,针对群体角色数量大、模型相似但不相同等特点和传统的手工设计方法面临的工作量大、效率低、创新性不足的问题,提出了改进的元细胞遗传算法NICGA,结合CGA和NURBS技术实现群体角色建模,通过调整角色模型的NURBS曲线控制点和曲率产生新的模型,利用自适应机制控制参数设置,借鉴精英保留和隔代进化策略,提高群体角色建模的质量和速度,NUCGA方法有效地解决了传统3D动漫角色建模方法难以设计出有足够创意的模型和数以万计的3D群体角色建模工作量大的问题。

但是,该方法存在一定的不足,虽然与传统3D动漫角色建模方法相比在群体角色建模的质量和速度上取得了较好的效果,然而,该方法针对人工鱼整体进行建模,在群体角色建模时也是调整整个角色模型的NURBS曲线控制点和曲率产生新的模型,群体模型的数量和形态受到限制。因此,在群体角色建模方面,群体模型的数量和形态多样化还可以得到进一步的提高。

综上所述,现有技术中在群体角色建模方面如何进一步提高群体模型的数量和形态多样化,尚缺乏有效的解决方案。



技术实现要素:

本发明为了解决上述问题,提供一种鱼群动画制作系统及其鱼群生成方法。本发明由鱼群模型生成及鱼群动画生成两大部分组成。鱼群模型生成采用实数编码遗传算法在已有人工设计鱼的基础上生成鱼群模型,生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律;鱼群动画生成采用微粒群算法实现个体的避障及碰撞,并有效的实现聚集、分离及跟随目标等群体移动行为的动画。

为了实现上述目的,本发明采用如下技术方案:

一种鱼群动画制作系统,该系统包括:

人工鱼模型部件单元,其用于采用基于NURBS模型的实数编码遗传算法生成人工鱼部件,以及根据所述人工鱼部件进行组装;

鱼群模型库管理单元,其用于保存所述人工鱼模型部件单元生成的人工鱼部件,选取进行组装的人工鱼部件,以及保存组装后的人工鱼,为鱼群动画生成单元选取人工鱼;

鱼群动画路径规划单元,其用于采用微粒群算法对鱼群运动的路径进行规划;

鱼群动画生成单元,其用于把从所述鱼群模型库管理单元选取的人工鱼导入选定的路径,生成动画。

优选的,所述人工鱼模型部件单元,包括:

人工鱼模型部件设计单元,其用于采用基于NURBS模型的实数编码遗传算法生成人工鱼部件;

人工鱼模型组装单元,根据所述人工鱼模型部件设计单元生成的工鱼部件组装成人工鱼。

本发明为了解决上述问题,提供一种鱼群动画制作系统及其鱼群生成方法。本发明由鱼群模型生成及鱼群动画生成两大部分组成。鱼群模型生成采用实数编码遗传算法在已有人工设计鱼的基础上生成鱼群模型,生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律;鱼群动画生成采用微粒群算法实现个体的避障及碰撞,并有效的实现聚集、分离及跟随目标等群体移动行为的动画。

为了实现上述目的,本发明采用如下技术方案:

一种鱼群动画制作系统的鱼群生成方法,该方法包括以下步骤:

(1)在所述人工鱼模型设计单元中,把人工鱼分解成为单个的部件,并将分解出的各个部件执行实数编码遗传算法;

(2)分别获取步骤(1)中各个部件的NURBS模型,设置默认操作次数执行实数编码遗传算法,生成新的人工鱼部件;

(3)将步骤(2)中生成的新的人工鱼部件保存至所述鱼群模型库管理单元中;

(4)重复步骤(2)-步骤(3)直至所有的人工鱼部件生成完成;

(5)从所述鱼群模型库管理单元中取出人工鱼部件组装成为人工鱼,然后存到鱼群模型库。

优选的,在所述步骤(1)中,所述部件包括:

鱼身部件,背鳍部件,尾部件,尾鳍部件,肚鳍部件,眼部件和嘴部件。

优选的,在所述步骤(2)中,具体步骤包括:

(2-1)提取一个人工鱼部件的NURBS模型的轮廓线;

(2-2)在步骤(2-1)中提取的NURBS模型的轮廓线上选取一组控制点,在控制点处对NURBS模型的轮廓线进行放大或缩小,得到一组候选的部件;

(2-3)对所述候选的部件采用适应度函数进行评价,选取适应度值高的部件作为种子,指定次数;

(2-4)对所述种子进行操作直至执行完制定次数,生成新的人工鱼部件。

优选的,在所述步骤(2-1)中,所述NURBS模型的轮廓线包括U线和V线,所述U线是模型表面横向上的曲线,所述V线是模型表面纵向上的曲线;

提取NURBS模型的轮廓线,即提取NURBS模型的所述U线和所述V线。

优选的,在所述步骤(2-2)中,具体步骤包括:

在NURBS模型的所述U线上选取一组控制点,以0.8-1.2之间的随机数作为倍数,在所述控制点处对NURBS模型的U线进行放大或缩小,放大或缩小的倍数作为实数编码遗传算法的编码。

优选的,在所述步骤(2-2)中,具体步骤包括:

在NURBS模型的所述V线上选取一组控制点,以0.8-1.2之间的随机数作为倍数,在所述控制点处对NURBS模型的V线进行放大或缩小,放大或缩小的倍数作为实数编码遗传算法的编码。

优选的,在所述步骤(2-3)中,

所述适应度函数为:

其中,

Currenti:当前个体的第i个曲线的半径与第一曲线的半径之间的比率;

Besti:当前个体的第i个曲线的半径与第一曲线的半径之间的最佳比率;

曲线的半径:控制点到第i个曲线上的中心点的距离的平均值。

优选的,所述步骤(2-4)中,具体步骤包括:

(2-4-1)对所述种子两两进行多点交叉;

(2-4-2)对所述种子进行多点变异;

(2-4-3)重复步骤(2-4-1)-步骤(2-4-2)直至执行完所述步骤(2-3)中的指定次数。

本发明的有益效果:

(1)本发明的一种鱼群动画制作系统的鱼群生成方法,利用现有人工设计的鱼作为种子,通过实数编码遗传算法派生鱼群,在保证鱼群模型的数量和形态多样化的情况下,有效减少设计人员的工作量;

(2)本发明的一种鱼群动画制作系统的鱼群生成方法,其中的实数编码遗传算法包括交叉和变异操作,可以使生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律。

(3)本发明的一种鱼群动画制作系统及其鱼群生成方法,不仅仅局限于鱼群动画的制作与鱼群的实诚,同样适用于基于NURBS模型进行角色设计的各类动画制作。

附图说明

图1是本发明的鱼群动画制作系统的结构示意图;

图2是本发明中鱼群生成方法的方法流程示意图;

图3是本发明中一个鲨鱼模型示意图;

图4是本发明中一个鲨鱼模型鱼身示意图;

图5是本发明中提取NURBS模型的U线和V线示意图;

图6是本发明中鱼身NURBS模型的U线和V线控制点示意图;

图7是本发明中两个双亲鱼身示意图;

图8是本发明中两个双亲鱼身NURBS模型的U线和V线示意图;

图9是本发明生成的两个孩子鱼身NURBS模型的U线和V线示意图;

图10是本发明生成的两个孩子鱼身示意图;

图11是本发明中图4所示的鱼身的NURBS模型的轮廓线示意图;

图12是本发明中交叉变异生成孩子鱼身的NURBS模型的轮廓线示意图;

图13是本发明中交叉变异生成的孩子鱼身示意图;

图14是本发明执行5次叠代后生成的鲨鱼鱼身示意图;

图15本发明生成的鱼群聚集路径示意图;

图16本发明生成的鱼群聚集动画示意图。

具体实施方式:

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面结合附图与实施例对本发明作进一步说明。

实施例1:

本发明为了解决上述问题,提供一种鱼群动画制作系统及其鱼群生成方法。本发明由鱼群模型生成及鱼群动画生成两大部分组成。鱼群模型生成采用实数编码遗传算法在已有人工设计鱼的基础上生成鱼群模型,生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律;鱼群动画生成采用微粒群算法实现个体的避障及碰撞,并有效的实现聚集、分离及跟随目标等群体移动行为的动画。

为了实现上述目的,本发明采用如下实施方式:

一种鱼群动画制作系统,如图1所示,该系统包括:

人工鱼模型部件单元,其用于采用基于NURBS模型的实数编码遗传算法生成人工鱼部件,以及根据所述人工鱼部件进行组装;

鱼群模型库管理单元,其用于保存所述人工鱼模型部件单元生成的人工鱼部件,选取进行组装的人工鱼部件,以及保存组装后的人工鱼,为鱼群动画生成单元选取人工鱼;

鱼群动画路径规划单元,其用于采用微粒群算法对鱼群运动的路径进行规划;

鱼群动画生成单元,其用于把从所述鱼群模型库管理单元选取的人工鱼导入选定的路径,生成动画。

所述人工鱼模型部件单元又具体包括:

人工鱼模型部件设计单元,其用于采用基于NURBS模型的实数编码遗传算法生成人工鱼部件;

人工鱼模型组装单元,根据所述人工鱼模型部件设计单元生成的工鱼部件组装成人工鱼。

实施例2:

本发明为了解决上述问题,提供一种鱼群动画制作系统及其鱼群生成方法。本发明由鱼群模型生成及鱼群动画生成两大部分组成。鱼群模型生成采用实数编码遗传算法在已有人工设计鱼的基础上生成鱼群模型,生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律;鱼群动画生成采用微粒群算法实现个体的避障及碰撞,并有效的实现聚集、分离及跟随目标等群体移动行为的动画。

为了实现上述目的,本发明采用如下实施方式:

一种鱼群动画制作系统的鱼群生成方法,如图2所示,该方法包括以下步骤:

(1)在所述人工鱼模型设计单元中,把人工鱼分解成为单个的部件,并将分解出的各个部件执行实数编码遗传算法;

(2)分别获取步骤(1)中各个部件的NURBS模型,设置循环次数执行实数编码遗传算法,生成新的人工鱼部件;

(3)将步骤(2)中生成的新的人工鱼部件保存至所述鱼群模型库管理单元中;

(4)判断是否达到指定次数,若达到,人工鱼部件生成完成;若未达到,重复步骤(2)-步骤(3);

(5)从所述鱼群模型库管理单元中取出人工鱼部件组装成为人工鱼,然后存到鱼群模型库。

在本实施例中以鲨鱼模型为例。

在所述步骤(1)中,将整个鲨鱼模型分解为鱼身部件,背鳍部件,尾部件,尾鳍部件,肚鳍部件,眼部件和嘴部件,共七个部件。

以鲨鱼鱼身设计为例,执行基于NURBS模型的遗传算法,一个鲨鱼模型如图3所示,鲨鱼鱼身的模型如图4所示;

在所述步骤(2)中,具体步骤包括:

(2-1)提取一个人工鱼部件的NURBS模型的轮廓线;

在所述步骤(2-1)中,所述NURBS模型的轮廓线包括U线和V线,所述U线是模型表面横向上的曲线,所述V线是模型表面纵向上的曲线;

提取鲨鱼鱼身的NURBS模型的轮廓线,即提取NURBS模型的所述U线和所述V线,如图5所示。

(2-2)在步骤(2-1)中提取的NURBS模型的轮廓线上选取一组控制点,在控制点处对NURBS模型的轮廓线进行放大或缩小,得到一组候选的部件;

在所述步骤(2-2)中,具体步骤包括:

在NURBS模型的所述U线上选取一组控制点,以0.8-1.2之间的随机数作为倍数,在所述控制点处对NURBS模型的U线进行放大或缩小,放大或缩小的倍数作为实数编码遗传算法的编码。

在NURBS模型的所述V线上选取一组控制点,以0.8-1.2之间的随机数作为倍数,在所述控制点处对NURBS模型的V线进行放大或缩小,放大或缩小的倍数作为实数编码遗传算法的编码。

图5所示鱼身NURBS模型的U线和V线控制点如图6所示。

对图7所示的两个双亲鱼身提取NURBS模型的U线和V线,得到图8。根据放大或缩小的倍数进行编码,得到:

左双亲鱼身:(1.0) (1.13) (0.91) (0.95) (1.08) (0.99) (1.16) (0.92) (0.85) (0.92) (1.19) (0.97) (0.94) (1.11) (1.12) (1.03)

右双亲鱼身:(1.0) (0.90) (1.10) (0.96) (1.00) (0.98) (1.00) (1.14) (1.11) (0.87) (1.09) (0.87) (1.12) (1.01) (1.17) (1.06)

(2-3)对所述候选的部件采用适应度函数进行评价,选取适应度值高的部件作为种子,在本实施例中,指定叠代次数为5;

在所述步骤(2-3)中,

所述适应度函数为:

其中,

Currenti:当前个体的第i个曲线的半径与第一曲线的半径之间的比率;

Besti:当前个体的第i个曲线的半径与第一曲线的半径之间的最佳比率;

曲线的半径:控制点到第i个曲线上的中心点的距离的平均值。

(2-4)对所述种子进行操作直至执行完制定次数,生成新的人工鱼部件。

所述步骤(2-4)中,具体步骤包括:

(2-4-1)对所述种子两两进行多点交叉;

(2-4-2)对所述种子进行多点变异;

(2-4-3)重复步骤(2-4-1)-步骤(2-4-2)直至执行完所述步骤(2-3)中的指定次数。

选择编码后的控制点7和11进行交叉,得到两个孩子鱼身的编码:

左孩子鱼身:(1.0) (1.13) (0.91) (0.95) (1.08) (0.99) (1.00) (0.92) (0.85) (0.92) (1.09) (0.97) (0.94) (1.11) (1.12) (1.03)

右孩子鱼身:(1.0) (0.90) (1.10) (0.96) (1.00) (0.98) (1.16) (1.14) (1.11) (0.87) (1.19) (0.87) (1.12) (1.01) (1.17) (1.06)

生成的两个孩子鱼身NURBS模型的轮廓线如图9所示,两个孩子鱼身如图10所示。

抽取图4所示的鱼身的NURBS模型的轮廓线,见图11,进行编码,得到:

双亲鱼身编码:(1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0)

选取控制点5和7进行变异,得到:

孩子鱼身编码:(1.0) (1.0) (1.0) (1.0) (1.364) (1.0) (1.069) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0) (1.0)

得到孩子鱼身的NURBS模型的轮廓线,见图12,孩子鱼身见图13;

执行完指定的次数,得到一组鲨鱼鱼身;

把生成的鱼身部件保存到鱼群模型库中。

图14所示为上述算法执行5次以后生成的鱼身模型。

图15为生成的鱼群聚集的路径,

图16为把从鱼群模型库管理单元选取的人工鱼群导入图15所示的路径生成的鱼群动画截图。

本发明的有益效果:

(1)本发明的一种鱼群动画制作系统的鱼群生成方法,利用现有人工设计的鱼作为种子,通过实数编码遗传算法派生鱼群,在保证鱼群模型的数量和形态多样化的情况下,有效减少设计人员的工作量;

(2)本发明的一种鱼群动画制作系统的鱼群生成方法,其中的实数编码遗传算法包括交叉和变异操作,可以使生成的鱼群模型具有既相似又不完全相同的特点,符合自然界中群聚的鱼群的规律。

(3)本发明的一种鱼群动画制作系统及其鱼群生成方法,不仅仅局限于鱼群动画的制作与鱼群的实诚,同样适用于基于NURBS模型进行角色设计的各类动画制作。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1