论文部分内容阅读
摘 要:本文介绍了二维角色构件化、hsf简介及人体动画自动生成。对人体动画自动生成的流程进行分析,最后给出了构件化二维人体动画自动生成的实现方式。
关键词:中职;二维角色构件化;制作
一、二维角色构件化
1.角色构件化分析
建立角色模型是动画制作的基础,二维动画亦是如此。参照人体建模标准H-Anim,将整个实体看作一个分层结构,由一定數量的骨段构成,如手臂、脚、腿等,段与段之间借助关节相连如肘、髋、脚踝、手腕等,并且除腰骨段之外,其它每个连接点都是另外一个连接点的子节点。每个节点都包含丰富的信息,如段的长度、质量、尺寸及关节的运动范围等。
由动画的制作流程可以知道,二维动画画面本质上就是由多幅二维图像组合而成的一幅二维图像。二维人体也是一张二维图像,结合上面的人体结构分析,可以将一个二维人体构件分成多个类似骨段的元件。这样只要选择相应的人体元件序列,然后将元件序列用关节点连接即可将元件重组得到人体构件。只要通过人体对各个元件自由度进行控制,即可得到不同的人体姿态,序列不同人体姿态的连续播放即人体动画。
2.二维动画人体结构分析
人体结构复杂,一个完整的人体是由多个部位组成的。参照传统三维动画中人体组成方式,一般人体结构是由头部、躯干、上肢、下肢组成。再进一步细分后头部由头和颈部组成,躯干有臀部、腹部、胸部组成,上肢由左右两边的手掌、手指、前臂、上臂组成,下肢由左右两边的脚踝、脚掌、小腿、大腿组成。由于二维动画与三维动画风格的不同,二维动画对角色的真实感要求较弱,因此可以对二维人体结构进行适当简化和改变,如将头和颈部结合,将胸部与腹部结合,将手掌手指合二为一等,简化后的人体结构包含15部分,分别是头、躯干、腰、左(右)上臂、左(右)前臂、左(右)手、左脚、左(右)大腿、左(右)小腿、左(右)脚。基于此即可分别建立与之相对应的二维人体元件库,为个性化人体构件的生成提供条件。
3.二维人体特征点的分布
每个角色都有着高矮胖瘦及服装款式大小的差别,所以角色定义非常复杂。即便如此,所有角色还是具有共性的,可以寻找一种角色共性描述的语言来进行角色定义。结合项目需求,及角色对象本身的特点,本着在用尽量少的关节表现尽量多动作的原则下,在角色模型上定义了14个特征点,分为8种,分别是颈接点(1)、肩接点(2)、肘接点(2)、手接点(2)、腰接点(1)、髋接点(2)、膝接点(2)、脚接点(2)。由于人体的对称性,所以除颈接点与腰接点数目为1以外,其它接点数均为2。
二、hsf简介
ASF与AMC是由卡内基梅陇大学人体运动图形所提出来的数据格式,其中ASF文件记录的是人体的骨架信息,AMC文件记录的人体自由度的变化信息。参照ASF-AMC标准,本文利用两个文件对二维人体进行控制,其中一个文件记录人体构件的结构信息,另一个文件记录人体构件各元件自由度的变化信息,两者分别命名为hsf文件和hxm文件。本节主要对hsf文件进行介绍,hxm文件将在下节介绍,该文件中主要是记录了基于特征点的二维人体的结构信息。
1.hsf文件内容
hsf文件主要存储人体构件的结构信息,即与元件位置相关的各类特征点信息。文件中数据信息的记录顺序为从中间到两边,自上而下,先左后右,即首先躯干关节链,然后左右上肢关节链,左右下肢关节链,每个关节链内部都是从父骨段到子骨段。在hsf文件中,每个骨段的数据信息占一行。
2.hxm文件
人体动画主要分为表情动画和骨骼动画,人体运动控制属于骨骼动画。人体骨架关键姿态由各关节位置和旋转角度唯一确定,只要对人体骨架的姿态进行控制,即可实现人体的运动控制。例如人体步行动作,可以通过控制一个步行周期内人体各关节位置与旋转角度得到人体步行姿态序列,连续多个周期步行姿态序列即可构成人体步行动画片段。
3.人体构件自由度分析
三维空间中,人体关节一般会有旋转和平移两类自由度,每个自由度的变化空间为一个由X轴、Y轴和Z轴构成的三维立体空间。与三维动画相比,二维动画的变化范围限定在由X轴和Y轴构成的二维空间即平面内,所以二维人体角色的自由度的变化范围也受到一定限制。参照三维人体自由度的概念,以及人体动画本身的特点,我们为二维人体关节引入长度和旋转角度两个自由度。本文中二维人体构件是由15个元件构成的,每个元件都有长度、旋转角度二个自由度,一共有30个自由度,比三维动画中人体角色的200多个自由度要少的多。
4.hxm文件内容
参照ASF-AMC标准,我们使用hxm文件来记录人体各元件的自由度变化信息。与hsf文件类似,为了增强人体自由度描述信息的适用性,一律采用相对值记录方式。hxm文件以行为单位,先后记录人体构件各元件的长度和旋转角度变化,即先是15个长度变化,后是15个角度变化,共30个数字。长度的变化范围为0到1,角度的变化为0到360,超过360度的可以用360度除取余求得。hxm中每一行信息都对应个一个人体构件姿态。
三、人体动画自动生成
二维动画的基本原理就是序列图像以一定的帧速率连续播放,让人产生画面在动的感觉。在这里二维人体动画实现方式亦是如此,所以说如何利用动作hxm文件得到人体关键姿态图像序列,是人体动画自动生成的关键。
人体动画自动生成的流程:人体构件是由15个不同的元件组成的,它们的信息都存储在与构件相关的hsf文件中。要控制人体构件使其呈现不同的姿态,首先就需要控制这15个元件姿态。每个元件都有长度和旋转角度两个自由度,它们会随着姿态的变化而变化,而hxm文件中就记录了这些变化。人体动画生成的第一步就是要依据hxm文件与hsf文件确定到每个元件的姿态,然后依据这些变化后的元件,得到相应姿态的人体构件。元件本质上也是一幅二维图像,所谓元件的姿态即变化后的二维图像。
四、本文小结
本文主要是针对基于构件化二维动画制作技术进行介绍。文中首先对二维角色构件化方法讨论,通过对二维角色的人体结构进行分析,将二维人体构件分成15个不同的元件,然后结合ASF-AMC标准,提出了两种分别用于存储人体构件结构信息与自由度变化信息的文件即hsf文件与hxm文件,并对文件的内容和格式进行了介绍。接着对人体动画自动生成的流程进行分析,最后给出了构件化二维人体动画自动生成的实现方式。
参考文献:
[1]陆汝钤,张松懋.从故事到动画片——全过程计算机辅助动画自动生成.自动化学报,2002,28(3),321~348
(作者单位:福建省南安职业中专学校)
关键词:中职;二维角色构件化;制作
一、二维角色构件化
1.角色构件化分析
建立角色模型是动画制作的基础,二维动画亦是如此。参照人体建模标准H-Anim,将整个实体看作一个分层结构,由一定數量的骨段构成,如手臂、脚、腿等,段与段之间借助关节相连如肘、髋、脚踝、手腕等,并且除腰骨段之外,其它每个连接点都是另外一个连接点的子节点。每个节点都包含丰富的信息,如段的长度、质量、尺寸及关节的运动范围等。
由动画的制作流程可以知道,二维动画画面本质上就是由多幅二维图像组合而成的一幅二维图像。二维人体也是一张二维图像,结合上面的人体结构分析,可以将一个二维人体构件分成多个类似骨段的元件。这样只要选择相应的人体元件序列,然后将元件序列用关节点连接即可将元件重组得到人体构件。只要通过人体对各个元件自由度进行控制,即可得到不同的人体姿态,序列不同人体姿态的连续播放即人体动画。
2.二维动画人体结构分析
人体结构复杂,一个完整的人体是由多个部位组成的。参照传统三维动画中人体组成方式,一般人体结构是由头部、躯干、上肢、下肢组成。再进一步细分后头部由头和颈部组成,躯干有臀部、腹部、胸部组成,上肢由左右两边的手掌、手指、前臂、上臂组成,下肢由左右两边的脚踝、脚掌、小腿、大腿组成。由于二维动画与三维动画风格的不同,二维动画对角色的真实感要求较弱,因此可以对二维人体结构进行适当简化和改变,如将头和颈部结合,将胸部与腹部结合,将手掌手指合二为一等,简化后的人体结构包含15部分,分别是头、躯干、腰、左(右)上臂、左(右)前臂、左(右)手、左脚、左(右)大腿、左(右)小腿、左(右)脚。基于此即可分别建立与之相对应的二维人体元件库,为个性化人体构件的生成提供条件。
3.二维人体特征点的分布
每个角色都有着高矮胖瘦及服装款式大小的差别,所以角色定义非常复杂。即便如此,所有角色还是具有共性的,可以寻找一种角色共性描述的语言来进行角色定义。结合项目需求,及角色对象本身的特点,本着在用尽量少的关节表现尽量多动作的原则下,在角色模型上定义了14个特征点,分为8种,分别是颈接点(1)、肩接点(2)、肘接点(2)、手接点(2)、腰接点(1)、髋接点(2)、膝接点(2)、脚接点(2)。由于人体的对称性,所以除颈接点与腰接点数目为1以外,其它接点数均为2。
二、hsf简介
ASF与AMC是由卡内基梅陇大学人体运动图形所提出来的数据格式,其中ASF文件记录的是人体的骨架信息,AMC文件记录的人体自由度的变化信息。参照ASF-AMC标准,本文利用两个文件对二维人体进行控制,其中一个文件记录人体构件的结构信息,另一个文件记录人体构件各元件自由度的变化信息,两者分别命名为hsf文件和hxm文件。本节主要对hsf文件进行介绍,hxm文件将在下节介绍,该文件中主要是记录了基于特征点的二维人体的结构信息。
1.hsf文件内容
hsf文件主要存储人体构件的结构信息,即与元件位置相关的各类特征点信息。文件中数据信息的记录顺序为从中间到两边,自上而下,先左后右,即首先躯干关节链,然后左右上肢关节链,左右下肢关节链,每个关节链内部都是从父骨段到子骨段。在hsf文件中,每个骨段的数据信息占一行。
2.hxm文件
人体动画主要分为表情动画和骨骼动画,人体运动控制属于骨骼动画。人体骨架关键姿态由各关节位置和旋转角度唯一确定,只要对人体骨架的姿态进行控制,即可实现人体的运动控制。例如人体步行动作,可以通过控制一个步行周期内人体各关节位置与旋转角度得到人体步行姿态序列,连续多个周期步行姿态序列即可构成人体步行动画片段。
3.人体构件自由度分析
三维空间中,人体关节一般会有旋转和平移两类自由度,每个自由度的变化空间为一个由X轴、Y轴和Z轴构成的三维立体空间。与三维动画相比,二维动画的变化范围限定在由X轴和Y轴构成的二维空间即平面内,所以二维人体角色的自由度的变化范围也受到一定限制。参照三维人体自由度的概念,以及人体动画本身的特点,我们为二维人体关节引入长度和旋转角度两个自由度。本文中二维人体构件是由15个元件构成的,每个元件都有长度、旋转角度二个自由度,一共有30个自由度,比三维动画中人体角色的200多个自由度要少的多。
4.hxm文件内容
参照ASF-AMC标准,我们使用hxm文件来记录人体各元件的自由度变化信息。与hsf文件类似,为了增强人体自由度描述信息的适用性,一律采用相对值记录方式。hxm文件以行为单位,先后记录人体构件各元件的长度和旋转角度变化,即先是15个长度变化,后是15个角度变化,共30个数字。长度的变化范围为0到1,角度的变化为0到360,超过360度的可以用360度除取余求得。hxm中每一行信息都对应个一个人体构件姿态。
三、人体动画自动生成
二维动画的基本原理就是序列图像以一定的帧速率连续播放,让人产生画面在动的感觉。在这里二维人体动画实现方式亦是如此,所以说如何利用动作hxm文件得到人体关键姿态图像序列,是人体动画自动生成的关键。
人体动画自动生成的流程:人体构件是由15个不同的元件组成的,它们的信息都存储在与构件相关的hsf文件中。要控制人体构件使其呈现不同的姿态,首先就需要控制这15个元件姿态。每个元件都有长度和旋转角度两个自由度,它们会随着姿态的变化而变化,而hxm文件中就记录了这些变化。人体动画生成的第一步就是要依据hxm文件与hsf文件确定到每个元件的姿态,然后依据这些变化后的元件,得到相应姿态的人体构件。元件本质上也是一幅二维图像,所谓元件的姿态即变化后的二维图像。
四、本文小结
本文主要是针对基于构件化二维动画制作技术进行介绍。文中首先对二维角色构件化方法讨论,通过对二维角色的人体结构进行分析,将二维人体构件分成15个不同的元件,然后结合ASF-AMC标准,提出了两种分别用于存储人体构件结构信息与自由度变化信息的文件即hsf文件与hxm文件,并对文件的内容和格式进行了介绍。接着对人体动画自动生成的流程进行分析,最后给出了构件化二维人体动画自动生成的实现方式。
参考文献:
[1]陆汝钤,张松懋.从故事到动画片——全过程计算机辅助动画自动生成.自动化学报,2002,28(3),321~348
(作者单位:福建省南安职业中专学校)