使用 Netcode for Gameobjects 创建 Unity 多人游戏_哔哩哔哩_bilibili
网游面对的几个情况
- 其他玩家的操作必须由服务器转发过来;
- 自己的操作是直接生效还是先发消息,等服务器确认后生效?
主要类
NetworkManager
NetworkObject
所有需要同步的物体加这个脚本,且把预制体加入NetworkManager的列表。
NetworkBehaviour
需要同步的脚本,原来继承MonoBehaviour的,改成继承NetworkBehaviour。
OnNetworkSpawn()
NetworkBehaviour的生命周期函数。当游戏对象通过网络生成(如服务器调用NetworkObject.Spawn())时,执行顺序为Awake -> OnNetworkSpawn -> Start
NetworkVariable<>
构造函数里可以设置变量的读写权限。
[ServerRPC]
需要同步到服务端的操作加上[ServerRPC],并且函数以ServerRPC结尾。