单人游戏转换为多人   孙广东   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. WPF中ListBox ListView数据翻页浏览笔记(强调:是数据翻页,非翻页动画)

    ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来 ...

  2. 【Linux】YUM Repositories for CentOS, RHEL & Fedora Systems

    这里是官方wiki:https://wiki.centos.org/AdditionalResources/Repositories 一.简介 YUM(Yellowdog Updater Modifi ...

  3. pinpoint体系中,关于如何清理过期hbase数据

    版本: pinpoint:1.7.1 hbase:1.2.6 命令行命令: $HBASE_HOME/bin/hbase shell    newrestruct.hbase 备注:保留一天半的数据(秒 ...

  4. Android网络编程随想录(2)

    上篇文章介绍了传输层TCP协议的理论知识,本文主要介绍了TCP协议基础之上HTTP协议和HTTPS协议的理论知识. HTTP协议基于TCP协议定义了客户端向服务器请求数据的方式,它是面向事务的应用层协 ...

  5. call by value 和 call by reference 的区别

    引用自https://zhidao.baidu.com/question/340173099.html Call by Value就是传值的方式,函数调用时是把实参的值传给形参,函数调用结束后形参的值 ...

  6. 解决strip: Unable to recognise the format of the input file问题

    前言   在编译xilinx的uboot的时候出现了一个问题,始终报错:“strip: Unable to recognise the format of the input file `gen_et ...

  7. python编写简单的html登陆页面(2)

    1  在python编写简单的html登陆页面(1)的基础上在延伸一下: 可以将动态分配数据,实现页面跳转功能: 2  跳转到新的页面:return render_template('home1.ht ...

  8. php 单例模式与常驻服务

    运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收.也就是 说,PHP在语言级别上没有办法让某个对象常驻内存.在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在 ...

  9. nyoj124-中位数

    中位数 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数. 比如 1 5 10 11 9  其中位数就是9 ...

  10. JavaScript(DOM编程三)

    节点的移动,insertBefore <body> <p>你喜欢哪个城市?</p> <ul id="city"><li id= ...