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

相关推荐
皮皮学姐分享-ppx1 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
W_chuanqi2 小时前
联想M7615DNA网络打印方法
网络·联想·打印机网络连接
做cv的小昊4 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
HavenlonLabs5 小时前
硬件 + SaaS 产品的工程化路径:从系统架构、PCB 设计到工程样机
网络·安全·架构·系统架构·安全架构
玖玥拾5 小时前
Cocos学习笔记:序列化、配置文件与数据驱动
游戏引擎·cocos2d
RReality5 小时前
【Unity UGUI】血条 / 进度条(HP Bar)
ui·unity·游戏引擎·图形渲染
yychen_java8 小时前
当算法成为武器:AI泛滥时代的多维危机透视与治理路径
网络·人工智能·ai
漫途科技9 小时前
精准盯防危房隐患,智守人居安全|MTB46-4-2A 4G数据采集终端专项应用方案
网络·安全
Misnearch9 小时前
抓包Packet Capture
网络·抓包
zhangfeng113310 小时前
ps aux讲解,结合国家超算中心 hpc apptainer
linux·服务器·网络