单人游戏转换为多人   孙广东   2015.7.12

本文档描写叙述将单人游戏转换为使用新的网络系统的多人游戏的步骤。这里描写叙述的过程是简化,对于一个真正的游戏事实上须要更高级别版本号的实际流程,如今介绍的是不工作就像这的每一场比赛,但它提供了基本配方。

1、NetworkManager 安装

• 向场景加入一个新的游戏对象并将它重命名为"NetworkManager"。
• 为新的游戏对象加入NetworkManager 组件。
• 将 NetworkManagerHUD 组件加入到游戏物体。这将为管理网络游戏状态提供默认 UI。

2、Player Prefab 安装

• 在游戏中Find player的预制体prefab。或者从player对象创建一个预置。
• NetworkIdentity 组件加入到player prefab上。
• 检查 NetworkIdentity 的 LocalPlayerAuthority box 。
• 在player prefab的NetworkManager 组件上为 “Spawn Info” 设置 playerPrefab
• 从现场删除player 对象实例,假设它存在于现场

3、Player Movement

• 将 NetworkTransform 组件加入到 player prefab
• 更新输入和控制脚本来遵守 isLocalPlayer
• 修复camera 使用衍生出的player 和 isLocalPlayer

比如。此脚本仅仅处理local player输入:

using UnityEngine;
using UnityEngine.Networking; public class Controls : NetworkBehaviour
{
void Update()
{
if (!isLocalPlayer)
{
// exit from update if this is not the local player
return;
} // handle player input for movement
}
}

4、Basic Player Game State

• 使脚本包括关键数据到NetworkBehaviours , 而不是 MonoBehaviours
• 使重要成员变量到 SyncVars

5、Networked Actions

• 使脚本运行NetworkBehaviours重要操作成而不是 MonoBehaviours
• Update函数运行player操作的重要命令

6、Non-Player Objects

改动非玩家prefabs,像敌人等:
• 加入 NetworkIdentify 组件
• 加入 NetworkTransform 组件
• NetworkManager注冊 spawnable 预置体
• 更新脚本与游戏状态和操作

7、Spawners

• 可能更改的spawner 脚本要继承自 NetworkBehaviours
• 改动spawners 仅仅运行在server上,使用 isServer 属性或 OnStartServer() 函数
• 为创建对象调用 NetworkServer.Spawn()

8、Player的产生的位置

• 加入一个新的游戏对象。并将它放在玩家的应该開始的位置
• 新的游戏对象加入 NetworkStartPosition 组件

9、Lobby

• Create Lobby Scene创建大厅现场
• Import multiplayer-lobby package导入多人游戏大厅包
• 加入 GuiLobbyManager 预置到场景
• Configure the manager配置 管理器

•Scenes
      • Prefabs
      • spawners

Unity5.1 新的网络引擎UNET(七) UNET 单人游戏转换为多人的更多相关文章

  1. Unity5.1 新的网络引擎UNET(二) UNET 官方推荐Demo案例

    http://blog.csdn.net/u010019717/article/details/46873153 视频 http://www.iqiyi.com/playlist391685502.h ...

  2. Unity5.1 新的网络引擎UNET(九) UNET 官方推荐视频教程

    孙广东  2015.7.14 在新的网络引擎出现之前,Unity提供的是 内置 Raknet网络引擎, 这一次Unity想更新UGUI一样,花了大的手笔更新了, UNET. 原来的旧的网络组件 被提示 ...

  3. Unity5.1 新的网络引擎UNET(十五) Networking 引用--下

     孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 10.Network Proximity Checker Suggest a change Success! Than ...

  4. Unity5.1 新的网络引擎UNET(十五) Networking 引用--中

    孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的具体信息. 3.NetworkClient NetworkClient 是一个 HLAPI 类,管理网络连接到服务器 - - 相应着 U ...

  5. Unity5.1 新的网络引擎UNET(十五) Networking 引用--上

    http://blog.csdn.net/u010019717/article/details/46993697 孙广东  2015.7.21 本节提供了与网络系统一起使用的组件的详细信息. 1.Ne ...

  6. Unity5.1 新的网络引擎UNET(八) UNET 系统概括

     孙广东   2015.7.12 Server and Host 在Unity 的 网络系统,游戏有 一个server和多个client. 当没有专用的server时,client之中的一个扮演s ...

  7. Unity5.1 新的网络引擎UNET(四) UNET Remote Actions

    孙广东   2015.7.12 网络系统 具有网络中执行操作actions 的方法.这些类型的actions 有时是调用远程过程调用(Remote Procedure Calls). 在网络系统中有两 ...

  8. Unity User Group 北京站:《Unity5.6新功能介绍以及HoloLens开发》

    ​时间一转眼从春天来到了初夏,Unity User Group(以下简称UUG)活动也迎来了第七期.我们面向Unity3D开发从业者以及未来想从事Unity3D开发的学生群体的UUG活动这次仍然在海淀 ...

  9. 微软引入了两种新的网络过滤系统,WFP和NDISfilter

    Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...

