位置: 编程技术 - 正文

Unity3D怪物基本AI(unity怪物自动攻击)

编辑:rootadmin
欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频,我们致力于打造业内unity3d培训、学习第一品牌。 所谓怪物AI就是指我们为怪物编写一定的算法,使其可以具备一定程度的智能化,以增强游戏的可玩性。在一般的RPG游戏中,怪物通常在一个游戏设定的范围内巡逻,当玩家进入怪物的警戒范围时,怪物就会由巡逻状态转变为攻击状态,向玩家进行攻击,那么,我们今天就来实现一个简单的怪物AI吧,下面我们一起来看代码:public class AI : MonoBehaviour {//定义怪物的四种状态:站立、行走、奔跑、无所事事public const int STATE_STAND=0;public const int STATE_WALK=1;public const int STATE_RUN=2;//怪物当前状态private int NowState;//游戏角色public GameObject Hero;//怪物思考时间public const int AI_THINK_TIME=2;//触发怪物攻击的临界距离public const int AI_ATTACT_DISTANCE=;//上一次思考的时间private float LastThinkTime;void Start () {}void Update () {//当敌人与怪物间的距离小于攻击范围半径的时候if(Vector3.Distance(transform.position,Hero.transform.position)<AI_ATTACT_DISTANCE){//敌人开始奔跑this.GetComponent<Animation>().Play("run");//敌人进入奔跑状态NowState=STATE_RUN;//使敌人面向角色transform.LookAt(Hero.transform);//向玩家靠近transform.Translate(Vector3.forward*Time.deltaTime * 5);}else{//当当前时间与上一次思考时间的差&#;大于怪物的思考时间时怪物开始思考if(Time.time-LastThinkTime>AI_THINK_TIME){//开始思考LastThinkTime=Time.time;//获取0-3之间的随机数字int Rnd=Random.Range(0,2); //根据随机数&#;为怪物赋予不同的状态行为switch(Rnd){case 0://站立状态this.GetComponent<Animation>().Play("idle");NowState=STATE_STAND;break;case 1://行走状态//使怪物旋转以完成行走动作Quaternion mRotation=Quaternion.Euler(0,Random.Range(1,5)*,0);transform.rotation=Quaternion.Slerp(transform.rotation,mRotation,Time.deltaTime*);//播放动画this.GetComponent<Animation>().Play("walk");//改变位置transform.Translate(Vector3.forward*Time.deltaTime * 3);NowState=STATE_WALK;break;case 2://奔跑状态this.GetComponent<Animation>().Play("run");transform.Translate(Vector3.forward*Time.deltaTime * 5);NowState=STATE_RUN;break;} }}}}

推荐整理分享Unity3D怪物基本AI(unity怪物自动攻击),希望有所帮助,仅作参考,欢迎阅读内容。

Unity3D怪物基本AI(unity怪物自动攻击)

文章相关热门搜索词:unity3d打怪游戏,unity 怪物ai,unity 怪物ai,unity击中怪物加一分,unity 怪物ai,unity3d怪物击退代码,unity3d怪物击退代码,unity 怪物ai,内容如对您有帮助,希望把文章链接给更多的朋友!

C#找到子物体的父对象 this.transform.parent.gameObject可以用在点击按钮,然后关闭整个父物体另外,transform好像用处挺大的,以后多注意

Unity3D音频的制作 音频监听与音频源组件游戏的音频可以分为背景音乐与环境音效两种。Unity3D中目前支持的音频剪辑中有四种音乐式。Mp3、Ogg:合适较长音频,作为背景

unity开发相关环境(vs、MonoDevelop)windows平台编码问题 (原地址):

标签: unity怪物自动攻击

本文链接地址:https://www.jiuchutong.com/biancheng/377275.html 转载请保留说明!

上一篇:Unity界面、地形和光源、材质、预设体(unity地形少了三个键)

下一篇:C#找到子物体的父对象(c# 查找字符串)

  • 建筑劳务发票是全额抵扣吗
  • 进口关税增值税税率
  • 一般纳税人资格认定条件
  • 增值税专票开完就扣税是吗
  • 广告公司小规模税率
  • 购买非专利技术发生的手续费计入什么科目
  • 将外购的货物赠送给儿童福利院,进项税
  • 不动产在建工程使用的外购物资可以抵扣吗
  • 以现金形式发放的福利怎么入账
  • 机器维修费的会计科目
  • 管理人员工资计入管理费用吗
  • 材料成本差异分配率
  • 出口退税银行账户备案
  • 金税盘怎么清盘视频
  • 付现金可以开专用发票吗
  • 资产类账户的期末余额计算公式
  • 进项票没开过来可以先开销项票吗
  • 注册资本变更需要去税务局吗
  • 免税和退税的区别出口企业
  • 高新企业境外所得缴纳企业所得税税率为多少
  • 应纳税所得额计算个税
  • 个人借单位的钱要交税吗
  • 收到工会经费返还如何做账
  • 收到进项专用发票会计分录
  • 苹果14发布会时间
  • 计提本月应交未交增值税
  • 广告费用属于损失吗
  • Windows11报sill idealTree buildDeps安装慢或者卡顿解决方案
  • 相关企业之间的竞争
  • 车辆购置税的纳税义务发生时间为
  • 不动产司法拍卖税费
  • 即征即退增值税属于政府补助吗
  • php修改图片尺寸
  • 阿里云主机php版本
  • 公司注销账面实收资本如何处理
  • 公司发放加班补贴 固定金额
  • uniapp scroll-view基础用法
  • 文件不知道在哪怎么找
  • 什么是资产评估的价值类型
  • mysql分表数量取决于什么
  • python 覆盖
  • mongodb常见问题
  • 应收应付款项
  • 不含税货款要开发票怎么弄
  • 企业所得税营业收入怎么填
  • 公司捐赠给个人公司要交税吗
  • 政府补贴需要还吗
  • 个人社保的缴纳时间
  • 电子发票如何作废,具体怎么操作
  • 专票没有抵扣联可以作废吗
  • 其他应付款辅助是供应商还是客户
  • 金蝶财务软件怎么冲销费用
  • 防暑降温费是不是必须发
  • 出口退税没有及时申报
  • 国有企业无偿划转股权缴纳印花税
  • 以融资租赁形式的车贷没还上可以拖车吗
  • 投资性房地产从成本模式转为公允价值模式
  • 纳税人为风险纳税人怎么办
  • 红字发票最多几个月
  • 发票认证是为了什么
  • 单位车辆保险费
  • 原始凭证按来源分为
  • mysql5.7bug
  • win8系统如何关机
  • 微软的定时炸弹就是Windows XP
  • linux系统的文件怎么导出来
  • 系统占用90g怎么删
  • ip地址xp系统
  • 4G内存时linux的mtrr表不正确的解决
  • linux 如何查看
  • win7系统怎么关闭屏幕保护
  • 批处理系统定义
  • 浏览器环境下的事件循环
  • Java之CyclicBarrier使用
  • jqueryfor循环
  • 政府补贴 收入
  • 国家税务系统
  • 消费税的税目有什么
  • 盐城购车补贴2024
  • 北京税务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设