光子统一网络

Posted

技术标签:

【中文标题】光子统一网络【英文标题】:Photon Unity Networking 【发布时间】:2015-04-19 03:32:25 【问题描述】:

我有一个包含 5000 多个立方体的游戏。一旦用户创建了一个房间,就会创建立方体(每次玩游戏时都会有新的排列方式)。我希望能够将创建的多维数据集的位置列表(vector3 列表)传输到服务器,以便加入同一个房间的任何人都将运行一个函数,该函数将实例化多维数据集并根据服务器上的列表排列它们。

【问题讨论】:

到目前为止您尝试了哪些方法,在此过程中遇到了哪些问题?堆栈溢出用户可以回答您的问题并帮助您解决问题,但我们不会只为您编写代码。 谢谢 golergka,我需要一些关于如何实现这一目标的指导。我曾尝试使用 OnPhotonSerializeView() 但这是位置的连续馈送,我希望仅由创建房间的第一个用户发送 +5000 个立方体的位置列表/数据一次,然后可以使用位置列表由加入同一房间的其他用户。我还尝试将 PhotonView 脚本附加到预制件并观察创建的每个立方体的位置,但是当我用完 View ID 时出现错误。这些是我迄今为止的尝试。 【参考方案1】:

如果多维数据集是静态的,您可以按照以下方式避免最初同步这些位置。

创建房间时,为种子创建一个随机值并将其保存在房间属性中。随机值可以是实例的滴答计数。 使用此种子,您可以完全在本地创建立方体的位置。

在提供更多详细信息时,我会更新我的答案。

对于当前情况,由于您需要对新加入的玩家进行相同的设置,因此在 master 中使用缓冲标志进行实例化。

【讨论】:

以上是关于光子统一网络的主要内容,如果未能解决你的问题,请参考以下文章

如何在统一光子中使用 Rpc(脚本不起作用)

在光子统一中序列化 Vector3d 数据类型

量子力学与广义相对论的统一——用广义相对论解释海森堡测不准原理 Unification of Quantum Mechanics and General Relativity: Explaining

光子。在 Android 上重启 WI-FI 后 OnRoomListUpdate 不起作用

Unity3D - 选择哪种网络解决方案? [关闭]

玩家可以加入多个房间吗?双关语