随机推荐

  1. BZOJ 1061费用流

    思路: 我们可以列出几个不等式 用y0带进去变成等式 下-上 可以消好多东西 我们发现 等式左边的加起来=0 可以把每个方程看成一个点 正->负 连边 跑费用流即可 //By SiriusRen ...

  2. JavaScript命名空间的理解与实现

    命名空间有效防止函数名/类名和其他人的冲突,在使用多个第三方框架或类库的时候,一旦冲突,唯一能作的就是放弃其中一个.从事Web开发不可避免要接触JavaScript,目前最新版本的JavaScript ...

  3. html+css布局整理笔记

    基本概念 布局模型 流动模型(Flow) 浮动模型(Float) 层模型(Layer) 流动模型 默认的网页布局模式,流动布局模型有两个比较典型的特征: 第一,块级元素都会在所处的包含元素内自上而下按 ...

  4. html中<frameset>标签,框架结构各窗口的父级菜单子级菜单关系

    这个问题搞得我头大,并且在查过百度后各位大佬给出的解释我都不能理解,应该是我太白的原因,希望我写的能好理解. 下面文章窗口1.2.3,在代码里分别为chuangkou.chuangkou1.chuan ...

  5. 提示“CD/DVD找不到媒体所需的驱动”

    最近在帮我姐安装win7系统时提 示“CD/DVD找不到媒体所需的驱动”,我用的是U盘安装方式,觉得奇怪,那个镜像文件我已经安装过几十次都没有出错,显然是不会有错的.但是新买的电 脑又不会太大的问题, ...

  6. 我的C++笔记(类与对象)

    /* * Main.cpp * * Created on: 2015-7-24 * Author: feiruo */ /* * 类与对象: * * 1.抽象: * 面向对象方法中的抽象,是指对具体问 ...

  7. 各种概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB

    转自:https://my.oschina.net/pacoyang/blog/151695 POJO(pure old java object)是普通java类,有一些private的参数作为对象的 ...

  8. HTTPie:一个不错的 HTTP 命令行客户端

    转自:http://top.jobbole.com/9682/ HTTPie:一个不错的 HTTP 命令行客户端 HTTPie (读aych-tee-tee-pie)是一个 HTTP 的命令行客户端. ...

  9. 使用canvas保存网页为pdf文件支持跨域

    前言 之前上一篇随笔说了Canvas截图网页为图片,下来个新需求,把网页截图后保存为PDF文件供用户下载. 前文 Canvas截图网页为图片:https://www.cnblogs.com/bubub ...

  10. 经典alsa 录音和播放程序

    这里贴上虚拟机ubuntu下alsa的录音程序(capture.c)和播放程序(playback.c)的源码. 首先要测试一下自己的ubuntu是否打开了声音.这个可以打开/系统/首选项/声音  来调 ...