《一厘米时光》故事时代背景是架空的,主要以我童年所经历的年代作为基础。
上个世纪90年代初,世界正在发生巨变,那时我初中快毕业了,我跟父母说我想去艺术学校学画画。
我本身也没什么美术天赋,我只是单纯的想画画,想去学画画这事情我妈一直笑话我到现在,要知道那时候要去学画画也就是去一些中专学校,她觉得那时读不成书的小孩采取的。所以她高瞻远瞩,为我安排未来。所以后来我上高中上大学,从事计算机专业。
其实,从事计算机专业也挺好,因为我从小就成长在到处都是游戏机的环境中,也爱电子游戏。
大学时,买了台电脑放在宿舍衣柜里,那时候就没想着画画了,有电的时候就自己研究怎么做游戏。
毕业的时候,国内还不存在游戏开发这个职业,所以这个想法也落空了。
很多很多年以后,我翅膀硬了,选择成为一个独立游戏开发者,还是 solo 的那种。
现在我正在开发《一厘米时光》,这是个 3D 游戏,游戏画面主要由 3D 模型组成,模型只有色块。模型的材质主要依赖于使用调色板给模型填色。
在动画制作的范畴里,这种方式可以归类为 NPR:非真实渲染,也可以说是风格化渲染。
一开始这个游戏的风格追求的就是一种平涂的,色块的,矢量插画的画面效果。
画风是极简主义的,但并不是 low-poly 这样的低多边形表现,虽然独立游戏都爱用这个,但在这个游戏里需要尽量表现角色的圆润,减少尖锐外形。
画面风格没有高下之分,选择这种风格除了个人喜欢,也有综合的考量因素,这个篇尾谈。
这是人物的调色板,固定设置为最多 16 种颜色。这种使用调色板的方式是不是很像古早的游戏和现在的像素游戏?
首先排除最后一种使用多个材质的方式,因为每多一个材质就多一个 drawcall 渲染负担会加重;
然后一开始我是使用 Vertex Color 这种方式来直接指定模型的色块颜色的,但这个方式涉及对模型上的点进行上色操作,当模型导出到游戏引擎 Godot 后再想去调整某个色块的颜色就要重新在 Blender 中调整后再输出,流程复杂了。
所以,最后使用的是使用模型 UV 去对应贴图的颜色。
不过,这种方法也仍然存在迭代修改效率低的问题,因为贴图的修改也要在绘画软件或者 Blender 中进行。
能不能实现模型导出后,可以直接在 Godot 中进行调整呢?
这样一来,对于规整的贴图,修改某种颜色就简单许多。贴图也可以使用程序进行修改或生成。
同时,使用 UV 数据,就把调色板跟模型的对应关系固定下来了。然后使用 Shader 来指定颜色也就很简单了。把颜色作为参数输入 Shader,那在引擎中就可以随时更改模型的配色方案。
在引擎中调整角色的颜色,也可导入导出调色板到图片中。
加上环境,灯光,背景色等,游戏画面的颜色色调都可以在引擎中实时调整了。
无独有偶,今年来我也发现有人使用类似的技术,比如这篇文章:
里面的贴图还带了渐变,可以适应更复杂的效果(以下 3 张图片引用于这篇文章):
其实这种美术风格对设计要求蛮高的。造型,配色,构图都要考虑。
所以场景方面,我打算加入简单的灯光和明暗,但是总体风格还是需要跟人物的平涂进行搭配。
我没有使用流行的卡通渲染风格,也就是说没有卡通的阴影,主要是个人觉得现阶段游戏的卡通渲染还不成熟。当然有做得好的,比如 Arc System Works 和国内的二次元游戏公司。但我觉得作为独立游戏制作者不应该追求流程过于复杂的技术,做一些单个的人物和场景也许不难,但是考虑到一个人不靠素材去制作 3D 游戏项目,在流程和技术选择上是要慎重一些的。
另外,值得做的美术风格很多,独立游戏就应该去做这方面的探索。
最后,技术服务于创作,这种技术能降低很大的性能要求。同时,基于这个技术的整个 3D 模型制作流程能够实现高效的调整迭代,所处理的资源素材量低,便于项目资产的管理。比起某个特定的技术,这样理念和思路也是我想分享的。
下篇日志还没想好内容,也许讲讲场景,当前《一厘米时光》愿望单数量为 494
评论区
共 条评论热门最新