最近有许多朋友问到我一个问题,如何实现像战地,使命召唤那样逼真的射击体验。首先我们要知道,在没有动画师的帮助下,要想实现人为模拟的后坐力,精准度偏移等等其实并不是什么难事,今天我们就来用较简短的代码来实现一个模拟的枪械后坐力。
首先是我们需要用到的工具类代码:
public class Spring3
{
public Vector3 value = Vector2.zero;
private Vector3 dampValue = Vector2.zero;
private float damp = 1;
private float frequence = 1;
public void Clear ()
{
value = Vector2.zero;
dampValue = Vector2.zero;
}
public Spring3 (float damp, float frequence)
{
this.damp = damp;
this.frequence = frequence;
}
public void Update (float deltaTime, Vector3 target)
{
value -= dampValue * deltaTime * frequence;
dampValue = Vector3.Lerp (dampValue, value - target, deltaTime * damp);
}
}
public cla