首页 > 解决方案 > Unity CineMachine Camera Blend 抽动效果

问题描述

在我的场景中,我有 2 个虚拟摄像机,每个空的游戏对象上有 2 个可玩的导演。有2个时间线。他们正在混合从 1 到 2 的凸轮,第二个时间线做同样的事情,但方向相反。1个vcam优先级设置为10,2个vcam优先级设置为9。我写了一些这样的代码:

    public void RotateVcam(bool trigger)
{
    if(trigger)
    {
        2vcam.Priority += 2;
        playableDirector1.Play();
    }
    else
    {
        2vcam.Priority -= 2;
        playableDirector2.Play();
    }
}

需要的时间线正在播放,相机正在旋转,但是,在成功旋转后,相机正在做一些抽搐。

为什么他们在那里?如何在没有这种奇怪抽搐的情况下进行平滑混合?

标签: c#unity3d

解决方案


是的。使用标准 Unity API 更容易完成这项任务。

通过以下方式制作四元数:

Quaternion q = new Quaternion.Euler(0,0,0);

接着:

Transform.rotation = Quaternion.Lerp(transform.rotation, q, Time.deltaTime * speed);

推荐阅读