【动作游戏设计】关于“击退”的小结
最近为了改善游戏的Melee效果,思考实验了很多,“反馈”可以说是重中之重,其中击退可以说是很重要的一个反馈表现,如果没有击退不仅欠缺反馈,而且欠缺力道感。查阅资料案例、以及自己调试过程中,关于击退的表现方式总结出了两个点
【Unity Shader】结界墙效果
交界高光+法线扭曲做一堵透明的墙,用作划分“战场范围”。
【Unity Shader】径向模糊
用作增添火光效果的镜头运动感,虽然在URP有motion blur的镜头特效可以用,但比起全局的动作模糊,“径向”模糊更适合突出火花的“迸发”。
【Unity网格编程】切开网格
用一个平面切割网格,生成两个新的网格。参考了《快速切割网格》这篇文章( 作者CareFreeQ )。关键思路是截断三角形新增顶点,原文对截面进行了简单处理,默认了截面是凸面,而且只有一整块。切割角色模型的皮肤网格要做额外处理。
【Unity Shader】裂缝效果
用depth mask给裂缝模型做着色,包裹住小兵使其可以整体或局部不可见。裂缝开启后加上一些粒子效果,做出小兵从裂缝中走出来的登场方式。
【Unity SRP】模糊的菜单背景
在LWRP中用Scriptable Render Pass来实现模糊场景的屏幕后特效。官方给出了PerObjectBloom,ToonOutline等等不少的示例可参考。不过SRP版本迭代得非常快,很多示例的写法很快就过时了,而且导入后还会经常碰到异常的效果,免不了调试一番。
【Unity Shader】2D火焰UV动画
用噪声图滚动做UV动画,非网格顶点动画,用在UI界面,或者给粒子系统做拖尾材质。比起帧动画更加可控可配置。
【Animation Rigging】Jiggle Chain实现树枝晃动+Shader动画实现花草晃动
参考主要来源是Unite Copenhagen 2019关于Extending the Animation Rigging的介绍,用到里面的Jiggle Chain代码。给low poly风格的树木用MAYA加上简单的骨骼,在unity中绑上Jiggle Chain,再用动画修改Jiggle Chain参数,模拟了简单的树枝晃动。
【Unity Shader】简单模拟热空气扭曲效果
扭曲效果最常见的有用于模拟热空气,模拟玻璃水晶透明物体遮罩等等。最近在做施放特别攻击和落地出场等效果,也用到了模拟热空气扭曲。
【Animation Rigging】Damped Transform Constraint实现头发晃动模拟
在runtime模拟头发晃动,用Unity2019的新特性Animation Rigging实现。 对于此类物理效果模拟,建模的时候就设置好动画是做法之一,但是在runtime环境中就会变得脱离了物理世界的交互(World Interaction),显得死板。unity有cloth system和rigid body的Joint组件可以使用,但是我需要的是比较偏向动画播放,而不是完全的物理世界模拟。Animation Rigging Package正好能丰富动画的物理计算,而且设置起来简单,没有cloth system那么黑盒子,甚至可以在unity editor中做Animation Authoring。
【Unity网格编程】SkinnedMeshRenderer Decal 实现斩击伤痕贴花效果
使用新建网格的方式实现贴花效果,模拟被斩击的伤痕,再外加一个材质动画来控制伤痕褪色。想法来自最近玩鬼泣5的时候发现敌人被砍的伤痕都会有划痕。之前单单用shader试着实现,但是贴花不能稳定的跟随网格顶点。现在改为复制蒙皮的方式,划痕百分百贴合并跟随顶点。期间还试着加法线贴图让划痕立体一些,后来发现划痕太细,镜头稍远,加了法线贴图也看不出效果来。
【Unity Shader】顶点动画模拟衣物晃动效果
做一个类似幽灵的角色,原模型是简单的人型骨骼,没有针对衣物做特定动画,这里用shader动画来模拟衣物晃动。