位置: 编程技术 - 正文

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# 查找字符串)

  • 小规模收到专票怎么处理
  • 中级会计实务主观题
  • 支付办公楼维修费
  • 企业留存的盈余公积属于哪个会计科目
  • 发票代签怎么处理
  • 加计抵减其他收益汇算清缴填哪里
  • 按利润总额的25%计算应交所得税
  • 存货暂估入账会引起存货账面价值发生增减变动吗
  • 如何选一般纳税人还是小规模纳税人合作?
  • 服务外包合同印花税
  • 废旧物资增值税税收优惠政策
  • 哪些政府补助可以做收入
  • 火车票增值税什么意思
  • 附加税的税率表
  • 销售不动产增值税计税依据
  • 资金占用费如何开票
  • 进项税额转出会计分录月末如何结转
  • 个税系统怎么查个人申报数据明细
  • 公司加农户经营模式
  • win10系统如何开启蓝牙
  • php面试算法
  • cachelib
  • win10任务栏变成黑色
  • mac屏幕横过来了
  • 失控发票的企业如何处理
  • 营改增后房地产企业账务处理
  • 一次摊销法优缺点
  • win10显示未充电
  • win7系统把桌面更改为d盘
  • $(window).resize
  • vue3.0解决跨域
  • 芬兰东部的国家有哪些
  • ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)
  • php sql语句
  • 总分机构分摊比例如何确定
  • vite怎么打包
  • html怎么嵌套php
  • Chrome谷歌浏览器网页
  • css垂直导航栏
  • php与java区别
  • 功能强大的词语
  • 小规模纳税人按简易计税法计税时也可以进行税额的抵扣
  • 外购货物用于在建工程分录
  • 当月开出的销项票一定要当月抵扣吗
  • 哪些公司不交五险一金
  • 劳务费800以上扣税标准
  • vant的Uploader 文件上传,图片数据回显问题
  • 政府专项基金是什么
  • 企业固定资产贷款二押的风险
  • 生产企业的生产许可证
  • 差额征税指的是什么税种
  • 核定征税是什么意思
  • 提取折旧的意义
  • 已付款未收到货怎么办
  • 购买金税盘的费用会计分录
  • 资本公积可用于弥补企业亏损
  • 上月有留抵税额本月怎么申报
  • 会计记账中借方和贷方
  • sql没有数据库
  • 深入解析linux内核
  • windows7版本支持功能最少的
  • 红帽子在工地上是什么级别
  • win10远程桌面连接教程
  • windows7怎么给电脑加密码
  • android 音频焦点丢失 媒体按键
  • jquery简单例子
  • android源码分析实录
  • jquery技巧
  • jquery获取当前对象
  • ajax成功不走success
  • JavaScript中的数据类型
  • jquery树形菜单
  • jquery设置隐藏属性
  • 变更税务局三方协议
  • 重庆市房产交易信息网
  • 授课费800元个税要收吗
  • 福建省农业厅副厅长梁
  • 税收通知
  • 广东省广州市国家税务局
  • 小店区税务大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设