【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树

前言

Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化

编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合

uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写

行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下)

BehaviorDesigner插件的基础使用,发哥已经做了详细的介绍了,但是我发现例子很少,于是就有了这篇文章,我自己琢磨实现一个简单的BOSS的AI行为树,把思路分享出来,你可以依据这些思路进行再扩展

不懂BehaviorDesigner基础操作的可以去看发哥的这篇文章:BehaviorDesigner插件制作AI行为树

素材

插件

1、AssetStore下载

插件可以在AssetStore下载到,地址:https://assetstore.unity.com/packages/tools/visual-scripting/behavior-designer-behavior-trees-for-everyone-15277

2.我放了1.7.1版本的到GitCode上,地址:

https://gitcode.net/unity1/unitybehaviordesigner

一、基础使用

新建2d项目,搭建环境,主角和敌人boss,给boss新增animator动画,大致连线

导入BehaviorDesigner插件,点击菜单Tools/Behavior Designer/Editor即可打开编辑器窗口

并在敌人身上创建行为树,空格,新增Repeater节点,并勾选永远循环

打印测试,sequence节点控制从左到右执行

每3秒打印"打印日志"

运行效果

二、敌人物理攻击

新增脚本Attack

using UnityEngine;
using BehaviorDesigner.Runtime;
using BehaviorDesigner.Runtime.Tasks;
public class Attack : Action
{
    public Animator animator;
    public GameObject player;
 
    public override void OnStart(){
      //切换动画状态为攻击
        animator.SetTrigger("Attack");
    }
    public override void OnEnd(){
        Debug.Log("打印2");
    }
}

运行效果,敌人每3秒发动一次攻击

三、敌人面向玩家

新增FacePlayer脚本

using BehaviorDesigner.Runtime.Tasks;
using UnityEngine;
//始终面向主角
public class FacePlayer : Action
{
    private float baseScaleX;
    public GameObject player;
    public override void OnAwake()
    {
        baseScaleX = transform.localScale.x;
    }
    public override TaskStatus OnUpdate()
    {
        Vector3 scale = transform.localScale;
        scale.x = transform.position.x > player.transform.position.x ? baseScaleX : -baseScaleX;
        transform.localScale = scale;
        return TaskStatus.Success;
    }
}

运行效果,先朝向玩家再发起攻击

四、敌人法术攻击

新增Cast脚本

using UnityEngine;
using BehaviorDesigner.Runtime.Tasks;
public class Cast : Action
{
    public GameObject player;
    public GameObject spell;
    public override void OnStart(){
        //生成技能攻击特效
        float playerH = player.gameObject.GetComponent<SpriteRenderer>().sprite.bounds.size.y; //通过SpriteRenderer获得人物高度
        Object.Instantiate(spell, player.transform.position + new Vector3(0, playerH, 0), Quaternion.identity);
    }
}

这次我们用Set Trigger节点控制动画切换

运行效果,大概流程就是开始等待3秒,面朝主角,切换动画为魔法攻击动作,再等待0.5秒后切换回Idle动画,并运行Cast代码,触发攻击特效,一直循环

五、随机进行攻击

关键就是Random Selector节点的使用

中间插入Random Selector节点,分别连接两种攻击模式,运行效果

六、敌人不同的阶段

你可能还希望boss在不同阶段有不同的效果,比如半血以下狂暴,不同技能等

新增IsHealthUnder脚本,我这里就简单举个例子

using BehaviorDesigner.Runtime.Tasks;
public class IsHealthUnder : Action
{
    public float health;
    public override TaskStatus OnUpdate()
    {
        return health < 50 ? TaskStatus.Success : TaskStatus.Failure;
    }
}

新增Selector节点

运行效果,因为是测试,我这里就手动改敌人的血量了

当血量低于50时,处于第二阶段,就会走左边,打印日志,你可以在这里加入敌人新的状态和技能,或者过场动画

当血量大于100时,处于第一阶段,敌人还是正常走前面的逻辑

源码

https://gitcode.net/unity1/unity-ai-behavior

目录
相关文章
|
人工智能 搜索推荐
「社会实验室」成真!SocioVerse:复旦联合小红书开源社会模拟世界模型,用AI预演群体行为
SocioVerse是由复旦大学联合小红书等机构开源的社会模拟框架,基于大语言模型和千万级真实用户数据构建,能精准模拟群体行为并预测社会事件演化趋势。
1248 2
「社会实验室」成真!SocioVerse:复旦联合小红书开源社会模拟世界模型,用AI预演群体行为
|
9月前
|
机器学习/深度学习 人工智能 监控
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含5000张已标注牛行为图片,涵盖卧、站立、行走三类,适用于YOLO等目标检测模型训练。数据划分清晰,标注规范,场景多样,助力智慧牧场、健康监测与AI科研。
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
|
12月前
|
机器学习/深度学习 人工智能 算法
深度强化学习在异构环境中AI Agent行为泛化能力研究
随着人工智能技术的迅猛发展,AI Agent 在游戏、智能制造、自动驾驶等场景中已逐步展现出强大的自适应能力。特别是深度强化学习(Deep Reinforcement Learning, DRL)的引入,使得智能体能够通过与环境的交互,自动学习最优的行为策略。本文将系统性地探讨基于深度强化学习的AI Agent行为决策机制,并结合代码实战加以说明。
深度强化学习在异构环境中AI Agent行为泛化能力研究
|
机器学习/深度学习 人工智能 监控
AI监控智能化客户行为轨迹分析技术
本方案通过目标跟踪技术(如DeepSORT)和多摄像头协作,实时分析顾客在商场内的行为路径,识别高频活动区域,优化商场布局与商品陈列,提供个性化营销服务。基于深度学习与时序数据分析,精准捕捉顾客动线,提升购物体验与销售转化率。
953 2
|
机器学习/深度学习 人工智能 数据处理
AI计算机视觉笔记一:YOLOV5疲劳驾驶行为检测
如何使用云服务器AutoDL进行深度学习模型的训练,特别是针对YOLOV5疲劳驾驶行为训练检测
1027 0
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
1950 0
|
人工智能 开发者
黑神话:悟空中的AI行为树设计
【8月更文第26天】在《黑神话:悟空》这款游戏中,NPC(非玩家角色)的智能行为对于创造一个富有沉浸感的游戏世界至关重要。为了实现复杂的敌人行为模式,游戏开发团队采用了行为树作为NPC决策的核心架构。本文将详细介绍《黑神话:悟空》中NPC AI的设计原理,特别关注行为树的设计与实现。
1459 0
|
9月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2237 87
|
10月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1737 91
|
9月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
854 30

热门文章

最新文章