news 2026/3/4 2:15:46

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

作者头像

张小明

前端开发工程师

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

com.unity.multiplayer.samples.coop-2.5.0\Assets\Scripts\Gameplay\GameplayObjects\Character\AI

1. 系统概述

AI系统是一个基于状态机的智能体控制系统,主要用于处理游戏中NPC角色的行为逻辑,包括空闲状态、攻击状态等。系统采用了组件化架构,与服务器端角色逻辑紧密集成,实现了高效的AI行为管理。

2. 核心组件与架构

2.1 状态机基础架构

AIState.cs- AI状态基类,定义了所有AI状态必须实现的接口:

  • IsEligible()- 检查状态是否适用
  • Initialize()- 状态初始化
  • Update()- 状态更新逻辑

2.2 AI核心控制器

AIBrain.cs- AI核心逻辑处理类:

  • 管理AI状态切换(Idle/Attack)
  • 实现仇恨系统(Hate方法及GetHatedEnemies列表)
  • 提供AI状态选择机制(FindBestEligibleAIState)
  • 管理与服务器角色和动作系统的交互

2.3 具体状态实现

IdleAIState.cs - 空闲状态
  • 功能:当AI没有仇恨目标时处于此状态
  • 核心逻辑
    • DetectFoes()- 定期扫描周围玩家,检测范围内的敌人
    • 使用平方距离计算优化性能(避免昂贵的sqrt操作)
    • 通过PlayerServerCharacter.GetPlayerServerCharacters()获取所有活跃玩家
    • 当检测到敌人时,调用AIBrain.Hate()添加仇恨目标
AttackAIState.cs - 攻击状态
  • 功能:当AI有仇恨目标时处于此状态
  • 核心逻辑
    • 选择合适的攻击目标(ChooseFoe())
    • 选择可用的攻击动作(ChooseAttack())
    • 执行攻击动作序列
    • 处理追逐行为和攻击队列
    • 处理眩晕状态等特殊情况

2.4 玩家角色管理

PlayerServerCharacter.cs

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 4:43:31

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

1. 系统概述 Boss Room项目采用了基于Unity Gaming Services (UGS) Lobby服务的房间管理系统,结合自定义的连接管理框架,实现了完整的房间创建、加入、管理和销毁功能。系统支持两种连接方式:直接IP连接和通过Relay服务的网络连接。 2. 核心组件架构 2.1 连接管理层 Con…

作者头像 李华
网站建设 2026/2/24 6:01:01

OpenUSD工具链:从入门到精通的实用指南

OpenUSD工具链:从入门到精通的实用指南 【免费下载链接】OpenUSD Universal Scene Description 项目地址: https://gitcode.com/GitHub_Trending/ope/OpenUSD OpenUSD工具链作为Universal Scene Description生态系统的重要组成部分,为开发者提供了…

作者头像 李华
网站建设 2026/2/23 9:01:16

2025终极Valetudo兼容指南:50+款扫地机器人完全解析

2025终极Valetudo兼容指南:50款扫地机器人完全解析 【免费下载链接】Valetudo Cloud replacement for vacuum robots enabling local-only operation 项目地址: https://gitcode.com/gh_mirrors/va/Valetudo 在智能家居蓬勃发展的今天,云端依赖已…

作者头像 李华
网站建设 2026/3/1 20:28:19

Orleans分布式追踪方案深度对比:Jaeger vs Zipkin实战指南

Orleans分布式追踪方案深度对比:Jaeger vs Zipkin实战指南 【免费下载链接】orleans dotnet/orleans: Orleans是由微软研究团队创建的面向云应用和服务的分布式计算框架,特别适合构建虚拟 actor模型的服务端应用。Orleans通过管理actors生命周期和透明地…

作者头像 李华
网站建设 2026/3/1 23:52:08

运维工程师技术教程之ELK日志监控

ELK(现在通常称为 Elastic Stack,加入 Beats 后扩展为 ELKB)在运维工作中使用非常广泛,是企业级日志管理、监控告警、故障排查的主流开源解决方案,尤其是在中大型互联网公司、云原生架构、分布式系统的运维场景中&…

作者头像 李华