位置: 编程技术 - 正文

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

  • 待办事项没有印章怎么办
  • 工资与社保的关系怎么写
  • 委外加工怎么做仓库账
  • 福利费专票进项可以抵扣吗
  • 个税系统如何增员
  • 支票报销是怎么操作的
  • 哪些企业税收优惠
  • 产品报废怎么做账
  • 农产品增值税进项税额核定扣除试点实施办法
  • 非同一控制下用什么法
  • 客户回款扣除的手续费会计分录怎么做?
  • 单位聘请的临时工请假旅游
  • 赠送电影票的说辞
  • 高新技术企业进项加计扣除
  • 出口没有退税的发票
  • 应交税金成负数
  • 税收编码规则
  • 饭店收停车费
  • 远洋船员如何征收个人所得税?
  • 转让商业承兑汇票显示银行拒绝交易
  • 特定行业职工取得的工资、薪金所得,如何计算个人所得税?
  • 城市生活垃圾处理与资源化利用工艺设计
  • 红字冲回上月收入
  • 转账时开户行写错了钱转出去了对方收不到
  • 营改增挂靠工程项目账务处理
  • 绩效奖金是否属于工资判决书
  • 返修产品如何账务处理
  • windows10如何设置屏幕常亮
  • 长期股权投资权益法四个明细科目
  • linux i
  • 全额拨款事业单位工资待遇
  • 应收账款转让分录
  • 质量扣款入什么科目
  • 租金没有收进来,房产税要交吗
  • edi文件怎么打开
  • 会计账簿登记错误怎么办
  • 金融企业贷款损失准备金计提比例
  • 微信小程序实现灯泡开关效果
  • 企业所得税季度申报表营业收入怎么填写
  • uni vuex
  • 应收账款的平均余额怎么计算
  • 为什么要结转成本?
  • 只有进项发票,没有销项可以吗
  • 事业单位会计结转分录
  • linux服务器环境搭建
  • 收到保险赔款入什么科目
  • sql优化的方法及思路
  • 出口货物退货如何入账
  • 不良资产处置公司违法吗
  • 给客户买的礼品要交税吗
  • 包工包料成本比例
  • 奖励罚款怎么做分录
  • 旅游,饮食业会议内容
  • mysql die
  • bios1962错误
  • xp系统的启动快捷键
  • mac可以远程连接windows吗
  • WeatherEye.exe - WeatherEye 是什么进程
  • onekey driver version是什么软件
  • mac锁定快捷键
  • mac 阿里旺旺怎么使用
  • linux里面怎么截屏
  • win8.1锁屏壁纸设置
  • 简述dom的组成
  • bootstrap 图表插件
  • javascript基础教程教材答案
  • android游戏开发框架
  • cocos2dx怎么用
  • ReactNative 之FlatList使用及踩坑封装总结
  • bat获取当前路径的值
  • javascriptz
  • Linux CentOS系统下安装node.js与express的方法
  • 将bat文件注册为应用程序
  • apk文件怎么使用
  • jquery自定义的方法有哪些
  • python搭建网页
  • js优化108条建议
  • 税务总局副局长饶
  • 江西国家税务局电子税务局
  • 湖北退役士兵退伍费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设