当前位置: 首页 > news >正文

国内哪个网站做批发的/教育培训加盟

国内哪个网站做批发的,教育培训加盟,中山优化网站,青海建筑人才网文章目录 前言素材插件一、基础使用二、敌人物理攻击三、敌人面向玩家四、敌人法术攻击五、随机进行攻击六、敌人不同的阶段推荐学习视频源码完结 前言 Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化…

文章目录

  • 前言
  • 素材
  • 插件
  • 一、基础使用
  • 二、敌人物理攻击
  • 三、敌人面向玩家
  • 四、敌人法术攻击
  • 五、随机进行攻击
  • 六、敌人不同的阶段
  • 推荐学习视频
  • 源码
  • 完结

前言

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时,处于第一阶段,敌人还是正常走前面的逻辑
在这里插入图片描述

推荐学习视频

如果还是不懂的小伙伴,我推荐两个视频,大家可以自行去学习
【视频1】使用行为树在UNITY中重现假骑士Boss战(空洞骑士)
【视频2】使用行为树在UNITY中重现大黄蜂Boss战(空洞骑士)

源码

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

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,于是最近才开始自习unity。如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我可能也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

相关文章:

【unity插件】使用BehaviorDesigner插件制作BOSS的AI行为树

文章目录 前言素材插件一、基础使用二、敌人物理攻击三、敌人面向玩家四、敌人法术攻击五、随机进行攻击六、敌人不同的阶段推荐学习视频源码完结 前言 Behavior Designer是一个行为树插件&#xff0c;是一款为了让策划&#xff0c;程序员&#xff0c;美术人员方便使用的可视化…...

概念解析 | 量子机器学习:将量子力学与人工智能的奇妙融合

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:量子机器学习。 量子机器学习:将量子力学与人工智能的奇妙融合 量子增强机器学习:量子经典混合卷积神经网络 量子机器学习是量子计算和机器学习的结合,它利用量子力学的特…...

【Cortex-M3权威指南】学习笔记4 - 异常

目录 实现 CM3流水线CM3 详细框图CM3 总线接口总线连接模板 异常异常类型优先级定义优先级组 向量表中断输入于挂起NMI中断挂起 Fault 类异常总线 faults存储器管理 faults用法 faults SVC 与 PendSV 实现 CM3 流水线 CM3 处理器使用 3 级流水线&#xff0c;分别是&#xff1a;…...

RISC-V(2)——特权级及特权指令集

目录 1. 特权级 2. 控制和状态寄存器&#xff08;CSR&#xff09; 2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程&#xff08;hart&#xff09;是运行在某个特权级上的&#xff0c;这个特权级被编码到一个或者多个 CSR&#xff08;control and status register&a…...

Linux——常用命令大汇总(带你快速入门Linux)

纵有疾风起&#xff0c;人生不言弃。本文篇幅较长&#xff0c;如有错误请不吝赐教&#xff0c;感谢支持。 &#x1f4ac;文章目录 一.终端和shell命令解析器终端和shell命令解析器概述终端提示符的格式常用快捷键 二.Linux命令格式帮助文档&#xff1a;man 三.目录基础知识Wind…...

记录 使用 git 克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )

解决方法&#xff1a; 1. 新建空文件夹->右键->点击 Git Bash Here2. 输入 cd C&#xff1a;3. 输入 cat ~/.ssh/id_rsa.pub4. 输入 ssh-keygen重复回车&#xff0c;生成一个矩形&#xff0c;则说明公钥已经生成了。重复步骤3&#xff0c;生成publickey&#xff0c;右键…...

kafka---- zookeeper集群搭建

1.准备工作: ##准备3个节点&#xff0c;要求配置好主机名称&#xff0c;服务器之间系统时间保持一致 ##注意/etc/hostname 和/etc/hosts 配置主机名称(在这个里我准备Prac-zk-133, Prac-zk-134 , Prac-zk-135二节点) vim /etc/hosts #保证可以通过主机名互通 添加格式为IP 主…...

