Unity多人立方体自动移动?

Unity Multiplayer Cube Auto Move?

我遵循了下面的 Unity 官方多人游戏指南并且一切正常,除了当我 运行 同一台计算机上的两个实例时(1 个在构建 运行 中,另一个在播放模式)角色由于某种原因自动绕圈移动。

我不知道这是为什么,因为我完全按照教程进行操作,除非我错过了什么 :P 我目前在第 9 步(识别本地玩家)并且我停在那里因为我的玩家一直在转圈。

澄清一下,他们不是在原地转圈,而是在绕圈走。试想一个人在地板上跟随一个虚线圆圈,同样的想法。

此问题仅在我 运行 两个实例(统一构建 运行 模式和播放模式)时发生。如果我只尝试统一播放模式,一切正常。

有没有人以前遇到过这种情况?

Unity 多人游戏教程https://unity3d.com/learn/tutorials/topics/multiplayer-networking/network-manager?playlist=29690

我的版本是 2017.2.0f3 <-- 也许这是为什么?我应该更新到不同的补丁吗?

提前致谢

我生成角色的地方

build 和 运行,玩家只是自动绕圈移动

同时构建运行和播放模式,它们都再次自动绕圈移动

我在您的代码中看到第一个问题:

PlayerController.cs第36行,你写了

   var bullet = (GameObject)Instantiate(BulletPrefab, BulletSpawn.transform.position, BulletSpawn.transform.rotation);

应该是

   var bullet = (GameObject)Instantiate(BulletPrefab, BulletSpawn.position, BulletSpawn.rotation);

因为 BulletSpawn 已经是一个 Transform。否则子弹可能不会朝枪的方向发射。

没有我按下键盘键,我没有任何玩家移动。

这是 2 个构建 运行 运行良好的屏幕截图:

我也试过在游戏模式下构建 运行 + Unity 编辑器,没问题。

也许问题出在您的键盘或 unity 的输入管理器上?由于您使用的是 Input.GetAxis,请检查此 https://docs.unity3d.com/Manual/class-InputManager.html

你的角色自动移动的问题是因为你的电脑上插入了一些东西作为controller/joytick。进入控件设置并将所有操纵杆设置为最后一个操纵杆#。确保为所有垂直和水平移动设置此项。这应该可以解决问题。

例如,如果您使用像 3D connexion 这样的 3D 鼠标,它可以充当 joystick/controller 并自动移动您的角色。