通过示例探索Unity和Photon中的同步问题的系列文章的开始。

正如我怀疑许多其他人所做的那样,我考虑将我的第一个多人游戏构建为另一个Pong游戏。 一切都进行得很顺利,直到我去尝试使两个球员之间的球运动同步。
决定退出该项目,并首先通过一个简化的示例解决此同步问题; 记录下来。
项目设置
创建并登录到Photon帐户。 创建类型为Photon PUN的新Photon应用程序。 记录其应用程序ID ; 我们稍后将需要它。
基于3D模板创建一个新的Unity项目。
使用Unity Asset Store ,下载并导入Photon Unity Networking Free 。 我们将使用之前生成的应用ID来完成此步骤。
餐桌场景
接下来,我们为Table场景设置所有游戏对象; 此时,GameManager是一个空对象。

为了使球无限期反弹,我们创建了Physics Material , Material ,并将其应用于地板和侧面。

游戏玩法
我们创建一个球体, 球:
- 在地板中间
- 将材料应用于它
- 向其中添加一个刚体组件
- 向其中添加一个光子视图组件
- 在名为Assets in Assets的新文件夹中创建其预制件
- 终于从现场撤出Ball
我们创建一个脚本以在启动时加入一个Photon房间,并将其添加到GameManager游戏对象中。
资产/表/GameManager.cs

观察结果:
- 当第二个玩家连接时,第一个玩家实例化一个联网的Ball ,即为房间中的所有玩家创建了Ball 。
- 但是, 球没有设置任何要观察的东西。 因此Ball的两个实例之间没有任何同步。
下一步
一切准备就绪后,我们将在“ 同步问题”(Unity + Photon):第2部分中深入研究球的运动。