linux安装firefox

1.下载对应包 https://www.mozilla.org/en-US/firefox/all/#product-desktop-release 2. 挂载桌面链接(如果/usr/bin/firefox下有的话,先删除) ln -s /opt/firefox/firefox /usr/bin/firefox 3.执行以下命令&#xff0c;即可启动Firefox客户端&#xff1a; firefox...

【MySQL】基础语法总结

MySQL 基础语句 一、DDL 数据库定义语言 1.1CREATE 创建 1.1.1 创建数据库 语法结构 CREATE DATABASE database_name;示例 CREATE DATABASE demo;1.1.2 创建表 语法结构 CREATE TABLE 表名 (列1 数据类型,列2 数据类型,... );示例 CREATE TABLE new_user (id INT PRIMARY KE…...

【玩玩Vue】使用el-menu作为菜单时,通过一二级路由控制菜单高亮

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、Vue路由二、路由一级控制高亮&#xff08;常用&#xff09;1.vue中路由文件2.网址样式3.Vue文件4.$route的内容 三、路由二级控制高亮…...

9.2 【C语言】使用结构体数组

一个结构体变量中可以存放一组有关联的数据&#xff08;如一个学生的学号、姓名、成绩等数据&#xff09;&#xff0c;如果有10个学生需要参加运算&#xff0c;显然应该用数组&#xff0c;这就是结构体数组。 9.2.1 定义结构体数组 例9.3 有三个候选人&#xff0c;每个选民只…...

leetcode原题: 最小值、最大数字

题目1&#xff1a;最小值 给定两个整数数组a和b&#xff0c;计算具有最小差绝对值的一对数值&#xff08;每个数组中取一个值&#xff09;&#xff0c;并返回该对数值的差 示例&#xff1a; 输入&#xff1a;{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出&#xff1a;3&…...

Prompt2Model: Generating Deployable Models from Natural Language Instructions

本文是LLM系列文章&#xff0c;针对《 Prompt2Model: Generating Deployable Models from Natural Language Instructions》的翻译。 Prompt2Model&#xff1a;从自然语言指令生成可部署模型 摘要1 引言2 Prompt2Model框架3 参考实现4 实验设置5 实验结果6 讨论与结论不足道德…...

前端埋点 sendBeacon 替代方式

看英文文档真的很重要 sendBeacon 限制比较多, 容易跨域, 跨域时候还必须指定请求头, 不能使用通配符来解决跨域 文档地址 文档里面说 fetch 其实可以代替 sendBeacon 原文: Note: For use cases that need the ability to send requests with methods other than POST, or …...

面试官问我MySQL和MariaDB的联系和区别,这我能不知道?

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…...

1.网络空间搜素引擎

网络空间搜素引擎 https://cybermap.kaspersky.com/cn 世界所以带有ip的网络设备互联组成的空间叫做网络空间 地址 &#xff1a;shodan.io 简介 &#xff1a; 这句话还是有点东西得 。 区别&#xff1a; 平常得搜素引擎主要搜网页&#xff0c;shadan可以搜所以带有ip地址…...

《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌全栈环境IDX,微软在Excel推出Python

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV1ju4y1D7A8/ 《安富莱嵌入式周报》第321期&#xff1a;开源12导…...

前端开发必备的网站

前端开发必备的网站及官网 说明&#xff1a; 这里记录了我本人平时开发所用到的网站&#xff0c;对我还是有帮助的&#xff0c;后续会接着补充进来&#xff0c;一方面是为了记录&#xff0c;另一方面也可以帮助到大家… 网站名称及描述网址Elememt-ui (组件库)Elememt-ui&…...

Java运行时jar时终端输出的中文日志是乱码

运行Jar时在控制台输出的中文日志全是乱码&#xff0c;这是因为cmd/bash默认的编码是GBK&#xff0c;只要把cmd的编码改成UTF-8即可 两种方式修改&#xff1a;临时修改和注册表永久修改 临时修改 只对当前的cmd页面有效&#xff0c;关闭后重新打开都会恢复成GBK, 打开cmd&am…...

Vue框架--Vue中el和data的两种写法

data与el的2种写法 1.el有2种写法 (1).new Vue时候配置el属性。 (2).先创建Vue实例&#xff0c;随后再通过vm.$mount(#root)指定el的值。 2.data有2种写法 (1).对象式 (2).函数式 如何选择&#xff1a;目前哪种写法都可以&#xff0c;以后学习到组件时&#xff…...

【数据结构】 二叉树面试题讲解->贰

文章目录 &#x1f30f;引言&#x1f384;[二叉树遍历](https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef?tpId60&&tqId29483&rp1&ru/activity/oj&qru/ta/tsing-kaoyan/question-ranking)&#x1f431;‍&#x1f464;题目描述&#…...

C和SystemVerilog联合仿真

想要联合仿真一个c程序和verilog表示的硬件&#xff0c;可以用如下方法&#xff08;DPI&#xff09;&#xff1a; 先写一个.c文件funcs.c #include <stdio.h> #include "svdpi.h"extern int sayHello();void something() {printf("something\n");s…...

15-mongodb

一、 MongoDB 简介 1 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库。由 C语言编写。在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系…...

CSS学习笔记02

CSS笔记02 美化网页元素 为什么要美化网页 目的&#xff1a; 有效的传递页面信息美化网页、页面漂亮、才能吸引用户突显页面的主题提高用户的体验 span标签 span标签是短语内容的通用行内容器&#xff0c;它本身并没有任何特殊语义。 通常我们使用span标签来把我们想要重…...

为什么Java接口可以多继承,而类不可以?

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…...

自动化信息收集工具 水泽 使用教程

自动化信息收集工具 水泽 使用教程 1.水泽简介&安装2.使用教程3.测试使用1.水泽简介&安装 一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等 开发语言:Python3 水泽下载地址 安装前置准备: 当前用户对该目录有写权…...

2023年全国职业院校技能大赛(高等职业教育组)“信息安全管理与评估”理论技能答案

理论技能与职业素养&#xff08;100分&#xff09; 2023年全国职业院校技能大赛&#xff08;高等职业教育组&#xff09; “信息安全管理与评估”理论技能 【注意事项】 1.理论测试前请仔细阅读测试系统使用说明文档&#xff0c;按提供的账号和密码登录测试系统进行测试&am…...

MATLAB 动态图GIF

MATLAB 动态图GIF 前言一、创建动态图&#xff08;动态曲线、动态曲面&#xff09;1. 创建动画曲线&#xff08;MATLAB animatedline函数&#xff09;2. 创建动画曲面 二. 保存动态图三、完整示例1. 动态曲线&#xff08; y s i n ( x ) ysin(x) ysin(x)&#xff09;2. 动态曲…...

ChatGPT⼊门到精通(4):ChatGPT 为何⽜逼

⼀、通⽤型AI 在我们原始的幻想⾥&#xff0c;AI是基于对海量数据的学习&#xff0c;锻炼出⼀个⽆所不知⽆所不能的模 型&#xff0c;并借助计算机的优势&#xff08;计算速度、并发可能&#xff09;等碾压⼈类。 但我们⽬前的AI&#xff0c;不管是AlphaGo还是图像识别算法&am…...

数据分析基础-数据可视化学习笔记03-可视化的符号与表示-图形符号学

概念 图型符号学&#xff08;Cartographic Symbolization&#xff09;是地图学领域中的一个重要概念&#xff0c;涉及到如何使用不同的符号、颜色、图案和标记来在地图上表示地理信息和数据。图型符号学旨在传达地理信息&#xff0c;使得地图能够清晰、有效地传达各种空间数据…...