当前位置:网站首页>Unity行为树AI分享
Unity行为树AI分享
2022-08-04 05:25:00 【丁小未】
前言
之前在公司做了一个简单的行为树相关的知识分享,感觉还是花了不少心思和精力在准备上,现在分享给大家,一起学习,共同进步!
需求
三个敌人默认在老巢,如果检测到周围有“敌人”(主角),就追随主角并且达到一定距离范围就射击,如果“敌人”跑远追不上了则返回老巢,如果在追击“敌人”的过程中,自己被射击血量低于20%则向老巢方向逃跑,并且返回老巢指定位置进行回血,当血量回满之后则返回初始位置。我方主角由玩家自己控制,可以移动,可以射击。这里AI主要是设计敌方的AI。
分析
根据上面需求,可以看出来敌方AI大体分为待机巡视、追击、返回、回血几个阶段,具体设计可以看下面效果的第六步。
效果
1.敌人初始化并且返回老巢调整面向
2.碰到“敌人”靠近,跟踪并且射击
3.如果追不上“敌人”则返回到老巢
4.如果在追击的过程中,自己被攻击且血量低于安全值则“逃跑”,返回到回血基地
被“敌方攻击”过程中,返回到右上角回血基地,下图是正在回血,从左下角的log即可看出。
5.多个敌人也是可以的,我们可以通过变量控制生成几个AI敌人
敌方是动态生成出来的,可以看到上图EnemyManager节点一开始是没有敌人的,后来我们控制生成3个敌人则运行的时候出现了3个Enemy。
6.敌人的AI行为树结构
PPT教案
以下PPT是我花了好几十个小时整理的,单纯一个复杂的一页图可能就需要画半天。









































Demo源码
https://github.com/dingxiaowei/AIDemo
学习交流群
375151422
边栏推荐
猜你喜欢

一个对象引用的思考

你以为border-radius只是圆角吗?【各种角度】

《看见新力量》第四期免费下载!走进十五位科技创业者的精彩故事

OpenSSF 安全计划:SBOM 将驱动软件供应链安全

Canal mysql data synchronization

TensorRT例程解读之语义分割demo

Delphi-C端有趣的菜单操作界面设计

Dynamic programming of the division of numbers

8. Custom mapping resultMap

Shocked, 99.9% of the students didn't really understand the immutability of strings
随机推荐
自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
BFC、IFC、GFC、FFC概念理解、布局规则、形成方法、用处浅析
string类简介
嵌入式系统驱动初级【3】——字符设备驱动基础中_IO模型
Interesting Kotlin 0x0E: DeepRecursiveFunction
企业需要知道的5个 IAM 最佳实践
CentOS7 - yum install mysql
8款最佳实践,保护你的 IaC 安全!
MySQL date functions
C Expert Programming Chapter 4 The Shocking Fact: Arrays and pointers are not the same 4.1 Arrays are not pointers
读者让我总结一波 redis 面试题,现在肝出来了
腾讯136道高级岗面试题:多线程+算法+Redis+JVM
擎朗智能全国研发创新中心落地光谷:去年曾获2亿美元融资
Summary of MySQL database interview questions (2022 latest version)
px、em、rem的区别
3面头条,花7天整理了面试题和学习笔记,已正式入职半个月
npm报错Beginning October 4, 2021, all connections to the npm registry - including for package installa
About yolo7 and gpu
Use Patroni callback script to bind VIP pit
4.3 Annotation-based declarative transactions and XML-based declarative transactions