news 2026/4/18 3:12:17

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/4/16 23:05:19

Azure智能搜索双引擎:从检索规划到深度推理的企业级实践

Azure智能搜索双引擎:从检索规划到深度推理的企业级实践 【免费下载链接】azure-search-openai-demo A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language model…

作者头像 李华
网站建设 2026/4/15 20:45:48

面试数据库八股文十问十答第五期

面试数据库八股文十问十答第五期 作者:程序员小白条,个人博客 1)介绍一下 MySQL8 的新特性 Window Functions: 提供了对查询结果进行窗口化处理的功能,例如使用 ROW_NUMBER() 进行分页。Common Table Expressions (CT…

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

Avue.js实战指南:数据驱动型企业级应用开发新范式

Avue.js实战指南:数据驱动型企业级应用开发新范式 【免费下载链接】avue 🔥Avue.js是基于现有的element-plus库进行的二次封装,简化一些繁琐的操作,核心理念为数据驱动视图,主要的组件库针对table表格和form表单场景,同…

作者头像 李华
网站建设 2026/4/18 3:18:33

openEuler系统下安装MongoDB的技术教程

你需要一份在openEuler系统下安装MongoDB的技术教程,我会按照环境准备→安装部署→配置启动→功能验证的流程,提供详细且可直接操作的步骤,同时覆盖开源版MongoDB(社区版)的核心配置要点。 一、环境说明 系统版本&…

作者头像 李华
网站建设 2026/4/18 5:09:24

Venture:构建复杂异步工作流的Laravel神器

Venture:构建复杂异步工作流的Laravel神器 【免费下载链接】venture Venture allows you to create and manage complex, async workflows in your Laravel apps. 项目地址: https://gitcode.com/gh_mirrors/ve/venture 在当今的Web开发中,处理复…

作者头像 李华
网站建设 2026/4/18 5:07:55

边缘智能的下一波浪潮:TinyML如何颠覆传统AI部署模式

边缘智能的下一波浪潮:TinyML如何颠覆传统AI部署模式 【免费下载链接】tinyml 项目地址: https://gitcode.com/gh_mirrors/ti/tinyml 在AI技术快速发展的今天,一个革命性的变革正在悄然发生——TinyML技术正将强大的机器学习能力带入微小的边缘设…

作者头像 李华