Unity的FishNet相关知识

FishNet和常规网络手游不太一样,他是可以将客户端和服务器写成一套代码的,也就是客户端也可以作为服务器

C#特性:

ServerRpc 方法添加了这个特性后,这个方法只会在服务端执行,由客户端调用,但是客户端不会执行这个方法

ObserversRpc 添加了这个特性的方法,只会在客户端运行,并且由服务端调用,服务端调用后,所有客户端都会被执行

TargetRpc 添加了这个特性后,只会在客户端运行,由服务器调用,并且需要指定一个NetworkConnection,只会给这个connection调用

我们平时开发有2种办法实现FishNet:

1.所有代码集成在一个项目中,服务器和客户端逻辑写在一起

2.服务器和客户端分成2个项目,分别处理逻辑

分成2个项目的时候需要注意踩坑点:

1.NetworkBehavior对象必须客户端和服务器同时有,并且类名完全一样。比如一个Player上有PlayerHealth脚本,那么客户端和服务器都得挂上这个脚本,并且名字不能改,否则会报错提示协议错误

其他的踩坑点:

1.Player上有Camera,那么客户端只有isOwner为true的情况才开启这个Camera,并且其他玩家Camera必须默认隐藏,不然会导致客户端的视角错乱,因为会有很多相机存在场景里unity不知道是哪个!

2.NetworkTransform如果勾选了Client Authoritative,那么只会由客户端控制Transform,服务器自己拖动坐标是没有用的,如果没有勾选,那么就是由服务器控制Transform

相关推荐
重生之我是小技11 分钟前
独享代理IP与共享代理IP的核心区别
网络
涉密IT资质笔记1 小时前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
honsor1 小时前
PoE温湿度传感器:一根网线供电+通信,即插即用,机房/配电室/仓库温湿度监测首选
运维·服务器·网络·数据库·人工智能·安全
Ivanqhz2 小时前
干涉图着色
java·服务器·网络·数据库·人工智能·深度学习
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 IO 多路复用:select服务器完善、poll 接口详解与服务端改造实战
linux·网络
数字供应链安全产品选型2 小时前
智能体安全选型建议:抛开功能清单,用运行时硬指标甄别真实防护能力
网络·安全
AI备忘录2 小时前
(二十三)华为华三锐捷迈普思科 MLAG 跨设备配置命令(双活网关五厂商对照)
服务器·网络·华为
傲世仙尊3 小时前
HTTP起步-URL域名解析与协议的本质
网络·网络协议·http
智能化咨询3 小时前
(110页PPT)酒店智能化设计方案(附下载方式)
网络
babywang03 小时前
Unity笔记--AssetBundle详解
unity·游戏引擎