Unity2018.2 多人游戏开发中文文档(乱翻版)

Unity多人游戏

终极目标

好了,现在要进行的是多人游戏方面的工作。

首先说第一个,终极目标。

终极目标是实现我们的项目的三个乘客和一个指挥员的联机运行。

状态机已经写好了,现在只需要连上网。

需要了解

开始了解unity联机原理。

需要了解的是:

  • 一个网络管理员(器?)

  • 一个玩家用来找到和加入游戏的用户图形界面

  • 网络玩家预制体,玩家用来控制的

  • 多人在线的脚本和物体

  • 客户端服务器主机之间的关系

  • 物体和动作的什么关系

网络管理员

  • 有且只有一个
    • 管理游戏状态
    • 派生管理
    • 场景管理
    • 调试信息
    • 匹配
    • 定制
  • 三种联网模式
    • 客户端
    • 服务器
    • 同时作为服务器和客户端的主机

派生管理

一个代表玩家的预制体

将NetworkIdentity组件添加到玩家预制体上

一旦分配了一个玩家预制体就可以作为主机开始游戏

停止游戏会破坏玩家的预制体

要向网络管理员注册预制体

网络管理员通过newworkmanager.onserveraddplayer的方法生成玩家

起始位置

NetworkStartPosition确定玩家生成的位置

RoundRobin循环设置Startposition

GetStartPosition查找起始位置

场景管理

分为离线场景和在线场景

启动服务器或者主机将加载在线场景

在线场景名称存储在networkSceneName中

断开时可自动返回菜单场景

NetworkManager.ServerChangeScene() 可对所有连接的客户端更新场景

StartHost或者StopClient可能导致场景更改

场景更改会导致前一个场景被销毁

保证网络管理器设置为DontDestryOnLoad

也可以在不同场景单独设置网络管理器

定制

网络管理器HUD

运行时显示GUI

可以选择局域网模式和匹配模式两种

自己使用的时候要将Network Discovery 集成进去

匹配模式

创建

查找

向多人游戏服务发送请求

返回游戏当前存在的所有匹配项的列表

单击加入匹配就能加入

单人游戏转换为多人游戏

网络管理员的设置

添加NetworkManager

玩家预制体

创造预制体

在NetworkIdentity添加预制体

检查NetworkIdentity的LocalPlayerAuthority

playerPrefabNetworkManager的“ Spawn Info”部分设置为玩家预制体

如果场景中存在玩家实例,则移除它

玩家动作

将NetworkTransform组件添加到玩家预制体

更新输入和控制脚本以遵守isLocalPlayer

修复相机来遵守派生的玩家和isLocalPlayer

游戏状态

将重要的数据放入NetworkBehaviours而不是Mono

将重要的成员放入SyncVars

联网动作

如上第一条

将执行重要玩家操作的功能更新为命令

非游戏玩家对象

添加NetworkIdentity<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值