学业行迹 | 建模与动画(1)项目
这一作业是对曾经的模型项目的修改和提升,并在此基础上,添加了骨骼绑定和动画。原项目地址:
在建模时,我最初是将多个对象组合起来,形成复杂的形状。我使用组合功能将多个对象按不同部分进行组合,以减少对象的数量。但后来我意识到这种方法很难分割 UV。于是我改用布尔函数将多个对象合并成一个对象,然后手动对模型进行微调。
但使用布尔函数后出现了一个新问题,我忘了对模型进行倒角处理。使用布尔函数后,模型变得非常复杂,很难手动选择需要倒角的边缘。虽然倒角功能中的过滤器可以按角度忽略一些边缘,但仍有一些未知的错误会导致倒角后点和边缘的混乱。这些错误很难发现和修复。
为了弥补这一遗漏,我找到了一个特别的方法。我将原始模型复制,然后将该模型整体倒角作为高模。在创建纹理时,将高模烘焙到原始模型上,从而生成相应的法线纹理。这种法线纹理将在随后的渲染中提供倒角后的视觉效果。
还有另一种方法,即使用 AiToon 材质,在模型上渲染描边效果,并使用线条遮挡模型边缘。我尝试了两种方法,最后根据整体效果,还是选择了后者(但实际上也使用了前者烘焙出来的法线纹理)。
完成骨骼绑定后,我为每个活动关节创建了控制器。由于每个骨骼关节都包含变换参数,因此在制作关节动画时,它们可能无法恢复初始位置。相反,控制器可以将初始变换参数设置为 0,然后通过父约束功能将控制器的变换叠加到关节上。为了使子关节及其控制器能够跟随父关节控制器运动,还需要根据关节的级别对每个控制器进行分层。

由于某些关节的变换坐标与世界坐标不同,因此控制器层中的一些控制器包含在组中。为了让控制器根据关节的变换坐标进行变换,我将控制器嵌套在组中,然后修改了组的变换参数,使控制器的变换坐标与关节的变换坐标一致。这样,控制器就可以按照所需的方向进行变换。
在动画部分,我选择了一个相对简单的行走动画。与人体模型的动作相比,机械的动作更加僵硬和缓慢。此外,与人的行走动作不同,人形机械一般采用高抬腿-前倾-落地的行走方式,因此其步伐往往是一步一步的。但是,即使机械的运动是刚性的,也不可能使用完全线性的动画曲线,否则效果会变得难以预测。
为了表现出机械的重量,我在它的下臂和翅膀上添加了每次双脚着地时的轻微抖动。我还通过控制材质中辉光的强度来表现动力不稳定的效果。
同样,当它行走时,它的身体也会随着步伐上下摆动,为了增强这种运动效果,我为它的翅膀添加了单独的上下摆动动画。当身体向上移动时,翅膀向下摆动;当身体向下移动时,翅膀向上摆动。
最终视频
作业得分:72/100
导师评语:
很高兴看到模型的完成。需要避免网格中的多边形,并在UV时避免过多的切割。不过,很高兴看到在工作流程中使用了卡通着色器。动画姿势看起来不错,但需要改进时机,以避免漂浮感。脚接触地面时需要有更大的冲击力,以显示重量。照明效果不错,但需要更多的过程截图。






