问题标签 [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 回答
938 浏览

c# - Unity2D,无法在所有客户端(多人游戏)中同步我的精灵

我正在尝试了解 Unet,但我无法掌握它,尽管遵循了一些教程。

我正在制作一个 2d 游戏,而我目前所困的是更新我的角色精灵转动的方式(向左或向右)。

此处显示的问题

我的播放器预制件有:Sprite 渲染器、rigidbody2D、网络身份(设置为本地播放器权限)和网络变换。

这是附加到每个播放器的代码:

我知道这很可能是我做错了超级简单的事情,这只会增加询问这个问题的痛苦,但非常感谢任何帮助!谢谢

编辑:我的游戏设置方式,其中一个玩家既是主机又是客户端,我不知道这是否会让它变得更难,但这就是统一在本地玩时的方式。

0 投票
1 回答
165 浏览

unity3d - 如何翻转相机而不是网络游戏的 UI?

这是我的第一个网络游戏。我试图弄清楚我如何定位玩家。My Player 是一座建筑物,因此它不会移动,但它决定了游戏。就像塔防一样。我总是希望玩家处于最底层。

我需要的是 isLocalPlayer 位于底部, !isLocalPlayer 位于顶部。我有一个正在运行的网络游戏。我在底部有 P1,在顶部有 P2。但这出现在两个屏幕上。不知何故,我必须为玩家 2 旋转他们所在的游戏对象?

就像是

有任何想法吗?

在此处输入图像描述

0 投票
0 回答
120 浏览

c# - 在 Unity Networking 中执行命令时的权限警告

我在执行 [Command] 时收到有关权限的警告消息,但我找不到此警告的来源。当我拖动一个对象时,我得到了这个。

a) 我不明白为什么以及在哪里收到警告信息?

b)我不明白为什么它不是localplayer并且第二次拥有权限?

c) 我不明白为什么当 localplayer 和 hasauthority 为假时 yt 为“0”?

如果有人可以向我解释这一点,我将不胜感激?给我解释一下?

我使用 EasyTouch 进​​行触摸。

这是我在拖动时从这段代码中得到的打印:

0 投票
1 回答
72 浏览

unity3d - 在播放场景的 `Awake()` 之前调用 PlayerPrefab 的 `Start()`

我正在使用 Unity 的网络大厅资产为我的游戏创建大厅。游戏在编辑器上运行良好,但是当我在 PC 上构建时发生了一些奇怪的事情:第一个玩家对象的函数在场景中的所有其他Start()对象之前被调用。Awake()

我在调试时遇到了麻烦,因为该错误仅发生在 PC 版本上。但我相信目前脚本执行顺序是这样的:

第一个玩家的Start()->Awake()游戏场景中的所有玩家 -> 其他玩家的Start()

请帮我让第一个播放器Start()正常执行!

0 投票
1 回答
445 浏览

unity3d-unet - uNet 生成具有多个网络标识的预制件

我正在尝试使用统一的开箱即用网络管理器类创建 3D 游戏。在这个游戏中玩家可以跑来跑去,射击和拾取其他武器。

玩家预制件有一个 NetworkIdentity,每种枪型也有一个 NetworkIdentity。

当玩家加入游戏时,我希望他们使用默认枪生成。但是,我在让玩家使用默认枪生成时遇到问题,因为枪具有 NetworkIdentity。一切都生成好了,但我无法更改生成武器的客户端所有者,因此玩家无法射击或重新加载他们开始使用的武器。他们在生成后在世界上拾取的武器工作得很好。

这似乎和我的问题一样,但没有人回应。

应该如何组织 unet 游戏的预制件?是否可以让默认网络管理器类生成包含嵌套 NetworkIdentity 脚本实例的预制件?

感谢您提供的任何帮助。

0 投票
1 回答
928 浏览

unity3d - 在 playerPrefab 上找不到传入 [xxxx] 的接收器

Unity Unet 有问题。我正在尝试在地图上生成玩家。播放器出现在服务器和客户端上,但出现以下错误:

在 playerPrefab 上找不到传入 [xxxxxx] 的接收器,服务器和客户端应该具有相同的 NetworkBehaviour 实例。

你知道如何解决这个问题吗?

编辑 :

这是 NetworkManager 设置和 PlayerPrefab 设置的图片

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
986 浏览

unity3d - Unity3D NetworkClient.Connect 与 Network.Connect 有什么区别?

再会,

我是 Unity 网络服务器/客户端的新手。

我想建立一个有大厅的游戏,然后玩家可以进入准备好的房间然后开始游戏。

我想知道如何开始将此客户端连接到服务器。

谢谢你。

0 投票
0 回答
465 浏览

unity3d-unet - UNET 向客户端发送服务器数据,反之亦然

现在,我想互相发送数据。例如,服务器将向所有客户端发送数据,连接的客户端数。客户端将接受该消息并将结果放入 UI 文本中。

我已经阅读了有关 NetworkMessage 的信息,但它只有在我使用 NetworkServer、Listen / NetworkClient.RegisterHandler 时才有效。还有关于 [SyncVar] 和 [ClientRPC] 但我仍然找不到我的答案,

我希望有人能帮助我解决这个问题。我刚开始学习 Unity Networking。

带有适当解释的源代码会有所帮助,Unity 文档让我大吃一惊。

提前致谢。

0 投票
1 回答
362 浏览

unity3d-unet - Unity3D 网络读取消息

如果客户端尝试连接到不存在的服务器,如何检查错误?

我的代码!

0 投票
0 回答
378 浏览

networking - Unity - GameObject.Find() 仅适用于服务器

我正在制作一个简单的网络游戏。场景有一个名为“ReloadButton”的按钮,我试图找到这个按钮并通过我附加在播放器上的脚本向它添加一个侦听器。

我这样做是因为Button无法通过公共变量将“ReloadButton”直接引用到脚本。

该代码在服务器上运行良好,监听器也被正确添加。但在客户端,GameObject.Find("ReloadButton")抛出一个NullReferenceException.

似乎客户端无法找到 Button 本身。如果不解决这个问题,我就无法在我的项目中继续进行下去,我希望你们中的一些人能指出我的问题。