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

unity3d - UNET 专用服务器。我怎样才能使它资源明智?

我的目标是使用 UNET 专用服务器进行生产,但每个会话(3-6 个玩家)超过 100 MB 的 RAM 显然太多了。如何强制服务器不加载模型/音频/纹理?

0 投票
2 回答
2039 浏览

unity3d - NetworkServer 未激活。没有活动服务器就无法生成对象

我一直在寻找这个问题的答案,但没有找到任何解决问题的方法。预制件已注册。

这是代码片段,在下面的类中:

“公共类 MyNetworkManager:NetworkManager”

有人可以暗示问题是什么吗?

0 投票
2 回答
297 浏览

networking - 对象生成后如何访问脚本?

在统一多人游戏中,玩家预制件在场景加载后生成,声明所需脚本并避免 NullReferenceException 错误的最佳方法是什么?

0 投票
2 回答
1537 浏览

c# - 同步从 Unet/Unity 5 中另一个可交互对象更改的非玩家对象变换?

我的游戏中有一个立方体,它在查看另一个对象时在其初始状态和更大的状态之间徘徊。这在单人游戏中效果很好,但是当我将它带到多人游戏时,我找不到正确的选项组合来让它在两个客户端(一个是主机)上更新。每个玩家仍然可以激活自己的立方体,但不会在另一台机器上显示。该脚本位于具有网络标识的按钮上,它访问也具有网络标识和网络转换的多维数据集。

单人游戏代码参考:

0 投票
1 回答
1740 浏览

unity3d - Unity [UNET] 同步非玩家对象变换

我有一个关于 UNET 系统的问题。

场景中有一些可以拾取的对象。我想在玩家拿起它时同步转换该对象。

该对象有一个选中的NetworkIdentity组件。LocalPlayerAuthority它也有一个NetworkTransform脚本,但转换仅从主机同步到客户端,而不是相反。因此,如果我在主机端移动对象,所有客户端都会看到更改,但如果客户端移动它,则只有特定客户端会看到更改。我需要做什么才能使其在双方同步?

0 投票
2 回答
862 浏览

unity5 - 如何计算来自非玩家对象的所有玩家的得分

我一直在尝试使用 unity 5.4 和 c# 制作火箭联盟类型的游戏。

我已经得到了球员工作和比赛区域的一切。玩家由网络生成器生成,球由球生成器生成,就像教程中的敌人生成器一样。我有两个球可以碰撞球并重置球的位置。但是我如何告诉球员有一个进球呢?我一直在到处寻找,找不到一个很好的例子来说明如何从球向球员传递信息。我有一个文本用户界面,它显示在所有球员的相机上,并且使用 2 个变量来计算得分,所以我想要的是在球与球门碰撞时以某种方式通过球增加这些变量。

据我了解,RPC 调用仅在球员对象之间起作用,如果我尝试将它们放在球和球员之间,同步变量似乎不起作用,任何人有任何提示或可以告诉我我错过了什么?

编辑:对于有同样问题的人。我通过创建一个 scoreManager 对象并让它将分数作为同步变量来解决这个问题,然后我得到了 scoremanager 组件及其脚本并增加了球的分数,然后也为球员获取它并获取分数。

0 投票
0 回答
140 浏览

networking - 为什么生成的对象没有正确的名称和标签

我使用以下代码生成预制件:

还尝试了以下相同的结果:

它在主机/客户端上完美运行,并且名称和标签是正确的。但是,在客户端/客户端上,所有预制件都被生成,但具有相同的名称“_BackSide”,并且每个预制件具有相同的标签。

有人能告诉我我做错了什么吗?

0 投票
0 回答
333 浏览

c# - Unity Networking:当客户端首先加载场景时,网络对象没有出现在客户端上

我在多人游戏中遇到对象实例化问题。游戏布局很简单:玩家进入大厅,一旦每个人都准备好,就会出现倒计时和加载游戏关卡的LobbyManager调用。ServerChangeScene(gameScene)问题是在很多负载上,所有联网对象都没有在客户端上实例化。经过一些游戏测试后,我注意到这似乎只发生在client服务器之前加载场景时 - 当server首先加载时一切都正确显示并且游戏正常运行。有没有办法确保服务器首先加载?

一些代码供参考:

0 投票
1 回答
480 浏览

c# - 网。多人载具

我目前正在开发多人 fps 射击游戏,但我被困在车辆上。

我尝试了这些“ClientRpc”的东西,“Command”等等。所以 Player 有 Controll 脚本,这个脚本有 OnControllerColliderHit 函数,所以如果发生这种情况我调用 void Disable();

在这种方法中,我禁用了所有对撞机和一些我不需要的组件,例如:射击、移动、相机等...

基本上我需要的是:当他上车时禁用一些播放器组件。脚本在单人游戏中完美运行,但在多人游戏中看起来很奇怪。

我也在 Unity 的答案上问过这个问题,但没有得到任何答案: http: //answers.unity3d.com/questions/1235436/ (有脚本)

ps(如果您需要更多信息或脚本供我发布,请发表评论。)

0 投票
1 回答
123 浏览

networking - 如何为足球比赛设置球员预制件

我正在团结一致地开展足球比赛项目。这是一个 2 人 android 游戏,其中每个团队将有 5 名玩家......我已经设置了所有游戏,现在我陷入了网络。我想使用UNET 而不是 Photon进行联网。

为此,我已阅读此链接上的统一网络文档:https ://docs.unity3d.com/Manual/UNetSetup.html

它非常简单且工作正常,因为在他们的文档中只有一个立方体供他们设置播放器预制件。 但是,就我而言,每支球队有 5 名球员,1 个足球和一个足球场。我不知道我是否必须为所有团队成员(游戏对象)设置玩家预制件,或者有任何其他解决方案,因为我不希望我的游戏变慢。

PS:我是游戏开发的初学者,任何好的解决方案或意见将不胜感激,谢谢