问题标签 [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.
unity3d - UNET 专用服务器。我怎样才能使它资源明智?
我的目标是使用 UNET 专用服务器进行生产,但每个会话(3-6 个玩家)超过 100 MB 的 RAM 显然太多了。如何强制服务器不加载模型/音频/纹理?
unity3d - NetworkServer 未激活。没有活动服务器就无法生成对象
我一直在寻找这个问题的答案,但没有找到任何解决问题的方法。预制件已注册。
这是代码片段,在下面的类中:
“公共类 MyNetworkManager:NetworkManager”
有人可以暗示问题是什么吗?
networking - 对象生成后如何访问脚本?
在统一多人游戏中,玩家预制件在场景加载后生成,声明所需脚本并避免 NullReferenceException 错误的最佳方法是什么?
c# - 同步从 Unet/Unity 5 中另一个可交互对象更改的非玩家对象变换?
我的游戏中有一个立方体,它在查看另一个对象时在其初始状态和更大的状态之间徘徊。这在单人游戏中效果很好,但是当我将它带到多人游戏时,我找不到正确的选项组合来让它在两个客户端(一个是主机)上更新。每个玩家仍然可以激活自己的立方体,但不会在另一台机器上显示。该脚本位于具有网络标识的按钮上,它访问也具有网络标识和网络转换的多维数据集。
单人游戏代码参考:
unity3d - Unity [UNET] 同步非玩家对象变换
我有一个关于 UNET 系统的问题。
场景中有一些可以拾取的对象。我想在玩家拿起它时同步转换该对象。
该对象有一个选中的NetworkIdentity
组件。LocalPlayerAuthority
它也有一个NetworkTransform
脚本,但转换仅从主机同步到客户端,而不是相反。因此,如果我在主机端移动对象,所有客户端都会看到更改,但如果客户端移动它,则只有特定客户端会看到更改。我需要做什么才能使其在双方同步?
unity5 - 如何计算来自非玩家对象的所有玩家的得分
我一直在尝试使用 unity 5.4 和 c# 制作火箭联盟类型的游戏。
我已经得到了球员工作和比赛区域的一切。玩家由网络生成器生成,球由球生成器生成,就像教程中的敌人生成器一样。我有两个球可以碰撞球并重置球的位置。但是我如何告诉球员有一个进球呢?我一直在到处寻找,找不到一个很好的例子来说明如何从球向球员传递信息。我有一个文本用户界面,它显示在所有球员的相机上,并且使用 2 个变量来计算得分,所以我想要的是在球与球门碰撞时以某种方式通过球增加这些变量。
据我了解,RPC 调用仅在球员对象之间起作用,如果我尝试将它们放在球和球员之间,同步变量似乎不起作用,任何人有任何提示或可以告诉我我错过了什么?
编辑:对于有同样问题的人。我通过创建一个 scoreManager 对象并让它将分数作为同步变量来解决这个问题,然后我得到了 scoremanager 组件及其脚本并增加了球的分数,然后也为球员获取它并获取分数。
networking - 为什么生成的对象没有正确的名称和标签
我使用以下代码生成预制件:
还尝试了以下相同的结果:
它在主机/客户端上完美运行,并且名称和标签是正确的。但是,在客户端/客户端上,所有预制件都被生成,但具有相同的名称“_BackSide”,并且每个预制件具有相同的标签。
有人能告诉我我做错了什么吗?
c# - Unity Networking:当客户端首先加载场景时,网络对象没有出现在客户端上
我在多人游戏中遇到对象实例化问题。游戏布局很简单:玩家进入大厅,一旦每个人都准备好,就会出现倒计时和加载游戏关卡的LobbyManager
调用。ServerChangeScene(gameScene)
问题是在很多负载上,所有联网对象都没有在客户端上实例化。经过一些游戏测试后,我注意到这似乎只发生在client
服务器之前加载场景时 - 当server
首先加载时一切都正确显示并且游戏正常运行。有没有办法确保服务器首先加载?
一些代码供参考:
c# - 网。多人载具
我目前正在开发多人 fps 射击游戏,但我被困在车辆上。
我尝试了这些“ClientRpc”的东西,“Command”等等。所以 Player 有 Controll 脚本,这个脚本有 OnControllerColliderHit 函数,所以如果发生这种情况我调用 void Disable();
在这种方法中,我禁用了所有对撞机和一些我不需要的组件,例如:射击、移动、相机等...
基本上我需要的是:当他上车时禁用一些播放器组件。脚本在单人游戏中完美运行,但在多人游戏中看起来很奇怪。
我也在 Unity 的答案上问过这个问题,但没有得到任何答案: http: //answers.unity3d.com/questions/1235436/ (有脚本)
ps(如果您需要更多信息或脚本供我发布,请发表评论。)
networking - 如何为足球比赛设置球员预制件
我正在团结一致地开展足球比赛项目。这是一个 2 人 android 游戏,其中每个团队将有 5 名玩家......我已经设置了所有游戏,现在我陷入了网络。我想使用UNET 而不是 Photon进行联网。
为此,我已阅读此链接上的统一网络文档:https ://docs.unity3d.com/Manual/UNetSetup.html
它非常简单且工作正常,因为在他们的文档中只有一个立方体供他们设置播放器预制件。 但是,就我而言,每支球队有 5 名球员,1 个足球和一个足球场。我不知道我是否必须为所有团队成员(游戏对象)设置玩家预制件,或者有任何其他解决方案,因为我不希望我的游戏变慢。
PS:我是游戏开发的初学者,任何好的解决方案或意见将不胜感激,谢谢