• 在写ACT游戏--当前版本v1.1.0

之前是把径向模糊应用与粒子系统中,这次把效果整合进Post Processing Volume,也是做成Renderer Feature的形式,通过Volume Component控制参数,自定义Volume的代码与之前LetterBoxing的写法基本一致,只需把Shader和Volume参数的定义修改一下。

之前是给Skin Mesh Render做Decal,这次是针对静态的地形,不能再使用动态生成网格的方式,因为地形有可能非常大,面数非常多,动态生成网格需要逐顶点扫描,效率非常低,而且Decal有可能发生在多个地形物体之间,生成网格就需要先把这多个物体的网格合并,又多了一个网格操作环节十分划不来。

最近研究了一下Unity官方的BoatAttack案例,他们模拟的海浪效果很厉害,用的是Gerstner波来模拟水面起伏和波峰的白浪还有浮力系统,还做加入了焦散效果(Caustics)和平面反射(Planar Reflection)。Unity 官方也提供了初步的水体着色教程,主要谈到了水体颜色的过渡以及基于两个噪声图的波浪动画。在此基础上我加入了反射和折射

上下黑边遮幅的镜头效果其标准称谓我也不确定,搜索了一轮姑且称为LetterBoxing(一种画面缩放策略),在游戏中常见用于播放过场动画时的镜头处理,带出一种信息:“当前是在播放动画/电影片段,玩家暂时无法操作”。

交界高光+法线扭曲做一堵透明的墙,用作划分“战场范围”。

用作增添火光效果的镜头运动感,虽然在URP有motion blur的镜头特效可以用,但比起全局的动作模糊,“径向”模糊更适合突出火花的“迸发”。

用depth mask给裂缝模型做着色,包裹住小兵使其可以整体或局部不可见。裂缝开启后加上一些粒子效果,做出小兵从裂缝中走出来的登场方式。

在LWRP中用Scriptable Render Pass来实现模糊场景的屏幕后特效。官方给出了PerObjectBloom,ToonOutline等等不少的示例可参考。不过SRP版本迭代得非常快,很多示例的写法很快就过时了,而且导入后还会经常碰到异常的效果,免不了调试一番。

用噪声图滚动做UV动画,非网格顶点动画,用在UI界面,或者给粒子系统做拖尾材质。比起帧动画更加可控可配置。

参考主要来源是Unite Copenhagen 2019关于Extending the Animation Rigging的介绍,用到里面的Jiggle Chain代码。给low poly风格的树木用MAYA加上简单的骨骼,在unity中绑上Jiggle Chain,再用动画修改Jiggle Chain参数,模拟了简单的树枝晃动。

扭曲效果最常见的有用于模拟热空气,模拟玻璃水晶透明物体遮罩等等。最近在做施放特别攻击和落地出场等效果,也用到了模拟热空气扭曲。

使用新建网格的方式实现贴花效果,模拟被斩击的伤痕,再外加一个材质动画来控制伤痕褪色。想法来自最近玩鬼泣5的时候发现敌人被砍的伤痕都会有划痕。之前单单用shader试着实现,但是贴花不能稳定的跟随网格顶点。现在改为复制蒙皮的方式,划痕百分百贴合并跟随顶点。期间还试着加法线贴图让划痕立体一些,后来发现划痕太细,镜头稍远,加了法线贴图也看不出效果来。

12/15