Unity5.1提供了Unet
Unet是Uniyt方便开发者而设计出来的多人联机服务。
Unity 官方例子 https://unity3d.com/cn/learn/tutorials/s/multiplayer-networking
百度教程https://jingyan.baidu.com/article/e8cdb32b1ea8d337042bad68.html
官方Api:https://docs.unity3d.com/Manual/UNet.html
首先要在Game里面创建一个空物体对象 ,NetWorkManager身上挂载 NetWorkManager脚本和NetWorkManagerHUD(负责更新显示UI)
NewWorkInfo 是一些网络信息
Use WebSockets 是否使用webSockets协议, 通过一个生成一个Socket进行通讯
https://blog.csdn.net/songhuageini/article/details/77076322
Address 网络地址,
Port 端口 默认7777
Max Delay 最大延迟
Max Buffered Packets 最大缓冲包
Server bind to ip 服务器绑ip
Packet Fragmentation 数据包 分储存
MatchMaker Host URI 媒连接人 也就是Unity里的Unet
MatchMaker Port 媒端口
Match Name 匹配名
Maximum Match size 最大匹配数,
Spwan Info 生成信息
PlayerPre 玩家预制体
Auto create Player 自动创建 玩家
Player Spwan method 玩家生存方法 随机
Registered Spwanable Prefabs 注册 可生成的 预设, 每个预设身上都要有NetWorkIdenity组件,网络标识符,不然会报错。
调用方法是 NetWorkServer.Spawn() 需要加上[Command] 特性 //意思是 在客服端调用,在服务器运行;加了Command特性的 下面的方法 要加Cmd开头;
Advanced configurtation 高级配置
Use NetWork Simulator 使用 网络 模拟器
Nework Manager HUD 比较简单
Show runtime GUI 运行时显示GUI
下面一个是 水平偏移 一个 垂直偏移;
NetWork Transform
组件 可以实时 更新 Transform组件的信息,以及Rigibody组件的信息,
NetWork Send Rate (seconds) 网络数据每秒发送的速率,0代表只在首次发送数据
Transform Sync Mode 同步模式 里面可以选 刚体,角色控制器,Transform
Movement 移动
Movement Threshold 移动的临界值 最低的门槛 小于这个数不会发送数据
Snap Threshold 快速阈值 猛一下的临界值
InterPolate Movement Factor 插入运动的因素
Rotation 旋转
Rotation Axis 旋转的轴 X YZ的组合
InterPolate Rotation Factor 插入旋转的因素
Compress Rotation 压缩 旋转 高和低 可以选
Sync Angular Velocity 是否同步 角速度