首页 > 解决方案 > 从其他场景加载后出现延迟

问题描述

假设/我想要实现的目标

我正在制作一个仅在 3D 中移动 x 和 z 轴的动作游戏。我正在尝试使其与在线多人游戏兼容。Player 对象具有这样的组件。

播放器

对 OnlinePlayerController.cs 使用 StandardAssets 的操纵杆,有使用刚体速度移动的代码。代码写在下面。

我遇到的问题

从另一个场景加载在线场景时总是会出现延迟。

适用源代码

using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
using UnityStandardAssets.CrossPlatformInput;

public class OnlinePlayerController : MonoBehaviourPunCallbacks
{
    public float speed;

    [SerializeField]
    GameObject Rotation; //Omitted because it has nothing to do with movement

    void Update()
    {
        x = CrossPlatformInputManager.GetAxisRaw("Horizontal");
        z = CrossPlatformInputManager.GetAxisRaw("Vertical");

        rigd.velocity = new Vector3(x * speed, 0, z * speed);
    }
}

我试过的

正如你从这篇文章中看到的,我试图修复滞后,但没有任何改变。

Player 对象具有仅用于使用Rigidbody.velocity的刚体。重力无效,与地板的摩擦力大,不会滑倒。

补充资料

unity2019.2.6f1

双关语免费


需要注意的是,在编辑器中从场景播放时没有延迟。我认为 Photon 不是原因,就像其他问题一样,但我认为 Unity 是主要原因。(比如之前的场景有干扰等)

这是我第一次使用 PUN2,所以我对此不太了解。

我应该怎么做才能解决这个问题?

标签: c#unity3dphoton

解决方案


对不起,一切都是我的错。此代码在场景转换之前运行。

Time.fixedDeltaTime = 0.2f;


推荐阅读