我制作了一个角色,该角色使用相机作为参考框架来知道相机必须朝哪个方向移动
movement = Quaternion.AngleAxis(sharpCam.transform.rotation.eulerAngles.y, Vector3.up) * movement;
这通常可以正常工作,但是当我尝试向相机添加平滑效果时,播放器就会变得抖动(根据我的假设,上面的代码)
这是我的凸轮平滑代码:
if (rotProg < 1 && rotProg >= 0)
{
rotProg += Time.deltaTime * 15;
Quaternion rotStart = transform.rotation;
rotEnd = Quaternion.Euler(y, x, 0);
rot = Quaternion.Lerp(rotStart, rotEnd, rotProg);
}
Vector3 pos = rot * new Vector3(0.0f, 0.0f, -walkDist) + Target.position;
pos.y += height;
transform.rotation = rot;
transform.position = Vector3.SmoothDamp(transform.position, pos, ref velocity, smoothTime);
答案 0 :(得分:1)
修复此问题,问题在于角色的移动代码,重力代码位于固定更新而不是更新中。