一种三维动画中鸟类单根羽毛的快速生成方法
【技术领域】
[0001]本发明属于三维动画领域,尤其涉及一种三维动画中鸟类单根羽毛的快速生成方法。
【背景技术】
[0002]三维动画技术,是近年来随着计算机软硬件技术的发展而产生的一种新兴技术,可以方便快捷地制作出满足导演需求的三维动画或影视特效镜头。
[0003]三维动画片的制作原理一般为:首先,利用三维软件(比如3dmax、Maya或Houdini)在计算机中建立一个虚拟的世界;然后,在这个虚拟的三维世界中添加场景和三维卡通角色等三维模型;最后,设定模型的动画曲线、虚拟摄影机的运动轨迹和其它动画参数,渲染得到表情动画。
[0004]由于三维动画技术具备可精确模拟真实景象、几乎创作限制等特点,目前被广泛应用于娱乐、教育、军事等诸多领域。
[0005]尽管现有三维软件都提供了大量功能和丰富插件,但用于自动生成鸟类羽毛并能提供对羽毛羽枝形态灵活丰富控制的却很少,或者偏于理论而非实际应用,比如利用L-system来生成羽毛。
【发明内容】
[0006]为解决上述问题,本发明提供一种三维动画中鸟类单根羽毛的快速生成方法,其能快速、简单的生成逼真的单根羽毛。
[0007]本发明的三维动画中鸟类单根羽毛的快速生成方法,其包括以下步骤:
[0008]步骤1,利用晶格变形方法调整羽毛参考NURBS面片使得整根羽毛的形态发生改变,获得新的羽毛参考NURBS面片,所述NURBS为non-uniform rat1nal B-Splines即非均匀有理B样条曲线;
[0009]步骤2,建立影响羽毛形态的各种参数曲线和羽毛整体UV映射方法,所述影响羽毛形态的各种曲线包括羽毛轮廓曲线、羽毛上羽枝疏密分布曲线、羽毛上羽枝曲率变化曲线、羽枝随机偏移强度曲线、羽杆半径变化曲线、羽枝半径变化曲线;所述羽毛整体UV映射方法为生成的单根羽毛与真实羽毛的的颜色相对应;
[0010]步骤3,在新的羽毛参考NURBS面片上利用建立的影响羽毛形态的各种参数曲线和羽毛整体UV映射方法生成单根羽毛:
[0011]步骤31,根据所述羽枝疏密分布曲线在羽杆轴向上确定羽枝位置;由所述羽枝曲率变化曲线得到羽枝方向;由所述羽枝轮廓曲线得到羽枝长度;
[0012]步骤32,在已知长度、方向和曲率变化的羽枝上分段,且段数大于等于三,从而获得羽枝各段端点在新的羽毛参考NURBS面片的自身二维坐标系中的二维坐标值(s、t);
[0013]步骤33,同样在设定长度、方向和曲率变化的羽杆上进行分段,且段数大于等于三,从而获得羽杆各段端点在新的羽毛参考NURBS面片的自身二维坐标系中的二维坐标值(S,、t,);
[0014]步骤34,根据上述羽枝和羽杆分段的各段端点的二维坐标值(s、t) (s’、t’ )利用羽毛整体UV映射方法得到各段端点对应的真实羽毛的颜色值;
[0015]步骤35,根据所述羽枝半径变化曲线得到各段端点处的羽枝半径;根据所述羽杆半径变化曲线得到各段端点处的羽杆半径;
[0016]步骤36,根据构成新的羽毛参考NURBS面片的各顶点在三维动画制作工具中默认的世界坐标系统中的三维坐标值,以及羽枝和羽杆分段的各段端点的二维坐标值(S、t)(s’、t’),利用羽毛整体UV映射方法计算出羽枝和羽杆的各段端点在世界坐标系统中的三维坐标值;
[0017]所述世界坐标系统World Coordinate System是三维动画制作工具中的默认坐标系,由三个互相垂直并相交的坐标轴X,Y,Z组成,默认情况下,X轴正向为屏幕水平向右,Y轴正向为垂直向上,Z轴正向为垂直屏幕平面指向使用者,坐标原点在屏幕左下角;
[0018]步骤37,将羽枝和羽杆分段的各段端点对应的真实羽毛的颜色值、羽枝各段端点处的羽枝半径、各段端点处的羽杆半径、以及羽枝和羽杆各段端点在世界坐标系统中的三维坐标值输入三维动画制作工具中的渲染器进行渲染获得真实的单根羽毛。
[0019]进一步的,步骤2中影响羽毛形态的各种参数曲线的建立方法为:以所述毛囊所在位置为原点,以所述羽杆方向为X轴,以相应的曲线的参数取值为Y轴,建立曲线二维坐标系,在该曲线二维坐标系上设定几个关键点,则通过几个关键点的贝塞尔曲线即为羽毛形态的各种曲线;
[0020]将生成每根羽毛的系统时间作为随机数生成算法的输入参数,利用这些输入参数生成每根羽毛在设定范围内的随机数序列;利用这些随机数序列调整几个关键点,从而使得生成每根羽毛的相应参数曲线不同。
[0021]进一步的,所述羽枝各段端点的随机偏移强度曲线用于控制羽枝分叉形态,随机强度越大,则单根羽枝的各段端点偏移原位置越多,则羽枝走向曲线曲折变化多,单根羽毛整体表现为分叉的绒毛;随机强度越小,则单根羽枝的各段端点偏移原位置越小,则羽枝的走向越趋于一致,单根羽毛整体形态表现为较为整齐排列的羽枝。
[0022]有益效果:
[0023]本发明的鸟类单根羽毛的快速生成方法通过一系列的参数曲线快速生成羽毛,通过对参数曲线的调整能够迅速得到各种形态的羽毛,羽毛形态丰富、生成方法简单,能够复制于实际应用中。
[0024]本发明的随机强度曲线用来控制羽枝的分叉形态,随机强度大的地方,羽枝的弯曲变化几乎毫无规律可言,其形态表现为分叉的绒毛;随机强度小的地方,羽枝的走向基本一致,其形态表现为较为整齐排列的羽枝。以控制随机强度曲线来快速生成逼真的绒毛和羽枝。
[0025]本发明还通过随机数序列来调整各种曲线的几个关键点,从而使得各种曲线不会雷同,以此保证不同羽枝的羽枝曲率变化曲线、羽杆半径变化曲线、羽枝半径变化曲线不同,保证了每个羽毛或羽枝的形状不尽相同。
【附图说明】
[0026]图1为本发明的关键点的贝塞尔曲线生成示意图;
[0027]图2为本发明的曲线关键点调整不意图;
[0028]图3为本发明的随机强度曲线控制示意图。
【具体实施方式】
[0029]本发明在已经生成的羽毛参考NURBS (non-uniform rat1nal B-Splines即非均匀有理B样条曲线)平面上,利用晶格变形方法调整羽毛参考NURBS平面使得整根羽毛的形态发生改变,获得所需要羽毛参考NURBS平面,比如使羽毛沿羽干弯曲。
[0030]生成的羽毛参考NURBS平面的方法为:
[0031]根据设定的羽杆方向和毛囊位置确定经过该毛囊且与羽杆垂直的面,定义该面为S面;并定义毛囊所在的多边形面为P面;获得S面和P面相交的交线,以毛囊位置为原点,经过毛囊位置的羽杆为坐标系的Z轴,且所述Z轴指向羽杆生长的方向为Z轴正方向;经过所述交线和所述Z轴的面定义为M面,经过毛囊位置、垂直于M面的线为Y轴,且所述Y轴指向多边形面外侧的方向为Y轴正方向;垂直于所述Z轴和所述Y轴的线为X轴,且结合Y轴正方向和Z轴正方向按右手规则获得X轴正方向,建立三维坐标系,则该三维坐标系的XOZ面即为羽毛参考NURBS面片。
[0032]2)设定影响羽毛形态的各种曲线,包括整根羽毛轮廓曲线、羽毛上羽枝疏密分布曲线、羽毛上羽枝曲率变化曲线、构成羽枝随机偏移强度曲线、羽杆半径变化曲线、羽枝半径变化曲线,以及羽毛整体UV映射方法。
[0033]以所述毛囊所在位置为原点,以所述羽杆方向为X轴,以相应的曲线的参数取值为Y轴,建立曲线二维坐标系,在该曲线二维坐标系上设定几个关键点,则通过几个关键点的贝塞尔曲线即为羽毛形态的各种曲线。如图1所示。
[0034]为了保证每个羽毛或羽枝的形状不尽相同,每根羽毛都有自己独特的随机数种子,然后在利用模板参数的时候,也对参数做了随机的小幅度修改,从而保证不同羽枝的羽枝曲率变化曲线、羽杆半径变化曲线、羽枝半径变化曲线不雷同。如图2所示,调整了羽枝的向上/向下弯曲程度。
[0035]将生成每根羽毛的系统时间作为随机数生成算法的输入参数,利用这