介绍
网络同步对象是Unity的一个具有NetworkObject组件的游戏对象。NetworkObject是Photon Fusion2中最重要的组件之一。具有这个组件的游戏对象代表了游戏房间中的一个网络实体。
网络同步对象可以通过Spawning生成,也可以作为一个场景对象加载。
NetworkId
服务器会给NetworkObject组件分配一个NetworkId(网络ID)值。这是一个标识游戏房间中对象的整型的也是唯一的标识值。这个值在所有终端中都是一致的,用来在网络中引用对应的对象。
可以通过调用NetworkRunner.TryFindObject()方法,利用NetworkId值找到本地网络同步对象实例。
生成网络同步对象
网络同步对象可以通过两种途径创建:
- 调用Runner.Spawn()
调用Spawn时,一个带有NetworkObject组件的游戏对象就被创建出来,而且这个创建行为会在网络中被复刻。
传入Runner.StartGame()方法的INetworkObjectProvider参数包含了对象创建方式的实现,它可以是各种方式,包括:从预制体生成;克隆一个已经存在的对象;通过代码创建一个新的自定义对象;或者从对象池中拉出一个对象,等等方式。 - 加载一个包含网络同步对象的场景
参考: