问题标签 [unity-networking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1668 浏览

c# - 为什么我的单身人士为空?

我尝试个性化NetworkManager,但他一直在给予

空引用异常

...在命令中NetworkManager.singleton.StartHost ();

问题在于NetWorkManager.Singleton.StartHost();函数StartGame();总是返回

...我不知道为什么会这样

这是代码。

它是在统一 5 制作的,那么我该如何解决呢?

0 投票
1 回答
354 浏览

unity3d - 如何使用 Unity UNet 联网调用单机?

我有客户端/服务器程序,客户端使用 [command] 调用服务器,然后我希望服务器只用一些数据回调那个客户端,或者在那个播放器上调用某个函数而不发送/调用所有其他客户端。

有人知道怎么做吗,请你举个例子。我看到了一个名为 SendToClientOfPlayer 的函数,但是我找不到任何如何使用它的示例,我什至不知道这是否是正确的函数。

0 投票
1 回答
121 浏览

c# - 为什么不能同时使用 2 个 NetworkManager?

这个问题是关于新的 Unity UNet 网络解决方案。

我想创建从一台服务器到另一台服务器的平稳过渡,但看起来我无法同时使用多个 NetworkManager 实例。但为什么?使用多个服务器连接有什么问题?有没有可能同时连接到两台服务器?

或者另一种情况:如果我想使用两台服务器怎么办:一台用于同步位置,第二台用于全局值,如金钱或其他东西,在 MySQL 数据库中同步?在这种情况下我需要做什么?

0 投票
2 回答
12365 浏览

unity3d - 如何为 Unity 的新 UNET 使用多个播放器预制件?

有没有人在新的 Unity UNET Networking 上使用多个播放器预制件(例如具有不同预制件的不同角色类)?

0 投票
1 回答
1175 浏览

c# - Unity 5 - UNET - 将拖动的游戏对象同步为客户端(HL2 重力枪风格)

我正在制作一个 2D 合作游戏,其中包含涉及移动物理对象的谜题。

我正在使用 Unity 5 引擎和 UNET 工具

玩家拥有的武器之一是模仿半条命2重力枪行为的武器;

  1. 你在某个方向右击
  2. 它朝那个方向进行光线投射,距离有限
  3. 如果它找到一个带有对撞机和特定标签的游戏​​对象,它将其存储为“grabbedObject”
  4. 它设置了grabbedObject的位置,使它漂浮在玩家面前
  5. 您再次右键单击并放下它。

这在服务器端完美运行,在客户端你可以看到它工作。但是,当您尝试作为客户端执行此操作时,它不会更改服务器上的 grabbedObject 位置,并且一旦您放下它,它就会恢复到原始位置

0 投票
4 回答
9112 浏览

c# - UNET 客户端无法发送服务器命令,主机可以

因此,正如标题所示,我遇到了客户端发送的命令未被触发的问题。

我正在尝试使用的基本功能是,当敌人在玩家面前并且我点击时,该玩家会暂时被击晕。如果我是主持人,效果很好,并且双方都完美注册。

如果我作为客户端玩,我会到达“应该”发送命令的地步,但我注意到我收到一条警告,上面写着“尝试为非本地玩家发送命令”。同样,两端都没有发生任何事情。显然,我必须在客户端做错事,但不知道还有什么其他方法可以解决这个问题。

“问题”代码。

方法调用

编辑:根据要求,这是两个完整的脚本。

http://pastebin.com/mr4A9ZgH

http://pastebin.com/Qg0AjCCD

统一播放器配置:

https://gyazo.com/400c5b3a95c1a58f9b6e930b0c3c853b

https://gyazo.com/c17a7317767a00e2150ff34b03a03e8f

https://gyazo.com/322731aefbe69f9567d2b395523b8f2a

完整的警告信息

尝试为非本地播放器发送命令。UnityEngine.Networking.NetworkBehaviour:SendCommandInternal(NetworkWriter, Int32, String) PlayerController:CallCmdStun() ObjectInteractor:Update() (在 Assets/Scripts/ObjectInteractor.cs:58)

0 投票
0 回答
192 浏览

c# - Lidgren Createmessage() Write() 但 Read() 动态类型,如何?

我开始用lidgren 编写我自己的网络。我很远。我的目标是稍后制作我自己的主服务器(lidgren 有一个示例)和一个自动匹配服务器,它托管服务器并再次最近。

我厌倦了 Unity Networking(它很容易但有限)、UNet 和其他诸如 photon 之类的东西。Photon 很棒,但对我的计划来说很昂贵……而其他人没有自动配对……或者他们想让它仍然留在服务器上。

好吧,我试着解释我的想法和问题。我想做一个我想调用的动态序列化方法:

客户端可以发送非常不同的东西,如 int、float、bool、vector3、vector2 等。

消息发送到服务器..并且服务器需要发送回其他客户端。客户端具有相同的代码,但服务器没有。那么我该如何解决这个问题。

这部分(服务器):

因此,如果您查看代码,也许您知道我想尝试什么。服务器或客户端并不总是具有相同的消息长度和相同的类型。那么我怎样才能获得类型并发送给所有客户呢?

0 投票
0 回答
457 浏览

c# - 无法通过 Unet 同步 UI

我需要用 UI 制作 playerHealth。一切正常,但是当我加入另一个玩家时,我看不到 UI。如果您是本地玩家,我尝试启用 UI 游戏对象,但这不起作用。如何通过 id 制作玩家的加载值,例如: playerHealth = playerID.health;?

0 投票
1 回答
332 浏览

unity3d - Unity Networking (UNT) 中的两个玩家可以访问相同的 GameObject

任何人都知道或有一些想法,如何在 Unity3D 多人游戏 (UNT) 中拥有可供两个玩家访问的游戏对象。我想要做的是有一个可以从两个玩家身上拖动的对象。

我一直在看教程并阅读文档,但还没有弄清楚如何解决这个问题。

0 投票
2 回答
458 浏览

unity3d - Unity 5.2 UNet:从它的所有者那里释放一个游戏对象

我正在测试 UNET (Unity 5.2),但遇到了一些可能应该非常简单的问题。

我有一个橙色水果(GameObject),我可以拖动它并在代码中附加了网络转换。释放鼠标(Mouse Up)时,我想释放 Orange 的所有权,所以没有人拥有它,以后想附加到另一个玩家。我已经测试ReplacePlayerForConnection了其他一些东西,但完全搞砸了代码。

我现在已经重置了所有东西,并且必须寻求一些帮助如何做到这一点。

我拥有的附加到 Orange GameObject 的脚本是:

1

这是附加到橙色游戏对象的脚本 #2: