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

简介: 【推荐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

目录
相关文章
|
19天前
|
人工智能 JSON Rust
用 Rust 实现敏感信息拦截插件,提升 AI 网关安全防护能力
本⽂对敏感信息拦截插件的使用方式和实现原理进行了简单介绍,它能够自动检测并处理请求和响应中的敏感词,有效防止敏感信息泄露。通过对不同数据范围的支持和灵活的配置选项,该插件能够适应各种应用场景,确保数据的安全性和合规性。
|
20天前
|
人工智能 C++ 开发者
verilog vscode 与AI 插件
【9月更文挑战第11天】在Verilog开发中,使用Visual Studio Code(VS Code)结合AI插件能显著提升效率。VS Code提供强大的编辑功能,如语法高亮、自动补全和代码格式化;便捷的调试功能,支持多种调试器;以及丰富的插件生态。AI插件则可自动生成代码、优化现有代码、检测并修复错误,还能自动生成文档。常用插件包括Verilog AI Assistant和Verilog Language Server,可根据需求选择合适的工具组合,提高开发效率和代码质量。
|
2月前
|
传感器 开发工具 vr&ar
ManoMotion⭐二、Unity手势识别插件简介,及效果录屏
ManoMotion⭐二、Unity手势识别插件简介,及效果录屏
|
1月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
48 0
|
2月前
|
人工智能 开发者
黑神话:悟空中的AI行为树设计
【8月更文第26天】在《黑神话:悟空》这款游戏中,NPC(非玩家角色)的智能行为对于创造一个富有沉浸感的游戏世界至关重要。为了实现复杂的敌人行为模式,游戏开发团队采用了行为树作为NPC决策的核心架构。本文将详细介绍《黑神话:悟空》中NPC AI的设计原理,特别关注行为树的设计与实现。
79 0
|
2月前
|
人工智能 自然语言处理 Linux
免费ChatGPT4o灵办AI可体验浏览器插件
灵办AI就是您所需的最佳助手!我们为您带来了一款多功能AI工具,ChatGPT4o不仅能为您提供精准翻译,还能满足您的对话需求、智能续写、AI搜索、文档阅读、代码生成与修正等多种需求。灵办 AI,真正让工作和学习变得轻松高效!一款多功能智能助手,旨在提升工作和学习效率。它提供实时翻译、对话问答、搜索、写作和网页阅读等服务,支持多种浏览器和操作系统,帮助用户随时获取信息,打破语言障碍,优化内容创作和信息处理。
|
2月前
|
Web App开发 人工智能 iOS开发
灵办AI助手Chrome插件全面评测:PC Web端的智能办公利器
《灵办AI助手:Mac OS下的高效办公利器》 灵办AI助手是一款专为提升工作效率而设计的浏览器插件,适用于Chrome、Edge等主流浏览器,在Mac OS系统中表现尤其出众。本文将深入评测其核心功能,包括网页翻译、AI对话、AI阅读及代码辅助等,展示如何在实际工作中运用这些功能来提升效率。此外,文中还提供了详细的安装与设置指南,帮助读者轻松上手这款办公神器。无论你是学生、职场人还是开发者,灵办AI助手都能成为你提高生产力的理想选择。
93 0
|
3月前
|
人工智能 JavaScript 开发工具
【完全免费】VS Code 最好用的 12 款 AI 代码提示插件!!!
🎉 探索12款免费VSCode AI代码提示插件:Codeium、Codegeex、CodeFuse、TONGYI Lingma、Comate、iFlyCode、Fitten Code、Bito AI、Mintlify Doc Writer、Kodezi AI、aiXcoder、IntelliCode。这些插件提供智能补全、代码生成、注释、优化,支持多种语言,提升编程效率!🚀👩‍💻👨‍💻
4626 0
|
7天前
|
机器学习/深度学习 数据采集 人工智能
探索AI技术在文本生成中的应用与挑战
【9月更文挑战第26天】本文深入探讨了AI技术在文本生成领域的应用,并分析了其面临的挑战。通过介绍AI文本生成的基本原理、应用场景以及未来发展趋势,帮助读者全面了解该技术的潜力和局限性。同时,文章还提供了代码示例,展示了如何使用Python和相关库实现简单的文本生成模型。
30 9
|
3天前
|
机器学习/深度学习 人工智能 供应链
精准农业:AI在农业生产中的应用
【10月更文挑战第1天】随着科技的发展,人工智能(AI)逐渐渗透到农业领域,通过精准监控和管理提升了农业生产效率和质量。AI在精准农业中的应用包括:精准农田管理,如个性化灌溉和施肥;作物病虫害识别与预测,及时发现并预防病虫害;智能农机自动化作业,提高作业效率;农产品质量检测与分类,确保品质;农业供应链优化,预测需求和价格。尽管面临数据收集、技术接受度等挑战,AI在精准农业中的未来前景广阔,有望实现全程自动化作业、数据驱动决策及智能预警系统,推动农业可持续发展。
22 11
下一篇
无影云桌面