单人游戏转换为多人   孙广东   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. Wannafly挑战赛25 A 因子 数学

    题面 题意:令 X = n!,给定一大于1的正整数p,求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子,n,,p(1e18>=n>=1e4>=p>=2) ...

  2. Python基础:lambda 匿名函数

    格式 lambda argument1, argument2,... argumentN : expression square = lambda x: x**2 print(square(2)) 与 ...

  3. Mysql数据库概述

    阅读目录 引擎介绍 表介绍 创建表 查看表结构 mysql中的数据类型 表的完整性约束 修改表结构 删除表 多表结构的创建与分析 练习 返回顶部 引擎介绍 mysql中的存储引擎(https://ww ...

  4. PHP开发笔记(二)PHP的json_encode和json_decode问题

    解决PHP的json_encode问题之前,先了解一下PHP预定义常量http://php.net/manual/zh/json.constants.php. 用PHP的json_encode来处理中 ...

  5. Python编程Web框架 :Django 从入门到精通

    Django是一个高级别的Python Web框架,它鼓励快速开发和干净实用的设计. 现在我们开始学习它. Django学习之 第一章:Django介绍 Django学习之 第二章:Django快速上 ...

  6. Android 使用WindowManager实现Android悬浮窗

    WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象. 每一个WindowMan ...

  7. Static variables in JavaScript

    function MyClass () { // constructor function var privateVariable = "foo"; //NO:obj.privat ...

  8. postgreSQL格式化时间的函数详解

    数据类型格式化函数:    PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来 ...

  9. 『MicroPython』Hello uPy

    官网买了几乎全套.一路曲折:7月10号下单,13号发货,14号法兰克福过关,23号到北京,25号到上海,27号到沪C:沪C邮局投3次未果,中彩票一样终于打通了投递部电话才在次日28号“妥投”:又因出差 ...

  10. Linux VFS分析(二)

    inode的管理:Inode-cache hash表inode_hashtable索引节点缓存 dentry的管理: 我们知道,若干dentry描绘了一个树型的目录结构,这就是用户所看到的目录结构,每 ...