代码之家  ›  专栏  ›  技术社区  ›  NoobProgrammer

Unity多人游戏立方体自动移动?

  •  0
  • NoobProgrammer  · 技术社区  · 8 年前

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

    我不知道为什么会这样,因为我已经完全遵循了教程,除非我错过了什么:P我目前正在执行步骤9(识别本地玩家),我在那里停了下来,因为我的玩家一直在循环。

    要澄清的是,它们并没有原地旋转,而是绕着一个圈走。想象一下,一个人在地板上画了一个虚线圈,想法是一样的。

    只有在运行两个实例(unity中的build run模式和play模式)时,才会出现此问题。如果我只在unity中尝试播放模式,一切都会很好。

    以前有人经历过这种情况吗?

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

    我使用的是2017.2.0f3版<--也许这就是为什么?我应该更新到其他补丁吗?

    提前谢谢你

    我在那里生成角色 Where I spawn the characters

    构建并运行,玩家只需自动循环移动 build and run, player just spins in circles automatically

    无论是构建运行模式还是播放模式,它们都会再次自动循环移动 both build run and play mode, they both again spin in circles automatically

    2 回复  |  直到 6 年前
        1
  •  1
  •   Pierre Baret    8 年前

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

    PlayerController。cs第36行,你写道

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

    应该是这样的

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

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

    如果我不按keybord键,我不会让任何球员移动。

    以下是2个构建运行良好的屏幕截图: enter image description here

    我还尝试在游戏模式下构建run+Unity编辑器,我没有问题。

    也许问题来自你的键盘或unity的输入管理器?因为您正在使用 Input.GetAxis ,请检查此项 https://docs.unity3d.com/Manual/class-InputManager.html

        2
  •  1
  •   HumanlyRespectable    7 年前

    角色自动移动的问题是因为您的计算机中插入了一些充当控制器/操纵杆的东西。进入控制设置并将所有操纵手柄设置为最后一个操纵手柄#。确保为所有垂直和水平移动设置此选项。这应该可以奏效。

    例如,如果使用类似3D鼠标的3D connexion,它可以充当操纵杆/控制器并自动移动角色。