Unity笔记-29-ARPG游戏项目-13-打击感(卡肉)与僵直感
效果演示
基本思路
打击感来源于停顿感,通过近战武器打中敌人的瞬间对角色动作进行瞬间的停顿以达到的效果,停顿时间越长则效果越明显,但是如果太长那么会给人一种很卡的感觉,另外增加打击感体验的还有,音效,击打特效,例如图中的白色炸裂效果(黑色的是剑身挥动的拖尾效果),而同样的,僵直感也是停顿,不过他的触发是在被敌人攻击达到时触发,同样也是进行短暂的停顿,仅仅是短暂的停顿就能带来强大的打击感,配合音效以及特效就能提高这种打击感。
通过对动作停顿的延伸,我们可以利用他做一些有趣的东西:例如,时间缓动。当敌人进入技能范围内时,动作会变得极度缓慢,这就不是停顿了而是时间缩放。这里不细讲
代码示例
IEnumerator HitTimeScale()
{
inHitStop = true;
ani.speed = 0;
yield return new WaitForSeconds(hitStopTime);
ani.speed = 1;
inHitStop = false;
}
这里需要注意一个点,那就是当攻击同时打中多个敌人时,短时间内近触发一次停顿,如果触发多次那么会导致画面十分卡顿,因此我们需要加入一个参数,来判断当前是否处于停顿中,如果已经处于停顿中则不再重复触发停顿