位置: 编程技术 - 正文

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

  • 采矿权承包出去资源税
  • 房地产企业利息资本化的条件
  • 个人出租不动产税率
  • 有限责任公司的股东人数为多少
  • 企业给员工的福利取消了可以劳动仲裁么
  • 其他资本公积可以是负数吗
  • 发票作废后对方不退回抵扣联怎么办
  • 加工企业怎么记账
  • 普通发票作废要本人去拿吗
  • 公司承担个人社保部分福利
  • 小规模季度申报怎么申报
  • 音乐茶座取什么名字好呢
  • 企业充值是什么意思
  • 公司之间借钱不还违法吗
  • 工程项目中的设备主要包括什么和什么
  • 租车补贴记入工资的会计处理怎么做?
  • 库存商品低价销售违法吗
  • 审计调整tb
  • 一般纳税人出售固定资产税率
  • 未交税金期末数
  • 小规模企业是否需要备案登记
  • 营改增以后小规模纳税人如何纳税
  • 不征税收入税屋
  • 问福利费的发票如果是增值税专用发票,增值税可以抵扣吗?
  • 双倍余额折旧法
  • 物业公司停车费怎么开票
  • 小规模纳税人发票图片
  • 不动产分期转出要交税吗
  • 进项发票认证抵扣会计分录
  • 出口退税款的账户是什么
  • 计提外币借款利息
  • 借用下属单位人员违反什么政策
  • windows10如何设置输入法
  • 销售回款率的具体指标
  • 基本户里面的钱的用途
  • 财政补贴会计入养老金一起发放吗
  • 收到完税凭证怎么做账
  • 哪些行业可以简易征收增值税
  • win10平板模式怎么显示桌面
  • 旅行社专票开票内容的规定
  • 进出口公司如何做账
  • php获取get请求数据
  • php常用工具
  • 网页单行文本框
  • php获取年月日
  • 总账是按年还是按月结账
  • js位运算有什么用
  • 土地开发是什么
  • 增值税的征收范围包括销售不动产
  • 临时设施账务处理分录
  • 季度销售额未超过30万元 季度中间
  • 子公司注销时的账务处理
  • 个人社保应不应该缴纳
  • 去年的管理费用多做了今年怎样调账
  • 金税三期升级功能2020
  • 纯外贸企业进项税怎么抵扣
  • 买二手设备需要签合同吗
  • 关于财务报销的法律
  • 办公室租金发票可以扺增值税吗
  • 固定资产实务训练题目及答案
  • sql实现行列转换
  • windowsxp休眠设置
  • linux系统安装yum
  • initcause
  • 还原windows是什么意思
  • xp的命令提示符在哪
  • linux如何加载动态库
  • Linux基本命令使用
  • perl常用函数
  • cocos2d schedule
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • js插件写法
  • js绑定onchange
  • nodejs child_process
  • Node.js中HTTP模块与事件模块详解
  • python 随机ua
  • 厦门市无纸化税务局官网
  • 大渡口在重庆吗
  • 一般纳税人的进项票必须当月认证吗?
  • 缴纳耕地占用税的好处
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设