【发布时间】:2019-09-19 19:25:24
【问题描述】:
我制作了一个角色,它使用相机作为参考框架来知道它必须向哪个方向移动
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);
【问题讨论】:
-
在这种情况下您最好使用
Vector3.Lerp,我认为这可以通过您提供的代码解决您的问题, -
这似乎使它稍微好一点,但它仍然可见,尤其是在跳跃时。
-
您是否有任何其他脚本可以控制播放器的任何方面和/或相机位置/旋转?
-
不,我想就是这样。
标签: unity3d