【问题标题】:Unity3D Network GroupsUnity3D 网络组
【发布时间】:2015-03-28 06:26:06
【问题描述】:

我只是想确保我了解在通过网络发送消息(数据包或你有什么)时何时、为什么以及如何使用组。我想到的例子是这样的:

所以我想象这张地图分为四个象限。假设每个象限都有 NPC 和玩家。 橙色星代表网络组 1。 红星代表网络组 2。 蓝色星代表网络组 3。 绿色星代表网络组 4。 因此,假设所有玩家从地图的蓝色星象限开始,他们将在第 3 组。这意味着所有以“3”作为组参数发送的 RPC 将在该象限客户端的所有玩家上接收和处理(正确的?)。并且从/发送到其他组的任何 RPC 都会被他们的客户端忽略(对)?

因此,如果 NPC 移动到绿色星象限中的新位置,则不会在第 1-3 组(对)上进行处理?

现在,如果玩家从蓝色星象限移动到绿色星象限,他的网络组应该(通过触发对撞机)从 3 切换到 4(右)?

再一次,我只是想检查一下我对网络在网络方面的工作方式的理解。他们的教程形式并不多,什么都没有。至少我没有找到。

【问题讨论】:

    标签: unity3d network-programming


    【解决方案1】:

    您的问题的答案是“是”,但不知何故为“否”。没有网络组类。只有网络类中的一个方法。

    如果您正在与 Network Group 合作。您实际上不会创建 4 个网络组。如果所有游戏对象都相同,则只需要 1 个,但是您提到了 NPC,所以我假设您有玩家,因为如果您没有玩家,它就不是游戏。

    所以你为 NPC 创建了 1 个 NetworkGroup = 因为它们可能具有相同的组件。 1 个 NetworkGroup for Players = 相同的组件。

    现在我想,你很担心。给有一个组的个人玩家。嗯,NetworkGroup 不是蓝队、红队等。它只是一个使用相同组件的分组对象。

    因为在你的游戏中有一个小组。你应该改变他们所在的团队。

    您可以使用 NetworkGroup 创建团队,但它与 Game Logic 并不真正相关。但是您可以为聊天创建 NetworkGroup,即使他们不在同一个团队中,只要他们在组中。您可以轻松地为该群组打电话或聊天。

    【讨论】:

    • 你误解了这个问题。网络组不是一个类或方法……它是每个网络视图都有的变量。我的问题得到了回答HERE
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多