《潮痕》开发日志 #0

作者:Onyx
2022-04-12
9 5 7

前情提要

这一年里面作为渲染向的技美学了点东西,进一步摸了摸 Unity 与 UE4,试着做过写实风的 demo,但最后还是决定将精力放在《潮痕》上面(的确有点左右横跳……我反思)。以下是这段时间(其实也就是近一两个月左右啦)的开发日志。

进入正题:

  1. 首先:决定将游戏全面调整为 3D 转像素的风格。具体原因请参见下面内容。

  2. 确定了《潮痕》之后 3D 转像素的基本框架,写了配套的 Lit 与 Unlit 材质,加了一堆杂七杂八的功能:

    • 地图云影:利用世界空间坐标采样噪声图

    • 逆光边缘光:想实现逆光时人物边缘的金色光圈效果

    • 正面压暗:之前直接像素化的方案总是感觉缺少立体感,对比了之前的作品,发现是因为正对面与侧面缺乏颜色区分,因此添加了正面压暗的功能

    • (很省的)草地效果:写死光照方向,并扰动一张草地的法线贴图,在这种视角下可以在性能很省的前提下实现近似的草地效果(像素万岁!)

    • 简单的三面映射效果:用于地形或是自然场景都不错。额外加了噪声扰动来让地形上面的“草地”能够更自然地侵蚀

    • 简单的深度水+水波纹效果:经典的深度贴图实现。直接利用深度作为 UV 的 X 分量来采样一张噪声,以此实现扩散的水波纹效果

  3. 然后:完成了猫猫主角的建模贴图与骨骼绑定,从 mixamo 上嫖了点动作,大概整了个角色的控制系统。另外两个主角的模型还在慢慢扣。

  4. 地图也要相应的调整设计……好多事情要干阿...

场景演示:

(再捞一遍之前的森林小场景)

谈谈像素化 3D 风格

目前市面上的游戏中主要的 3D + 像素的设计风格,根据个人的了解大概可以分为 3 类:

  1. 死亡细胞为例,2D 框架,但使用 3D 模型烘焙序列帧动画的思路

  2. A short hike 为例,3D 模型框架+渲染与后处理转为像素风格的思路

  3. 枪牢的 3D 框架+2D 像素美术资源,或是类似坎公骑冠剑这样的 3D 资源+2D 像素资源的混搭风格思路

这三类思路都各自有其优势与不足之处,而《潮痕》之后决定要采用的风格为第 2 种,也就是 3D+渲染后处理的模式,所以我会主要讲一下开发到现在,个人对于这种思路的一些理解。

为什么项目要换用这种风格?

首先当然是个人喜好:我一直都很喜欢像素风格的游戏,但是又总感觉逐帧 sprite 动画缺少了点连贯感,所以在有这个想法的时候就想要尝试色块风格的 3d 转像素,不过当时限于技术力不足阿,也只能想想,最后还是用了最稳的经典 2D 流程做了个小 demo。直到现在才感觉学了点足够将一开始的想法变成现实的知识了。

之后就是一些更实际的原因了,总结下来可能就是懒省事,好白嫖,适合开摆,专业对口这几点。

1. 懒省事:《潮痕》预计会有很多动作冒险的元素,以及比较大而复杂的场景,纯 2d 流程要搞这些事情非常依靠像素美术资源,要是自己做的话怕是全天候肝爆也整不出来多少活。而 3D 转像素的制作流程,低面的模型效果就能不错,搭场景调场景轻松,物理、碰撞与判定有比较牛顿的方案,不会出岔子,在人物动作方面更是比逐帧画省老鼻子事了。就很适合我这种动下笔就累得要死的懒人

2. 好白嫖:私以为这种方式比较核心的价值是让像素风格的游戏真正接入现代 3D 游戏的制作流程,包括模型,贴图,动作资源等各类美术资源的素材复用,以及 3d 流程下各种引擎插件的直接利用。打个比方,逛逛 unity 商城就知道 3D 的各种资源,插件有多少,人物方面还有 mixamo 这种自动搞绑定和动作的神器。相教于基本靠手点的传统像素游戏流程,能够利用的资源直接升了个数量级吧大概

3. 适合开摆:翻译成人话就是“特别细节的东西做的糙点也没事”。这个就是那种很现实的原因了,因为再怎么说,个人的精力实在是有限,不可能在每个方面都尽善尽美,而这种 3d 转像素的流程从某种意义上来说,是对清晰画面的“降采样”,它可以很大程度上掩盖一些细节部分不太完善的地方,例如贴图不细致阿,动作有点扭曲之类的。而且还有一个点,就是比较容易做到不同素材的风格统一——毕竟原本看起来风格差异很大的不同素材,在像素化后可能也就差几个像素点。诸如此类,在细节上不用太追究,就可以把更多的精力放在那些比较重要的部分了

4. 专业对口:这算是纯个人的原因。作为一个没系统学习过正儿八经的美术课程的人,那些特别吃美术的流程实在是力不从心,所以只能玩玩着色器了。刚好这一年也误打误撞去做了渲染向的 TA,建模和着色器魔法都学了点。而这一流程也比较吃材质与渲染效果,可以提供很多自由发挥的空间

总之,最终选择这种风格,算是脑内想法跟实际情况打了一架出来的结果,感觉应该比一开始的纯 2D 框架更有可能真正做出想要的东西,不过依然需要一边做一边摸索。

潮痕

@indienova 去看看

近期点赞的会员

 分享这篇文章

Onyx 

奇怪的人。 

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. QuanWei 2022-04-12

    无敌,这个美术看起来好无敌,可能在别人看来似乎很简单,不过自己稍微学过些建模感觉一波下来真的挺废时间的,而且还有程序啥的,大佬真牛,可以分享下学习的路子吗?

    • Onyx 2022-04-13

      @QuanWei:我个人的学习倒是没什么特别值得说的路子,基本就是有了想法之后就跟着想法走,需要什么就搜什么的教程(:3_ヽ)_有程序与英语基础的话的确会有帮助一些,最重要的可能还是要真正上手去做一套属于自己的东西吧

  2. 泡泡 2022-04-12

    好棒啊,请问3D转像素有什么后处理插件或者学习方式吗,非美术专业不知道能否搞得定

    • Onyx 2022-04-13

      @泡泡:我也不是美术专业诶,所以选了这种不太需要美术资源的方案。开箱即用的插件可以直接Unity Asset Store搜Pro Pixelizer,项目的像素化算法部分也是继承了这个插件,其他更自定义的效果可能就要写写Shader了。

    • Onyx 2022-04-13

      @泡泡:Shader学习方面个人粗浅的经验是可以试着先从ShaderGraph,ASE等节点工具入门,先大概了解整个渲染管线的思路,能做出来一些让自己有点满意的效果,之后可以去看看入门精要之类的资料,系统性地学习程序语言以及更进阶的东西。最后写代码这部分肯定是绕不开的,不过要让我一上来就抱着书恩啃代码的话,估计也就没什么学下去的兴趣了(ˇωˇ」∠)_

    • 泡泡 2022-04-14

      @Onyx:感谢指路!我要去搜一波

    • 泡泡 2022-04-14

      @Onyx:Pro Pixelizer只支持URP有点可惜,我现在用的其他插件

您需要登录或者注册后才能发表评论

登录/注册