FPS游戏框架漫谈第九天

话说吃鸡爽不爽,那么网络上非常流行的吃鸡到底是什么意思呢,其实这个网络用语来源于游戏策划的一段台词,当年突然出现一款游戏,他叫绝地求生,大世界射击体验,各种真实的天气地形,战场瞬息万变策略为王,当你获得游戏中第一名,存活到最后的时候就会有一段台词出现:“ 大吉大利 ,晚上吃鸡!”。
那么现在我们来分析其中的一种攀爬行为,如果我们快速走近围墙,如果这个围墙是可以向上攀爬,那么这个时候我们会有前向速度以及向上攀爬速度,最终向量求和,会导致玩家和围墙有抖动的情况,那么我们如果解决这个问题呢,很明显,在我们玩家在获得速度之后,会对我们角色模型位置进行调整,那么我们只要在速度应用到角色身上之前修正为合理的速度是不是就解决了这个抖动问题?????????????????????????
其实很明显如果我们已经位于围墙指定位置,触发了向上攀爬的动作,我们应该就只有向上的速度,没有水平速度,那么比较及时的处理方式为当我们触发了围墙的Collider事件,unity引擎发一个事件回调OnControllerColliderHit 那么我们在这个回调事件就可以拿到围墙的法线,然后我们利用Quaternion.Euler拿到向上攀爬方向的法线,这个时候我们就可以理由投影,Vector3.Project 将向上攀爬的速度保留下来,剔除围墙法线方向的速度,我们在把这个速度传给我们的角色,那么这个时候我们角色就从walk行为过度到 walk against wall 。
第10天见

你可能感兴趣的:(unity,FPS,游戏)