问题标签 [unity3d-unet]

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 投票
1 回答
1428 浏览

unity3d - 如何为 WebGL 构建运行 uNET(Unity 网络)主机服务器 - Unity 5.3.5

所以我有一个游戏要导出到 WebGL。它使用 Unity 最新的网络解决方案 uNET(Unity Networking),我选择了 *use websockets 选项。

目前,WebGL 客户端不能作为服务器。因此,为了托管游戏,我在通过编辑器运行游戏时就这样做了。然后在浏览器中,我可以作为客户端加入游戏。

所以很明显我不想让我的电脑通过编辑器成为主机,而网络中的人作为客户加入。

我在想我应该独立构建游戏并在某个服务器上运行独立游戏并以主机身份加入游戏。然后当然我会 24/7 离开服务器,这样任何人都可以通过网络加入。但我不知道如何实现这一点(即使用什么服务),或者这是否是正确的方法。

0 投票
1 回答
614 浏览

c# - 在 Unity3D UNET 服务器上使用 IPv6 连接问题

我正在部署专用服务器UNET,当我启动服务器时,我尝试获取所有 IP 的列表(IPv4IPv6)。我的服务器部署在启用了 IPv6 支持的Linux服务器上DigitalOcean,可以通过 IPv6 地址 ping 服务器。

当我通过 IPv4 从客户端连接到服务器(从NetworkClientNetworkServer) - 一切正常,但是,当我通过 IPv6 连接时 - 我得到timeout error. 奇怪的是,它似乎在 Windows 服务器上运行良好(我可以通过 IPv6 连接),但在 Linux 上不起作用。

我正在使用Unity 5.3. 当我尝试DNS.GetHostEntry(hostName)像往常一样获取我的 IPv4 地址时,但 IPv6 地址以格式返回给我"::",就像从IPAddress.IPv6Any字段一样,但是当我在服务器上获取 ipconfig 时,我看到它们的格式正确。

有人可以帮我解决这个问题吗?

0 投票
1 回答
141 浏览

user-interface - 为什么我的 UI 面板在远程客户端上与主机客户端上的原始位置相比移动

我正在测试 UNET 和 UI。当我在场景中放置一个面板时,它在主机客户端中是可以的,但面板在远程客户端上有另一个位置。

我正在使用锚点等。

谁能解释一下?

主机客户端 主机客户端

远程客户端 远程客户端

锚点 在此处输入图像描述

0 投票
1 回答
8744 浏览

c# - 如何在 C# 中使用 Unity UNET 获取本地网络中所有设备的 IP 地址?

每个人!

我在一个本地网络中有很多设备。如何获取所有这些设备的 IP 地址?

我想做这样的事情:

0 投票
1 回答
486 浏览

ios - iOS 本机构建的 Unity Unet 多人游戏问题

我创建了我的如何与统一的配对课程。这一切都可以在电脑上正常运行,并且可以轻松创建匹配而没有任何问题。当我尝试为 iOS 创建匹配时,问题就来了。

当我尝试创建一个新匹配时,我在 Xcode 上收到了这个错误:

这是用于创建匹配的代码:

这里有什么问题?

0 投票
1 回答
698 浏览

c# - 如何从非玩家对象 UNET 发送命令

我无法在我的游戏中从我的枪预制件发送命令。如何从非玩家游戏对象发送命令?每次我尝试发送命令时,都会出现错误。我不想将我的射击脚本从我的枪转移到我的播放器上,因为这种方法需要我彻底改变我的游戏。

我的拍摄脚本:

我的拍摄检测脚本:

0 投票
1 回答
1203 浏览

c# - Unity Networking - [command] 函数在不应该执行时执行

我对统一网络和网络本身还很陌生。

游戏: 我有 2 名玩家多人游戏,每个玩家都可以射击。

问题:

当主机玩家按下空格键时,代码 1 使两个玩家都射击(仅在主机游戏中)。客户端玩家不能从客户端的游戏中射击。

注意:if (Input.GetKeyDown (KeyCode.Space))位于 CmdShoot 方法内部。

代码 2 正确执行。主机可以在主机游戏中射击,客户端可以从客户端的游戏中射击。

注意:在if (Input.GetKeyDown (KeyCode.Space))代码 2 的 CmdShoot 方法之外。

问题: 在代码1中,为什么客户端不能射击,为什么主机让两个玩家都射击?

代码 1:

代码 2:

0 投票
1 回答
1767 浏览

unity3d - 通过 ClientRPC 调用发送原始类型数组

我正在尝试使用该ClientRpc属性通过网络发送各种基本类型的数组。文档指出,我可以毫无问题地通过网络发送这些:

  • 基本类型(byte、int、float、string、UInt64 等)
  • 基本类型数组

但是,似乎将它们混合在一个object[]数组中是行不通的。我有以下示例:

在服务器上,我得到了输出

在客户端,这到达没有任何错误:

如何通过 ClientRpc 调用发送具有不同基本类型的各种数量的参数?

0 投票
1 回答
1000 浏览

c# - Unity3D Client cannot spawn prefab

I am making shooting game over network and it works very well with below source.

player.cs


but what i want to do is to implement CmdDefaultAttack in another class inherited Interface and call it from Player.cs

source below

player.cs

The problem is when i try to shoot a bullet, it throws the error message saying "network server is not active. cannot spawn objects without an active server."

And only server player can shoot bullets and it actually shows up to clients. But clients can shoot only on their side and it doesn't show up to other clients or server.

i am stuck in this problem for days. Can anyone give me any advice?

thanks.

0 投票
0 回答
53 浏览

c# - 当客户端连接到服务器时,请执行 foreach UNET

当客户端连接到服务器时,如何使我的 foreach 正常工作。因为当我将 foreach 放入更新中时,效果很好。有什么问题?