开发笔记three.js角色美术

一具扁平的灰色人体模型如何变成一个人:肤色这一招

我们最新几款游戏里的整套角色都没有脸、只有单一色调、而且可以免费使用。这是让他们不再被读成机器人的那一个改动。

作者 GamerX6 分钟阅读
一具扁平的灰色人体模型如何变成一个人:肤色这一招开始玩 Crowd Rush

Crowd Rush、Riot Line 以及街机厅另外几款游戏背后的角色阵容有一个共同点:每个模型都没有脸,并且被重新上色成单一的平色,因为正是这一点让整个素材库可以免费、且在法律上毫不麻烦地使用。问题在于,一个从头到鞋都恰好是同一种颜色的人,读起来并不像人。它读起来像人体模型,或者更糟,像机器人。而光靠更好的打光,从来没能单独解决这件事。

解决办法早就躺在文件里,只是没人用

这套素材里的每个角色模型都由几块分开的网格拼成,而这些块本来就带着当初建模者留下的、很讲道理的名字:「Head_1」「Body_2」「Legs」「Feet」「Backpack」。此前没人去读这些名字,它们只是和其他部分一样被涂成同一种颜色。整个修复就是不再这么做:把名字里带「Head」的网格染成一种温暖中性的肤色,把其余部分染成角色实际衣服的颜色。

  • 没有新贴图。没有新的美术预算。阵容里的每个模型本来就带着这套结构,只是没被用上。
  • 在一个共享函数里改一处,就一次性修好了所有从同一个角色库取材的游戏,而不是一款一款来。
  • 那些只有一块融合网格的骨架(没有单独的「Head」可供瞄准)会自动退回到旧的平色外观,所以这个改动永远不会弄坏什么,它只是不会到处生效。
🧵关于这些游戏早期版本最大的一条视觉抱怨,永远是某种形式的「为什么角色看着像机器人」。从来不是姿势,不是灯光,也不是动画。是一种平色同时假装成皮肤、头发和衣服。

很小的技术决定,看得见的结果

这些都不会出现在任何人会读第二遍的更新日志里。它只是几行代码,在上色之前检查一下网格的名字。但它是 Riot Line 的防守者被读成「一个穿青色连体服的人」还是「一个青色的可动人偶」之间的差别,而这种差别正是玩家会立刻注意到、却说不清究竟为什么的那一类。

继续阅读