要回答这个关于“动漫人物模型”的难题,我得先跟你说说,别总想着往脑子装个“起初、其次、最终”这种机器人说明书里才会有的词,搞得跟背课文似的。在这个圈子里,大家实际上更习惯叫“模型”要么直接叫“立绘”,具体叫法取决于你是在跟哪位聊天,是在做游戏开发还是在找素材软件。 要是你在做游戏要么写小说,那他们一般说的“人物模型”实际上是指游戏引擎里那个用来生成角色的静态数据块,也就是常说的"Model"(模型)。
这一坨数据包里藏着角色的全身 3D 骨架、衣服布料、头发材质这些,有时候也会把脸部单独拿出来单独处理,那叫"Face Mesh",也就是“人脸流形”要么“面片”。
这玩意儿在 3D 建模软件里是标配,像 Blender、Sculpt 这些工具里,Default Mesh 啥的,最终还没做完还要给这些默认网格上色,再贴各种贴图,还得配个绑定组告诉软件如何摆姿势。 说到这个,我想起那会儿在游戏里踩坑的经历,有时候刚动完Animator(动作绑定器),发现角色站起来了却动弹不得,这时候回头检查模型文件,往往是出于那个皮肤材质(Skin)要么衣物贴图没有跟模型绑紧。就像你穿了一件破麻袋,明明骨架是硬的,但贴图里的褶皱软绵绵的,动作就那种“缝合怪”的感觉。
故此那时候我常跟团队嘟囔,那个模型别看代码没 Bug,但“皮”没穿在身上。
这时候就得靠 Skinning(绑定技术)来解决了,把动作数据里的每一帧位移,一帧一帧地分配给模型上的每一个多边形,让它看起来像人一样灵活。 再往深了说,除了游戏里的渲染管线,还有画面分割软件里的“模型”。
要是你要手动抠图,要么做背景分离,那大家口中的“动漫人物模型”实际上就是那一堆抠出来的几张切片图,一张是一张的。
这些图一般是平面的,一张脸、一只胳膊、就连是一点点衣服,摆成特定的角度,等着你去合成。
这里面有个挺关键的指标叫“Manifold Check"(流形检测),就是辛苦抠出来的这张脸,能不能保证它平滑,没有那种凹凸不平的棱角,要是锯齿感忒了得,后期合成时好办糊成一团。 数据量的大小也是个红线。现代的高清手游要么横版卡牌手游,一个立绘动辄有几百个高精度的纹理,就连包含头发、纹身、疤痕这些细节都不放过。
这时候模型文件本身的大小就成难题了。
比如《原神》里的那个艾泽拉斯的人形,要么《崩坏 3》里的那些角色,模型动辄几十 GB 就连上百 GB。
要是模型做得忒大,游戏加载速度就没法跑,手机那点内存也装不下。
这就像你要用 1000 万像素拍一张照片,要是不压缩,那一巴掌大小的文件传那会儿,全都跑光了。
故此这时候就得用到压缩算法,比如 8-bit 压缩,要么把模型切成多个局部,分屏加载。 我在做这个模型的时候,除了关心它能不能跑,还得管它“长啥样”。
比如发色能不能明显区分,衣服有没有穿松垮要么变形。
要是衣服一抬手就变形,那模型就是废的,哪怕再好看也白搭。
这时候就需求 Actor(动作)和 Model(模型)的严格对齐。模型得是刚性的骨架,动作得是柔性的表现,像拉弓射箭,弓就是模型,箭头是动作。弓箭和人的比例得对,弓忒大箭射不远,弓忒小射偏了。
这种比例关系在合成文件的时候特别关键,合成脚本里得写死这些比例,不然最终生成的合成画面比例全跑偏。 我还记得在画风转换的时候,也就是把二次元画风转成 3D 要么把 3D 转成 2D,这时候模型数据的结构变化是最明显的。2D 里的模型,每一张脸是一个矩形切片,那是为了适应屏幕像素点。转 3D 之后,脸就变成了一个复杂的曲面,每个像素点目前都要对应一个顶点坐标。
这时候一个像素点可能对应模型里的 100 个面,就连更多,数据对不上码了。
这种时候就务必有强大的“烘焙”和“空间分区”技术,把模型分成不同的区域,比如把头、手、脚、衣服各存一份,要么按坐标范围分开存,这样加载的时候才能按需分配,避免那一瞬间加载整个大山。 并且目前的趋势越来越明显,就是模型的数据量越大,对硬件的要求就越高。
那会儿我们能在手机里随意刷个 3D 页面,目前玩不了 4K 的高清立绘,要不就是带云渲染的。
这时候就需求“贴图压缩”和“LOD(层次细节)”技术。
比如人物站在远处,模型里就不展示那身衣服的细节,也不用展示发丝,就只展示一个不清楚的轮廓;近处再慢慢展现细节。
这就是 LOD,就像看山峰,远处是笔尖大小的轮廓,近处是层层叠叠的山峦,眼晕的赶紧看,不急眼。 还有,模型里的人脸识别也是个关键难题。在动画里,角色的表情、眼神、嘴的开合,这些都是靠脸关键帧(Pose)来定义的。
要是模型里的骨架和脸特征对不上,比如嘴是咧到耳根的,骨骼却是一动不动的,那再精彩的动作也是白搭。
这时候得用 Mid-out(中间输出)要么中间动作,要么专门的 Pose 文件来对接。有些时候,就连需求搞“Mask"(蒙版),给脸做个特殊的处理,让嘴开合的时候,皮肤要么布料是动的,但骨骼Pos 是固定的,这样一开口,嘴就张到嘴唇的位置,彻底不像人。 最终说说命名和标注。别看是软技能,但在模型文件里,名字和注释是务必有的。在 Blender 里,你会看到大量灰色的名字标签,写着"Head"、"Arm Left"之类的。
这些标签实际上是脚本用的,告诉软件这个部件归于哪个角色,叫啥。
要是命名混乱,后期导入到其他软件要么做动态图的时候,挺好办搞错,比如把左臂当成右臂,要么把头发当成身体,那就全得重做。
故此大量时候,模型人和人物原文(Wiki)里的名字,在游戏里用的名字会不一样,得搞清楚是哪一种命名规范,不然在团队搭伙里好办吵架。 总而言之,动漫人物模型不是那种好办的贴图,它是一整套数据、算法、手法和规范的集合。从 3D 建模的三角面片,到动作绑定的骨骼关节,从贴图的数据压缩,到合成时的比例管住,从 LOD 的加载策略,再到脸识别的匹配,每一步都得小心翼翼。
要是你只是拿来贴图,那肯定做不好;只有懂模型、懂数据、懂流程,那做出来的角色才能真正站得住脚,动起来才算整个。