Enemy AI Unity2D-小怪在固定范围类进行巡逻
Enemy AI Unity2D-小怪在固定范围类进行巡逻
- 前言
- 一、场景准备
- 二、编写代码
- 总结
前言
本次单纯是巡逻移动代码,可自行添加攻击等行为
一、场景准备
准备如下一个固定场景
二、编写代码
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class EnemyFlyAI_2 : MonoBehaviour
{public float flySpeed = 5.0f;public float circleRadius;private Rigidbody2D rb;public GameObject topCheck, wallCheck, rootCheck;public LayerMask whatIsGround;public bool facingRight = true, isToucingWall, isToucingTop, isTouchingRoot;public float dirX = 1.0f, dirY = 0.25f;void Start(){rb = GetComponent<Rigidbody2D>();}void Update(){CheckSurrounding();HitLogic();ApplyMovement();}private void CheckSurrounding(){isToucingWall = Physics2D.OverlapCircle(wallCheck.transform.position, circleRadius, whatIsGround);isTouchingRoot = Physics2D.OverlapCircle(rootCheck.transform.position, circleRadius, whatIsGround);isToucingTop = Physics2D.OverlapCircle(topCheck.transform.position, circleRadius, whatIsGround);}private void HitLogic(){if (isToucingWall && facingRight){Flip();}else if (isToucingWall && !facingRight){Flip();}if (isTouchingRoot){dirY = 0.25f;}else if (isToucingTop){dirY = -0.25f;}}private void ApplyMovement(){rb.velocity = new Vector2(dirX, dirY) * flySpeed;}private void Flip(){facingRight = !facingRight;transform.Rotate(new Vector3(0.0f, 180.0f, 0.0f));dirX = -dirX;}private void OnDrawGizmos(){Gizmos.color = Color.blue;Gizmos.DrawWireSphere(wallCheck.transform.position, circleRadius);Gizmos.DrawWireSphere(topCheck.transform.position, circleRadius);Gizmos.DrawWireSphere(rootCheck.transform.position, circleRadius);}
}
设置如下:
总结
最后完成能使一个怪物能在被墙体包裹的范围内进行移动,后续攻击行为等可以自行添加。欢迎各位小伙伴进行分享更好的方法,例如怎么把它固定在不是墙的范围内移动等等。
Enemy AI Unity2D-小怪在固定范围类进行巡逻相关推荐
- Enemy AI Unity2D-平台巡逻移动小怪
Enemy AI Unity2D-平台巡逻移动小怪 前言 场景 二.编写代码 总结 前言 简单编写一个unity2D循环移动小怪(纯移动) 场景 下图为一个简单测试场景: 二.编写代码 代码如下(示例 ...
- AI:大模型领域最新算法SOTA总结、人工智能领域AI工具产品集合分门别类(文本类、图片类、编程类、办公类、视频类、音频类、多模态类)的简介、使用方法(持续更新)之详细攻略
AI:大模型领域最新算法SOTA总结.人工智能领域AI工具产品集合分门别类(文本类.图片类.编程类.办公类.视频类.音频类.多模态类)的简介.使用方法(持续更新)之详细攻略 导读:由于ChatGPT. ...
- 它是AI的终极答案吗?类脑芯片简史
今年8月,有个消息轰动了中国科技界,尤其是AI圈.由中国科研团队研发的"天机"芯片登上了<自然>杂志封面.相关文章展示了清华大学施路平团队研发的世界首款异构融合类脑芯片 ...
- AI生成和修改音频音乐类工具网站集合
AI时代,有最强问答ChatGPT,有文本生成图像的Stable Diffusion,Midjourney,当然也少不了AI生成和修改音频的各种工具,我们整理出其中最具影响力的,并且可能最用得上的一些 ...
- 类人机器人AI系统进阶模型 - 试论计算机模拟意识
类人机器人AI系统进阶模型 - 试论计算机模拟意识 一.思维不可超越原理 思维具有不可超越性,这是一个客观存在. 任何理论都源于思维,思维是不可超越的. 无论宇宙多么浩渺无际,大自然多么变化无常, 人 ...
- 知物由学 | AI与黑产的攻守之道,详解攻击类文字图像的检测
导读:随着 OCR 系统识别能力的提升,专业对抗 OCR 的黑产也越来越多,这个过程中 AI 如何抵御黑产攻击类的文字图像?本文通过分享相似性特征训练的常见算法,并选择了其中一些有代表性的工作进行介绍 ...
- 世界类脑AI巨系统研究综述,论ET大脑是不是全球首个类脑架构AI
前言:2017年12月20日阿里云云栖大会提出ET大脑,并宣称为全球首个类脑架构AI,本文详细介绍了类脑AI系统的理论研究和发展现状,分析了ET大脑理论的沿袭与借鉴.并指出企业为提升影响里推动新概念新 ...
- 年末回顾:2021年 AI 领域十大研究趋势及必读论文
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编 | 小轶,Yimin_饭煲 在本文中,我们将梳理近百篇的最新深度学习论文,以总结出 ...
- 机器学习平台跃迁,AI中台才是大势所趋
本文转载自公众号"宜信技术学院",原标题为<AI中台:一种敏捷的智能业务支持方案>. 随着"数据中台"的提出和成功实践,各企业纷纷在"大中 ...
最新文章
- 上海沙龙 - 接口测试自动化经验分享
- 5菜鸟教程_XPLANE10菜鸟基础教程系列 飞机、机场以及天气的设置
- 不要对对象进行粗暴的等号赋值
- Pixhawk代码分析-准备
- 加载torchvision中预训练好的模型并修改默认下载路径
- CTU 2017 J - Punching Power (二分图匹配)
- 项目Wiki的选择和配置
- Android 5.0 屏幕录制/截屏
- linux 进程意外关闭,Webdriver异常:进程意外关闭,状态为1
- micropython stm32f429_[MicroPython]STM32F407开发板控制BMP180测量气压
- python爬取微博评论点赞数_爬取新浪微博评论及点赞数并存储为excel的.csv格式
- delphi java aes_Delphi AES加密(转)
- uniapp小程序开发设置系统状态栏高度、全屏背景图设置
- Scala学习笔记(2)-基础语法
- 数据透视表 | 字段的组合
- 【Note】微信小程序js使用农历(一行代码)
- pymysql获取要查询的字段名(列名)
- 2019-6浙江工业大学计算机学院转专业二志愿机试题目
- nginx通过获取环境变量实现动态IP代理配置
- 中文字型设计新思路--人工智能与中文字型设计
热门文章
- JSP+SQL网上书店设计(源代码+论文)
- 内置MOS升压芯片FP6293 双节锂升压输出8.4V/1A
- 模拟火车订票系统(Python)
- ERROR: ORA-12560: TNS: 协议适配器错误
- POS机刷卡处理密码的过程
- Java编写一个计算各种形状的面积和周长的程序
- 电脑开机卡在欢迎界面进不去?解决办法。
- 武汉UI设计薪资怎么样?入行容易吗?
- linux系统的6000端口是什么,Linux操作系统有哪些常用端口?
- 服务器显示网络上有重名,通过域名访问共享,提示由于网络上有重名,没有连接的解决方法...