Unity自带的 Unet 网络组件帮助我们快速开发网络游戏
这里我简单利用Unet 组件搭建了一个Unity官网介绍的小游戏
游戏截图:
相当于一款简单的TPS游戏,在这里游戏模型很简单,只由几个常见几何体构建完成
一.主角的联机同步
创建一个空对象,命名为Network Manager,在其添加Network Manager和Network Manager HUD组件
接下来搭建一个主角
在主角下添加如下图三个组件:
<1>在Network Controller组件上在Local Player Authorit上打勾,意思上在服务器端和客户端都将创建一个主角;倘若在Server Only上打勾,该模型主角将只在游戏服务器端创建,客户端上将无法生成
<2>添加Network Transform组件,选择Sync Transform,添加该组件主角的移动,旋转,缩放将会在客户端与服务器端同步;倘若选择Sync Rigidy 3D,则主角的物理运动将在客户端与服务器端同步
<3>添加HeroController C#脚本组件,用于控制子弹射击,旋转,移动
代码如下:
HeroController.cs
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class HeroController : NetworkBehaviour
{
///旋转速度
private float rotateSpeed=40.0f;
// 平移速度
private float translateSpeed=1.5f;
//子弹速度
private float bulletSpeed=3.0f;
public GameObject bulletObj;
public Transform bulletTransform;
private float KeyJLifeTime=0.3f;
private float KeyJTimer=1.0f;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame