美工技术 - scutrobotlab/RM2021_simulation GitHub Wiki

上文提到的大都是编码、开发过程中使用的技术。在模拟器开发过程中还需要对很多素材进行处理、导入、视觉效果调整等。美工技术对于提高模拟器图形质量、运行速度,以至于推进视觉联调都很重要。由于我作为 TA 学艺不精,2021 模拟器在这方面只能说做到了及格线,下面分享一些实践中积累的想法,抛砖引玉。

素材处理

模拟器用到的素材可以分为三维素材、平面素材和音频素材。

对于三维素材的处理思路是:整理结构、减面、优化破面、整理材质。由于 RM 比赛能找到的三维素材大多是 CAD 文件,官方发的场地素材更是重量级,直接给我破笔记本卡死了。所以第一步是将不管什么 CAD 文件导出成 FBX 格式,然后进行结构分割。如果是场地的话,就是对建筑进行分割:基地、补给站、兑换站、梯形高地、环形高地、狙击点、补给区、地面。只有从那个几百 MB 的 FBX 文件里把各个结构分离出来,才能进行不卡顿的(高配电脑请无视)减面、优化、上色。如果是地面车辆,一般是分割成云台 Yaw、Pitch、底盘、悬挂、车轮几个部分。模型分割后,需要对内部不可见部分进行剔除。这部分我是手动做的,如果有大佬能写个 Maya、C4D、Blender 脚本自动化这个过程,可以节省大量时间。把内部不可见的螺丝弹簧之类去掉之后,模型可能会出现很多破面,需要尽量修补一下。最后,搜集一些实战照片,给对应部分的模型赋予材质。这里只要做好材质分割就行,具体材质参数还需要在引擎里细调。

平面素材一般用于 UI、或者场地的一些贴花。这部分素材只要统一缩放比例,调整好导入参数(像素素材记得关闭线性插值),需要的话用 Unity 的 Sprite Editor 分割精灵图,并做简单的 Animator 就可以驱动 UI 动画。处理过程中可能会有些抠图、调色需求,一般平面设计软件都会包括的基本功能。

音频素材主要是提示音效、比赛背景音等。如果拿到的原音频是 WAV 格式,最好压缩一下体积,防止构建产物大小膨胀。要追求更好的模拟效果,可以在给音乐加上混响,模拟场馆里操作间隔着耳机的音频效果。实装的时候音量大小要注意以下,防止遮盖队内语音,音量诉讼。

图形优化

一般来说模型导进去引擎材质是不好看的,只有基础颜色。要提升图形渲染效果,需要从几个方面进行优化:渲染管线、材质、光照、后处理。

Unity 提供了多种可编程渲染管线选项,由于我图形学知识不够精深 2021 模拟器在这方面没有做自定义。如果有大佬可以自定义渲染管线下面的内容就不需要担心了。总之 Unity 的图形天花板还是很高的,对各种画面风格都可以驾驭。米哈游就是国内 Unity 玩得溜典范,Unity 官方做过很多实时渲染的微电影也可以看下,很有意思。(短片《异教徒》

材质方面,传统和 PBR 工作流其实都可以做到不错的效果。如果没办法做材质可以到网上找现成的 PBR 材质。比如 ambientCG 提供的免费材质就足够整个像模像样的模型了。如果有美工大佬可以参照实战图用 Substance Painter 等工具画出更加逼真的材质。下面贴一个不做细节和稍做亿点细节的模型效果对比:

/images/art1.png

/images/art2.png

以及 RMUL 拍的真车图:

/images/art3.png

只能说灯条不亮老模拟器传统艺能了。

最后是后处理效果。用 Unity 自带的 Post Processing Stack 就可以实现噪点、动态模糊等效果。2021 模拟器还用 Render Texutre 和高斯模糊 Shader 实现了降分辨率显示,比较接近真车视角。如果有需要还可以从 Asset Store 找或者用 Shader 实现更多视觉效果。