从其他场景加载后发生滞后

问题描述 投票:-1回答:1

假设/我要实现的目标

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

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);
    }
}

我尝试过的

您可以从this article中看到,我试图解决滞后问题,但没有任何变化。

Player对象只有一个刚体才能使用Rigidbody.velocity。重力无效,与地板的摩擦力高,不会打滑。

补充信息

Unity2019.2.6f1

PUN2免费


重要的是,在编辑器中从场景播放时没有滞后。我认为,像其他问题一样,光子不是原因,但我认为Unity是主要原因。 (例如,先前的场景正在干扰,等等。)

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

我该怎么解决?

c# unity3d photon
1个回答
0
投票

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

Time.fixedDeltaTime = 0.2f;

© www.soinside.com 2019 - 2024. All rights reserved.