C# 统一-调整时间。固定的时间用于平滑的慢速mo会弄乱附加力

C# 统一-调整时间。固定的时间用于平滑的慢速mo会弄乱附加力,c#,unity3d,game-physics,C#,Unity3d,Game Physics,我在游戏中使用两条线来减慢时间: Time.timeScale = slowMotionSpeed; Time.fixedDeltaTime = slowMotionSpeed * 0.02f; 慢动作效果很好,就像它必须的那样平滑 问题是,我在关卡上有很多AddForce实用程序,如跳跃、蹦床、风等,它们都经过计算,因此玩家需要非常精确的计时才能正确完成 我注意到,在用慢动作代替常规速度后,无论我尝试了多少次,这些蹦床都不能让我跳得足够远(在那之前跳起来很容易) 如果我以慢动作尝试跳跃,但没

我在游戏中使用两条线来减慢时间:

Time.timeScale = slowMotionSpeed;
Time.fixedDeltaTime = slowMotionSpeed * 0.02f;
慢动作效果很好,就像它必须的那样平滑

问题是,我在关卡上有很多
AddForce
实用程序,如跳跃、蹦床、风等,它们都经过计算,因此玩家需要非常精确的计时才能正确完成

我注意到,在用慢动作代替常规速度后,无论我尝试了多少次,这些蹦床都不能让我跳得足够远(在那之前跳起来很容易)

如果我以慢动作尝试跳跃,但没有调整
时间。fixedDeltaTime
,游戏会延迟,但跳跃成功

问题是,如何解决这一问题,使
AddForce
工作正常,并将播放机扔到相同的距离,即使
Time.fixeddedtime
已修改

编辑:

蹦床:

float jumpForceAdded;
void OnTriggerStay2D(Collider2D other)
{
    if (other.gameObject.CompareTag("Player") && !CharacterController2D.movementDisabled && !CharacterController2D.playerDied)
    {
        Rigidbody2D otherRB = other.gameObject.GetComponent<Rigidbody2D>();
        if (JumpInput.JUMP)
        {
            otherRB.AddForce(new Vector2(0,jumpForceAdded * 2f));
        }
        else
        {
            otherRB.AddForce(new Vector2(0,jumpForceAdded));
        }
        StartCoroutine(ChangeSpritesBack());
    }
}
float-jumpForceAdded;
无效OnTiggerStay2D(碰撞的R2D其他)
{
if(other.gameObject.CompareTag(“玩家”)&&&!CharacterController2D.movementDisabled&&!CharacterController2D.playerded)
{
Rigidbody2D otherRB=other.gameObject.GetComponent();
if(JumpInput.JUMP)
{
其他rb.AddForce(新向量2(0,添加的jumpforce*2f));
}
其他的
{
其他rb.AddForce(新矢量2(0,添加Jumpforce));
}
start例程(ChangeSpritesBack());
}
}
如果我们在蹦床上跳,它使用“双跳”,如果我们不跳,它只使用常规跳

再次编辑:我添加了本应在开头添加的
Addforce
版本。我用了一个不推荐的,很抱歉给您带来不便


顺便说一句,当我使用OnTriggerStay2D时,我的猜测是力本身并没有什么不同,但玩家接受力的持续时间是。我不知道根据时间按比例改变力是否在所有情况下都有效

当您修改
Time.timeScale
时,您不必修改
Time.fixedDeltaTime
。游戏看起来“滞后”的原因是你的刚体没有被插值。设置为。

当您修改
时间。时间刻度时,您不必修改
时间。固定时间
。游戏看起来“滞后”的原因是你的刚体没有被插值。设置为。

您可以添加包含
AddForce
的代码吗。根据固定的时间按比例调整力怎么样?所以在slo mo中,它会发出一种不同的力量。真的,对不起。立即编辑您可以添加包含
AddForce
的代码。根据固定的时间按比例调整力怎么样?所以在slo mo中,它会发出一种不同的力量。真的,对不起。立即编辑为提醒而修改。我所经历的滞后是因为我的相机使用了平滑跟随(它得到了它的变换,没有刚体)。还有什么方法可以解决这个问题吗?平滑跟随凸轮是否跟随刚体?如果是,请确保刚体是插值的。实际上,它遵循一个,即玩家角色的刚体。只需设置你在
开始
唤醒
中所说的内容?如果是这样,它就不起作用-它会像地狱一样口吃:/(摄像机跟随玩家角色,我将其刚体设置为插值,就像你写的那样)而不是将其设置为开始或唤醒,而是将其设置为检查器本身。另外,请确保平滑跟踪脚本使用LateUpdate而不是FixeUpdate。谢谢提醒。我所经历的滞后是因为我的相机使用了平滑跟随(它得到了它的变换,没有刚体)。还有什么方法可以解决这个问题吗?平滑跟随凸轮是否跟随刚体?如果是,请确保刚体是插值的。实际上,它遵循一个,即玩家角色的刚体。只需设置你在
开始
唤醒
中所说的内容?如果是这样,它就不起作用-它会像地狱一样口吃:/(摄像机跟随玩家角色,我将其刚体设置为插值,就像你写的那样)而不是将其设置为开始或唤醒,而是将其设置为检查器本身。还要确保平滑跟随脚本使用LateUpdate而不是FixeUpdate。