news 2026/4/30 10:23:19

Netcode for GameObjects Boss Room 多人RPG战斗(13)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Netcode for GameObjects Boss Room 多人RPG战斗(13)

ServerCharacte

概述

ServerCharacter是 Unity Boss Room 项目中服务器端角色逻辑的核心实现,负责管理角色的网络状态、动作执行、AI行为、伤害处理等服务器权威逻辑。它与客户端的ClientCharacter分离,实现了清晰的客户端-服务器架构。

核心功能与设计

1. 组件化架构

ServerCharacter采用组件化设计,通过依赖注入和组件引用管理多个功能模块:

[RequireComponent(typeof(NetworkHealthState),typeof(NetworkLifeState),typeof(NetworkAvatarGuidState))]publicclassServerCharacter:NetworkBehaviour,ITargetable

关键依赖组件:

  • NetworkHealthState:管理角色生命值的网络同步
  • NetworkLifeState:管理角色的生存状态(Alive/Fainted/Dead)
  • ServerActionPlayer:执行角色动作的核心系统
  • ServerCharacterMovement:处理角色移动逻辑
  • AIBrain:AI角色的行为控制器(仅NPC使用)

2. 网络状态管理

ServerCharacter使用NetworkVariable管理所有需要同步的状态,确保服务器权威:

publicNetworkVariable<MovementStatus>MovementStatus{get;}=newNetworkVariable<MovementStatus>();publicNetworkVariable<bool>IsStealthy{get;}=newNetworkVariable<bool>();publicNetworkVariable<ulong>TargetId{get;}=newNetworkVariable<ulong>();publicNetworkVariable<ulong>HeldNetworkObject{get;}=newNetworkVariable<ulong>();

核心状态:

  • 生命值和生存状态(通过NetHealthStateNetLifeState组件)
  • 移动状态和目标位置
  • 隐身状态
  • 当前目标ID
  • 持有物品状态

3. 动作系统集成

ServerCharacter作为动作系统的核心入口,处理客户端的动作请求并执行相应逻辑:

[Rpc(SendTo.Server)]publicvoidServerPlayActionRpc(ActionRequestDatadata){// 处理动作请求PlayAction(refdata);}publicvoid<
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 7:30:30

Netcode for GameObjects Boss Room 多人RPG战斗(16)

Boss Room动作系统 1. 动作系统 Boss Room的动作系统是一个基于对象池的网络同步动作框架,为角色提供了统一的动作执行和管理机制。系统采用了服务器权威的设计模式,同时支持客户端预测以提升游戏体验。 2. 核心组件架构 2.1 核心基类与接口 组件 职责 文件位置 Action 所…

作者头像 李华
网站建设 2026/4/27 3:38:14

【OpenGL ES】在Windows上手撕一个mini版的渲染框架

1 前言1.1 开发该框架的动机​ OpenGL ES 是一个渲染指令接口集合&#xff0c;每渲染一帧图像都是一系列渲染指令的排列组合。常用的渲染指令约有 70 个&#xff0c;记住这些渲染指令及其排列组合方式&#xff0c;是一件痛苦的事情。另外&#xff0c;在图形开发中&#xff0c;经…

作者头像 李华
网站建设 2026/4/26 11:10:43

推荐系统中的损失函数梳理:从Pointwise到Listwise

引言&#xff1a;目标决定损失函数选择推荐系统通常采用两阶段架构&#xff1a;召回&#xff08;Recall&#xff09;与精排&#xff08;Ranking&#xff09;。两个阶段的优化目标存在本质差异&#xff0c;这直接决定了损失函数的选择。召回阶段从海量候选集&#xff08;百万至亿…

作者头像 李华
网站建设 2026/4/23 10:47:48

BewlyBewly多语言支持实践指南:5步搞定国际化开发

BewlyBewly多语言支持实践指南&#xff1a;5步搞定国际化开发 【免费下载链接】BewlyBewly Improve your Bilibili homepage by redesigning it, adding more features, and personalizing it to match your preferences. 项目地址: https://gitcode.com/gh_mirrors/be/Bewly…

作者头像 李华
网站建设 2026/4/30 4:16:15

基于BP的低密度校验码LDPC的编译码仿真

基于BP的低密度校验码LDPC的编译码仿真 第一章 仿真研发背景与核心目标 在5G通信、卫星通信等领域&#xff0c;信号传输易受噪声、信道衰落干扰导致数据失真&#xff0c;纠错编码技术成为保障传输可靠性的关键。低密度校验码&#xff08;LDPC&#xff09;凭借逼近香农极限的纠错…

作者头像 李华
网站建设 2026/4/23 12:14:12

基于51单片机的语音储存于回放

基于51单片机的语音储存与回放系统设计 第一章 绪论 在日常办公、教学演示、小型设备交互等场景中&#xff0c;语音储存与回放功能具有广泛应用需求。传统语音记录设备如磁带录音机、专用录音笔等&#xff0c;存在体积较大、存储容量有限、数据传输不便等问题&#xff0c;难以适…

作者头像 李华