c# - 从其他场景加载后出现延迟
问题描述
假设/我想要实现的目标
我正在制作一个仅在 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,所以我对此不太了解。
我应该怎么做才能解决这个问题?
解决方案
对不起,一切都是我的错。此代码在场景转换之前运行。
Time.fixedDeltaTime = 0.2f;
推荐阅读
- java - PolylineOptions 不能为空且不出现路线
- usb - USB 设备控制器驱动程序规范
- spring - Spring Data JPA ManyToOne 查询 null
- c++ - 将所有 *.txt 文件合并到一个文本文件中,该文件的名称由用户使用 C++ 指定
- java - 发送邮件时无法向 SMTP 主机发送命令
- vuejs2 - 设置选定的选项不基于 v-model
- javascript - vuejs 按年份排序并在数组中按标签查找
- sql - 如何在这个场景中使用 DELETE ON CASCADE?
- android - Gradle 错误:无法转换文件以匹配 jetified 属性
- xpath - TIBCO BW 5 为所有项目创建自定义 java 函数