位置: 编程技术 - 正文

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

  • 印花税入什么科目核算成本
  • 公司从业人员包括老板吗
  • 总资产报酬率的计算公式
  • 以前年度损益调整账务处理分录
  • 上季度忘记申报个税了
  • 开票没有网络可以开票吗
  • 企业进行业务预算的编制技巧
  • 工会经费交税会计分录
  • 长期借款业务的思维导图
  • 企业购车保险费怎么做会计分录
  • 酒店前台冲账发生错误怎么办?
  • 流动负债中的短期借款
  • 两个单位同一个法人
  • 车间不生产时折旧怎么算
  • 企业用于在建工程购入的材料
  • 医院业务支出包括哪些内容科目
  • 个人所得税违规怎么处理
  • 一般纳税人当月只有进项没有销项怎么做账
  • 餐饮消费,碰到商家不愿意开发票怎么办?
  • 普票丢失的最新处理2019
  • 附加税退税如何做账
  • 异地工程需要预交税吗
  • 资本公积账务重组
  • 购买原材料发生的采购费用计入
  • 费用摊销的常用方法有哪些
  • 成本分摊会计
  • linux 数字
  • linux怎么翻译
  • 如何编制处置固定资产
  • 递延性负债
  • 清算公司资产怎么入账
  • 餐饮企业库存盘点表
  • 增值税检查的内容
  • 增值税缓交政策
  • 前端跨域解决方案设计
  • vue清空input file的值
  • 原始凭证必须来源于外部吗
  • 大学生web前端期刊有哪些
  • vue中的组件
  • thinkphp和php
  • php curlfile
  • 注销退税资格申请报告模板
  • ls -all命令
  • 报名附件怎么上传
  • 到对公账户的钱能立马转出去吗
  • python3.9怎么删除
  • 工会经费的会计分录2022
  • 暂估入库成本需要冲销吗
  • 海关缴款书上完税价格含增值税吗
  • 运输服务的增值税税率到底是6还是9
  • 可以抵扣增值税进项税额的有哪些
  • 代销手续费未付怎么处理
  • 送货单收据怎么写
  • 免税农产品发票怎么做账
  • 固定资产清理残料收入
  • 企业所得税研发费用加计扣除例题
  • 公司租赁个人车辆租金多少合适
  • 连锁药店成本会计
  • 单位购牙膏牙刷卫生纸怎么做账?
  • 财务会计制度及核算软件备案怎么填写
  • sql如何学
  • mysql优化查询
  • 如何删除windows media center
  • 使用u盘安装win10
  • win10使用技巧有什么用
  • 清理macbook清除系统垃圾
  • centos怎么设置
  • U盘写保护怎么处理
  • 电脑系统管理员已阻止这个应用怎么办
  • Olehelp.exe - Olehelp是什么进程 有什么用
  • Win7打印机安装
  • w10操作系统内部版本
  • 常用的linux发行版本有哪些
  • cocos2dx 3.5 ”hello world“解析
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • linux怎么查看tomcat位置
  • css颜色值正确的表达形式
  • jquery瀑布流代码
  • 安卓 自动化app
  • 怎么查行业代码是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设